24

フロー (プロトコル rtsp、コーデック h264) をファイル (コンテナー mp4) に保持するにはどうすればよいですか? つまり、エンドレス ストリーム (CCTV カメラを使用) を入力すると、5 ~ 10 分の記録時間の mp4 形式のファイルが出力されます。

OS: debian、ubuntu ソフトウェア: vlc、ffmpeg (avconv)

現在、このスキームが使用されています。

cvlc rtsp://admin:admin@10.1.1.1:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4

ただし、連続してビデオを録画することはできません (再起動の間に、vlc は約 10 秒間のライブ ビデオを失います)。

4

3 に答える 3

26

サーバー障害に関するこの質問と回答を参照してください。つまり、ツールを切り替えます。avconvはあなたが望むことをします。(ffmpegはavconvになりました。)

あなたが探している機能はセグメンテーションと呼ばれます。コマンドラインは次のようになります。

avconv -i rtsp://10.2.2.19/live/ch01_0 -c copy -map 0 -f segment -segment_time 300 -segment_format mp4 "capture-%03d.mp4"

于 2012-08-18T12:35:04.280 に答える
-2

Team work: Split the video source and have two processes alternate recording the time frame. You'll want to test how variable the startup time is, and how variable it is. You might want to set the processes priority to realtime to reduce start time variance. There will be some overlap but that sound like it might be ok for your application from what I infer. Example:

p1: sRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRR...
p2: wwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwww...

                    time -->

s: startup
R: running
w: wait
于 2012-05-12T11:51:47.650 に答える