首页 > 解决方案 > 使用 ffmpeg 保持电视格式的纵横比

问题描述

我正在尝试将屏幕图像捕获到 ffmpeg 中的管道中并创建视频。这是它的工作原理:

-f lavfi -i anullsrc=r=48000:cl=stereo -f image2pipe -r 25 -i pipe: -target pal-dv25 -vcodec dvvideo -vf yadif=1:-1:0,interlace=bff,setdar=1.85:1 -flags +ildct+ilme -c:a pcm_s16le -maxrate 5000k -r 25 -f mov -shortest -map 0:a -map 1:v -y out.mov

问题是图像的分辨率为 16:9,我在 Mediainfo 的 original_aspect_ratio 行中得到16:9 ,dar=1.85:1,但我还需要4:3,dar=1.85:1。

我怎样才能做到这一点?我试图改变输入图像的比例,-aspect 4:3但这导致视频的分辨率只有 4:3 而没有 dar=1.85:1

标签: videoffmpeg

解决方案


您需要将输入视频缩放为 4:3 比例,然后将 DAR 设置为 1.85,ffmpeg 将自动选择 SAR 以匹配此参数。这是您的过滤器的外观:

scale=4/3*ih:ih,setdar=1.85

推荐阅读