如何解决通过 mlt xml 传递 ffmpeg 选项
我正在查看使用 kdenlive
创建的 MLT XML 文件,并想调整传递给 ffmpeg
的命令行选项。
如果我理解正确,这是我需要编辑的部分:
<consumer f="mp4" g="15" channels="2" crf="15" progressive="1" target="thetargetfile.mp3" threads="0" real_time="-3" format_options="-stillimage" mlt_service="avformat" vcodec="libx264" ab="256k" movflags="+faststart" bf="2" preset="faster" acodec="aac" in="0" out="18263"/>
现在,我想向 ffmpeg
传递一个额外的标志,在我的例子中 -stillimage
用于输出的静态图像优化(我的文件是一个录制的幻灯片演示,所以真的没有理由它有数百 MB 大)。
是否有允许将任意标志传递给 ffmpeg
的选项,或者我将如何执行此类优化?
解决方法
这看起来是一个 XY problem。
最近的问题是,如何传递静止图像。 根本问题是,如何减小幻灯片的文件大小。
对于stillimage
,它是编码器的一种调整,因此格式为tune="stillimage"
。见https://www.mltframework.org/plugins/ConsumerAvformat/#tune-3
但是,这种调整会产生适度的好处,或者根本没有好处。
创建更大文件的两个关键参数是
g="15" ... crf="15"
如此低的 CRF 值是一种浪费,除非分辨率相当低 (g 值,会生成大量关键帧,这会导致文件大小膨胀。对于幻灯片,默认值 250 通常就可以了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。