我关注页面Create a mosaic out of several input videos合并视频。但是,我的视频质量很差。我怎样才能得到与原始视频相同的视频。
ffmpeg
-i 1.flv-i 2.flv -i 3.flv -i 4.flv
-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
当我使用 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
我只能使用命令:
ffmpeg -i rtmp://10.240.209.94:9999/live10 -vcodec copy -acodec copy -f flv output.flv
将rtmp转入flv,然后读取flv视频...
最佳答案
由于您要输出到 FLV 并且没有指定编码器,因此 ffmpeg 正在选择 flv1
.默认情况下,它将使用 200 kbps 的目标比特率。
因此,您可以设置质量规模目标,例如
... -q:v 5 -f flv rtmp://10.240.209.94:9999/live2
或 wsitch 到 x264,其默认值应该没问题
... -c:v libx264 -f flv rtmp://10.240.209.94:9999/live2
关于ffmpeg - 合并后如何获得高质量的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49624785/