如何为WebM音频添加1秒填充以解决游戏开场动画音频提前截断问题
如何为WebM音频添加1秒填充以解决游戏开场动画音频提前截断问题
我之前做游戏自定义开场动画的时候也碰到过一模一样的问题!游戏的播放逻辑有时候会对媒体文件的时长判断有小偏差,导致音频被提前截断,给音频结尾加一段静音填充就能完美解决这个问题。
你可以直接修改原来的ffmpeg命令,加上音频滤镜来添加1秒的静音:
ffmpeg -i "input.mp4" -c:v "libvpx-vp9" -c:a "libvorbis" -af "apad=pad_dur=1" "output.webm"
给你拆解一下新增的关键参数:
-af是ffmpeg用来指定音频滤镜的参数apad是专门给音频添加静音填充的滤镜工具pad_dur=1就是明确告诉ffmpeg要在原音频的结尾追加1秒的静音片段
如果担心视频时长和音频不同步(比如部分游戏会因为音视频时长不一致出现播放异常),你还可以给视频也加1秒的黑帧填充,让两者时长完全匹配:
ffmpeg -i "input.mp4" -c:v "libvpx-vp9" -c:a "libvorbis" -af "apad=pad_dur=1" -vf "tpad=stop_duration=1:color=black" "output.webm"
这里的-vf "tpad=stop_duration=1:color=black"是给视频结尾追加1秒的黑帧,这样整个视频和音频都会比原文件长1秒,完美适配游戏的播放逻辑,再也不会出现原本的音频内容被提前截断的情况啦!
备注:内容来源于stack exchange,提问作者Emir
相关产品推荐
相关产品推荐

