Video 如何避免在使用ffmpeg将静止图像编码到mpeg-2视频中时产生伪影
我正在使用如下命令行将静态图像编码为符合dvd的mpeg流:Video 如何避免在使用ffmpeg将静止图像编码到mpeg-2视频中时产生伪影,video,encoding,ffmpeg,dvd,mpeg-2,Video,Encoding,Ffmpeg,Dvd,Mpeg 2,我正在使用如下命令行将静态图像编码为符合dvd的mpeg流: ffmpeg.exe-y-loop 1-t 00:00:30-r 1-i“image.jpg”-目标pal dvd-b:v 6000000 video.mpg 这将生成一个显示单个静止图像的30秒视频。 在观看视频时,我注意到奇怪的(和丑陋的)“泵送”工件,大约在每个GOP结束时。 使用流分析器工具,我注意到在一个序列IPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
ffmpeg.exe-y-loop 1-t 00:00:30-r 1-i“image.jpg”-目标pal dvd-b:v 6000000 video.mpg
这将生成一个显示单个静止图像的30秒视频。
在观看视频时,我注意到奇怪的(和丑陋的)“泵送”工件,大约在每个GOP结束时。
使用流分析器工具,我注意到在一个序列IPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP。。。不要像我期望的那样,因为编码器没有理由改变影响质量的编码参数
我还使用命令行对相同的图像进行了编码
ffmpeg.exe-y-loop 1-t 00:00:30-r 1-i“image.jpg”-f dvd-pix_fmt yuv420p-r 25-s 720x576-aspect 16:9-vcodec mpeg2video-b:v 6000000-maxrate 9000000-bufsize 1835008-muxrate 10080000-minrate 0-packetsize 2048-g15 video.mpg
它或多或少地应用了上面-target pal dvd所暗示的相同参数。
结果与预期一致
注:非静止材料显示较少或无“泵送”。当将vbv缓冲区大小设置为更高的值(如3670016字节)时,它几乎消失,有效地将其加倍。
不幸的是,这不是一个选项,因为流应该是dvd兼容的,它强制执行vbv缓冲区大小,如上面的命令行所示
那么,如何避免这些视觉伪影并获得(真正)显示静态图像的流呢?我能够重现您的问题,并通过指定量化器比例(设置为最大质量)来修复它,如下所示: ffmpeg.exe-y-loop 1-t00:00:30-r1-i“image.jpg”-q:v2-target pal dvd-b:v6000000 video.mpg