我尝试使用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不包含任何流
可能是因为我提供的输出参数不正确吗?如何修复上述行以生成两个(或更多)输出流?
答案 0 :(得分:0)
尝试
ffmpeg -y -i "udp://234.5.6.7:1234" \
-filter_complex "[0:v]split[a][b];[a]scale=-1:320[v1];[b]scale=-1:480[v2]" \
-map [v1] -map [v2] -map 0:d -dcodec copy \
-f tee "[f=mpegts:select=\'v:0\',d]udp://234.5.6.7:1234|[f=mpegts:select=\'v:1\',d]udp://234.5.6.8:1234"