我使用以下代码将.webm视频转换为.mp4使用 FFMPEG 库:
ffmpeg -i video.webm -vcodec h264 -acodec aac -strict experimental video.mp4
Run Code Online (Sandbox Code Playgroud)
在 Windows (Chrome/Firefox)、Mac (Safari/Chrome)、Android (Chrome) 中播放转换后的视频时,此功能可以完美运行,但在通过 iOS (Safari/Chrome) 观看时则无法运行。
起初我以为这可能是一个mp4问题?但后来我在 iOS Safari 中毫无问题地播放了这段视频https://www.w3schools.com/html/mov_bbb.mp4,它也是一个mp4.
所以这告诉我转换有些地方不太正确。
我在转换过程中缺少什么?
从 PuTTy 登录: https: //pastebin.com/VLSPL0nC
ffmpeg很古老。下载或编译新版本。-strict experimental(只有非常旧的版本才需要)。-movflags +faststart以便可以更快地开始播放。-vf format=yuv420p兼容的像素格式。-c:a aac) 而不是 MP3 ( -c:a libmp3lame)。-profile:v main。如果您的设备支持 High profile,则无需添加此项。例子:
ffmpeg -i input -c:v libx264 -profile:v main -vf format=yuv420p -c:a aac -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
请参阅目标设备的规格来确定合适的-profile:v(和可能的-level)。
请参阅FFmpeg Wiki:H.264了解更多信息。