2017-11-12 5 views
0

ffmpegという1つのインスタンスを使用して、複数のRTSPストリームをHLSに変換しようとしています。私が使用しているコマンドは次のとおりです:(複数の行に分割して読みやすくなっています)単一のffmpegインスタンスを使用して複数のRTSPストリームをHLSにトランスコードする - 動作しない

私が直面している問題は、ffmpegが同じビデオストリーム(url1)を両方のディレクトリm1と私は生成されたtsファイルを見ています。私は間違って何をしていますか? url1とurl2の両方が有効です。 2つの異なるffmpegプロセスにコマンドを分割すると、正常に動作します。

ありがとうございました。

/usr/local/bin/ffmpeg -i rtsp://url1 -fflags flush_packets 
-max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3 
-hls_segment_filename m1/video%03d.ts -hls_flags delete_segments 
-vcodec copy -y m1/video1.m3u8 
-i rtsp://url2 -fflags flush_packets 
-max_delay 2 -flags -global_header -hls_time 2 -hls_list_size 3 
-hls_segment_filename m2/video%03d.ts -hls_flags delete_segments 
-vcodec copy -y m2/video2.m3u8 

答えて

1

ffmpegのは、出力に対する入力のルーティングを示すように設定-mapオプションでフォームの構文

ffmpeg -i input1 -i input2 ... -i inputn output1 output2 ... outputn 

を必要とします。

ので、

-i rtsp://url1 -i rtsp://url2 
-map 0 -fflags flush_packets -max_delay 2 -flags -global_header 
-hls_time 2 -hls_list_size 3 -hls_segment_filename m1/video%03d.ts 
-hls_flags delete_segments -vcodec copy -y m1/video1.m3u8 
-map 1 -fflags flush_packets -max_delay 2 -flags -global_header 
-hls_time 2 -hls_list_size 3 -hls_segment_filename m2/video%03d.ts 
-hls_flags delete_segments -vcodec copy -y m2/video1.m3u8 
+0

ありがとうございました。あなたが答えている間に私はちょうど地図を見つけました - それは私の問題を解決 – user1361529

関連する問題