【发布时间】:2016-05-22 08:30:08
【问题描述】:
我正在尝试使用 ffmpeg 命令行来查看是否可以以不同的分辨率重新传输 mpegts udp 流。
我成功地将传入的流重新传输到具有不同分辨率的流中:
ffmpeg -y -i "udp://234.5.6.7:1234" -vf scale=-1:320 -map 0 -acodec copy -dcodec copy -f mpegts udp://234.5.6.8:1234
我想以各种分辨率流式传输to multiple output mpegts 流。我当然可以从多个实例收听原始广播,并将每个流收听到不同的新端点和分辨率,但是通过单个 ffmpeg 调用来实现这一点会更好。
试图至少输出到多个流我似乎坚持让以下运行(即使不改变分辨率:)
ffmpeg -y -i "udp://234.5.6.7:1234" -f tee "[f=mpegts:map=0:acodec=copy:dcodec=copy]udp://234.5.6.8:1234|[f=mpegts:map=0:acodec=copy:dcodec=copy]udp://234.5.6.9:1234"
这会导致以下错误:
输出文件 #0 不包含任何流
可能是我提供的输出参数不正确吗?我将如何修复上述行以生成两个(或更多)输出流?
【问题讨论】:
-
尝试将地图移出,即
-f tee -map 0 "[f=mpegts:aco...." -
@Mulvya 感谢您的回答!我已经尝试过了,它导致了一个稍微不同的问题:
Data stream encoding not supported yet (only streamcopy)我没有在我的问题中提到这一点,但这可能是因为广播由 1 个数据流和 1 个视频流组成。所以我想我将不得不在输出参数中建议流复制数据流(?)