如果框架尺寸与窗口的纵横比不同,如何设置 ffplay 的背景颜色?

如果框架尺寸与窗口的纵横比不同,如何设置 ffplay 的背景颜色?

如果帧大小与窗口的纵横比不同,ffplay 会将黑条塞入其窗口区域。如何替换黑条的颜色?有时我会对 ffplay 应用裁剪滤镜来剪掉视频帧内的黑条,如果 ffplay 将非黑条塞入窗口,我会更方便地查看裁剪是否准确。

答案1

当我运行 ffplay 时,它会调整大小以适合视频,所以不确定您为什么遇到问题。

如果您只是想检查正确的纵横比,请阅读下面链接的帖子。

https://stackoverflow.com/questions/4422387/get-aspect-ratio-of-video-from-ffmpeg

或者,当您将文件拖到脚本上时,以下代码将播放文件。此代码删除了 ffplay 边框,因此只要您的背景不是黑色,它就会突出显示任何剩余的、不需要的黑色填充。

 for %%F in (%*) do (
 ffplay -i "%%~fF" -an -noborder
 shift)
 exit

注意:-an禁用音频可节省在播放开始时搜索连接到输出的音频设备(扬声器/耳机)的时间。如果您需要音频并连接设备,请删除此选项。

编辑。

如果寻找边框处的单个像素,可以在后面添加以下内容-noborder

 -vf crop=iw*0.5:ih*0.5:0:0,scale=2*iw:2*ih:flags=neighbor

这将以两倍大小显示视频左上角的四分之一,从而有效地在播放期间将像素加倍。如果您的视频很小,如您的评论中所述,您可能只需要缩放过滤器。对于较大的视频,裁剪可确保视频不会全屏显示,从而隐藏边框。只需记住,黑色像素宽度的真实数量(如果存在)已在播放期间乘以比例因子。

相关内容