我正在试验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
我想以不同的分辨率来流到多个输出 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不包含任何流。
是不是我提供的输出参数不正确?如何修复上面的行以生成两个(或更多)输出流?
发布于 2016-02-11 14:55:49
试一试
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"
https://stackoverflow.com/questions/35341451
复制相似问题