这是我用来将 1 个音频和 1 个图像合并为 1 个视频的代码/参数。由于某种原因,无论来源如何,它都会在输出视频的末尾添加 30 秒的静音。
我在 Win10 x64 上运行它,安装了最新的 ffmpeg。
我检查了代码,但无法确定它在哪里造成了沉默。
ffmpeg -y -loop 1 -framerate 2 -i "some.png" -i "with.mp3"
-c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest "result.mkv"
输出不应包含额外的 30 秒静默。当音频用完时它应该结束。
我应该补充一点,我从某个网站复制了大部分参数,并且OP似乎使用它很好,所以我不确定这是否只是我的问题。
Use
ffmpeg -y -loop 1 -framerate 2 -i "some.png" -i "with.mp3" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest -fflags +shortest -max_interleave_delta 100M "result.mkv"
容器(AVI、MP4、MKV)通常以交错的方式存储多个流,即几秒的视频,然后是几秒的音频,依此类推。因此,ffmpeg 在写入时会缓冲所有流中的数据。
-shortest
作用在相对较高的级别,并在第一个流完成时触发。但是,来自其他流的缓冲数据仍将写入文件。-fflags shortest
当与足够高的 max_interleave_delta 一起使用时,作用在较低级别并停止写入缓冲数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)