将FFMPEG视频转换为MP4的方法在iOS Safari / Chrome中均适用

时间:2019-01-23 20:26:03

标签: video ffmpeg mp4

我使用以下代码通过FFMPEG库将.webm视频转换为.mp4

ffmpeg -i video.webm -vcodec h264 -acodec aac -strict experimental video.mp4

当在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

1 个答案:

答案 0 :(得分:0)

  1. 您的ffmpeg很古老。 Downloadcompile的新版本。
  2. 删除-strict experimental(只有真正的旧版本才需要)。
  3. 添加-movflags +faststart,以便可以更快地开始播放。
  4. 添加-vf format=yuv420p以获取兼容的像素格式。
  5. 输出AAC音频(-c:a aac)而不是MP3(-c:a libmp3lame)。
  6. 如果仍然失败,则可能是由于该设备不支持High profile。添加-profile:v main。如果您的设备支持“高级”配置,则无需添加此项。

示例:

ffmpeg -i input -c:v libx264 -profile:v main -vf format=yuv420p -c:a aac -movflags +faststart output.mp4
  • 请参考目标设备的规格来确定适当的-profile:v(可能还有-level)。

  • 有关更多信息,请参见FFmpeg Wiki: H.264