FFMPEG 视频转换为 MP4 在任何地方都有效,除了 iOS Safari/Chrome
FFMPEG video conversion to MP4 works everywhere except in iOS Safari/Chrome
我使用以下代码使用 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
- 你的
ffmpeg
很古老。 Download or compile 一个新版本。
- 删除
-strict experimental
(只有真正的旧版本才需要)。
- 添加
-movflags +faststart
以便可以更快地开始播放。
- 为兼容的像素格式添加
-vf format=yuv420p
。
- 输出 AAC 音频 (
-c:a aac
) 而不是 MP3 (-c:a libmp3lame
)。
- 如果还是失败,可能是设备不支持High profile。添加
-profile:v main
。如果您的设备支持 High profile,则不需要添加此项。
示例:
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。
我使用以下代码使用 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
- 你的
ffmpeg
很古老。 Download or compile 一个新版本。 - 删除
-strict experimental
(只有真正的旧版本才需要)。 - 添加
-movflags +faststart
以便可以更快地开始播放。 - 为兼容的像素格式添加
-vf format=yuv420p
。 - 输出 AAC 音频 (
-c:a aac
) 而不是 MP3 (-c:a libmp3lame
)。 - 如果还是失败,可能是设备不支持High profile。添加
-profile:v main
。如果您的设备支持 High profile,则不需要添加此项。
示例:
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。