我按照Create a mosaic out of several input videos页面合并视频。 当我使用http://*.flv视频作为输入时,它可以正常工作。
但是当我使用rtmp:// **作为视频输入时。 如:
ffmpeg-i rtmp://10.240.209.94:9999/live1 -i rtmp://10.240.209.94:9999/live1 -i rtmp://10.240.209.94:9999/live1 -i rtmp://10.240.209.94:9999/live1
-filter_complex "
nullsrc=size=640x480 [base];
[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=320:y=240
"
-f flv rtmp://10.240.209.94:9999/live2
它告诉我:
Stream specifier ':v' in filtergraph description nullsrc=size=640x480 [base];[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];[base][upperleft] overlay=shortest=1 [tmp1];[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];[tmp3][lowerright] overlay=shortest=1:x=320:y=240 matches no streams.
这是一个错误吗?但我使用最新的ffmepg。 bug
答案 0 :(得分:2)
您正在阅读相同的网络输入4次。在过滤开始时,ffmpeg在至少一个输入中没有检测到视频流。
我假设您最终希望使用四种不同的输入。如果是,请在每次输入之前添加-analyzeduration 20M -probesize 10M
。增加值直到错误消失。