フロー(プロトコルrtsp、コーデックh264)をファイル(コンテナmp4)に保持するにはどうすればよいですか?つまり、入力時にエンドレスストリーム(CCTVカメラを使用)と、5〜10分の記録時間のmp4形式の出力ファイルです。
OS:debian、ubuntuソフトウェア:vlc、ffmpeg(avconv)
現在、このスキームが使用されています:
cvlc rtsp://admin:[email protected]:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4
ただし、ビデオを連続して記録することはできません(再起動の間、vlcはライブビデオの約10秒の損失です)
VLCは、出力ファイルのセグメント化をサポートしていません。 ffmpegは出力をサポートしているため、直接使用することができます segmentation :
ffmpeg -i rtsp://admin:[email protected]:554/ch1-s1 -c copy -map 0 -f segment -segment_time 600 -segment_format mp4 "out%03d.mp4"
オーディオファイルを10分のセグメントに分割する方法(つまり、カーステレオなどの巨大な長いファイルから多数の短いファイル)を知ることは、avconvのマニュアルページでは十分な説明値がないため、役立つ場合があります。以下は、ファイル "interview.mp3"を分割するための動作するシェルコマンドラインです。より少ないパラメーター(マップ)を使用すると、ここでは機能しませんでした。一部のオーディオファイルには-map 0:0が必要です。出力のヒントをご覧ください。
avconv -i interview.mp3 -codec copy -map 0 -f segment -segment_format mp3 -segment_time 600 "iview%03d.mp3"