web-dev-qa-db-ja.com

2つのFFMPEGコマンドを同時に

2つのビデオをマルチキャストアドレスの2つの異なるポートにマルチキャストしたい。一度に1つのポートに1つのビデオを送信できます。しかし、両方のビデオが同時にポートに送信されるコマンドが必要です。コマンドを使用しました

{ffmpeg -i  stream1_small.ts -vcodec copy -acodec copy -f mpegts -re "udp://239.101.101.1:1234?ttl=1&pkt_size=1316" &
ffmpeg -i  stream2_small.ts -vcodec copy -acodec copy -f mpegts -re "udp://239.101.101.1:1235?ttl=1&pkt_size=1316" &}

コマンドを実行すると、stream2_small.tsはポート1235にストリーミングされますが、stream1_small.tsは次のようなエラーを出します。

Output #0, mpegts, to 'udp://239.101.101.1:1234?ttl=1&pkt_size=1315
':
  Metadata:
    encoder         : Lavf53.4.0
    Stream #0.0: Video: mpeg2video, yuv420p, 360x180 [PAR 8:9 DAR 16:9], q=2-31, 104857 kb/s, 90k tbn, 25 tbc
    Stream #0.1(eng): Audio: ac3, 48000 Hz, stereo, 96 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mpegts @ 0xaacc360] max_analyze_duration 5000000 reached at 5000000

私がしている間違いを教えてください

4
iwant2learn

このエラーが何であるかはわかりませんが、次のようになります。

  • それぞれの(!)コマンドを個別に試しましたか?両方とも実際に機能しますか?
  • それらを並行して実行しようとしましたが、それぞれが独自のシェルで実行されていますか?

ただし、1つのffmpegコマンドで両方をストリーミングすることは可能です。各入力に単一のビデオと単一のオーディオストリームがあると仮定します。

ffmpeg
  -i stream1_small.ts
  -i stream2_small.ts
  -vcodec copy -acodec copy -f mpegts -re "udp://239.101.101.1:1234?ttl=1&pkt_size=1316" -map 0.0 -map 0.1
  -vcodec copy -acodec copy -f mpegts -re "udp://239.101.101.1:1235?ttl=1&pkt_size=1316" -map 1.0 -map 1.1
3
Ambroz Bizjak