我正在用 Chrome 浏览器录制 webm 格式的视频,在后端我想将其转换为 mp4,以便在所有设备上播放。该视频的示例名称如下:test.webm;codecs_vp9;
我首先使用此命令将其转换为 mp4,但输出不适用于 safari web 和移动版(视频未在播放器内加载),但它在 chrome 上运行正常:
ffmpeg -i "test.webm;codecs_vp9;" -c copy -strict experimental -preset superfast testout.mp4
我尝试移除它-strict experimental
,但什么也没发生。
然后我用以下配置更新了命令,输出在 ios 和 web safari 上可以正常工作,但在 chrome 上却无法正常工作。在 chrome 上,它很跳动(丢失帧,在某些时间间隔停止),音频和视频不同步。
ffmpeg -i "test.webm;codecs_vp9;" -strict experimental -acodec aac -vcodec libx264 -pix_fmt yuv420p -preset superfast -profile:v main -movflags faststart -level 3.0 testout.mp4
我希望它可以在浏览器和平台上运行。
我正在使用从这里下载的 ffmpeg 静态构建:https://www.johnvansickle.com/ffmpeg/
答案1
我使用下面给出的命令才能在 ios、android、chrome 和 safari 上播放输出视频。
ffmpeg -i "test.webm;codecs_vp9;" -acodec aac -vcodec libx264 -profile:v main -level 3.1 -pix_fmt:v yuv420p -movflags +faststart -vsync vfr testout.mp4