我想将两个视频多播到多播地址的两个不同端口。我可以一次将一个视频发送到一个端口。但我想要一个命令,让两个视频同时发送到端口。我使用了命令
{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
请告诉我我犯了什么错误
答案1
我不确定这个错误是什么,但是:
- 您是否尝试过分别执行每个命令 - 它们实际上都有效吗?
- 您是否尝试过并行运行它们,但每个都在自己的 shell 中?
但是,可以使用一个 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