当前位置: 首页 > 知识库问答 >
问题:

除了iOS Safari/Chrome外,FFMPEG视频转换为MP4在任何地方都可以工作

薄兴昌
2023-03-14

我使用以下代码使用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个答案

咸琪
2023-03-14
  1. 您的FFMPEG是古老的。下载或编译新版本。
  2. 删除-严格的实验性(只有真正旧的生成才需要)。
  3. 添加-movflags+faststart,以便更快地开始播放。
  4. 为兼容的像素格式添加-vf format=yuv420p
  5. 输出AAC音频(-C:a AAC)而不是MP3(-C:a libmp3lame)。
  6. 如果仍然失败,可能是由于设备不支持高配置。添加-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。

  •  类似资料:
    • 我已经成功地使用ffmpeg将一个文件编码到.mp4,这将在所有测试的设备(Safari on PC,IE on PC,Android Browser、Andriod Video Player和Safari iPad)中播放,但Chrome除外。 作为一种解决办法,我曾计划简单地将.ogg源代码列在.mp4源代码之前,这样chrome就可以播放.ogg源代码,而不会看到.mp4源代码,然而,我遇到

    • 我设置了一个相机预览与onPreviewFrame回调,我想知道,“如何编码onPreviewFrame数据到一个mp4视频文件?” 谢谢,如果有任何评论、意见或建议,我们将不胜感激,

    • 我曾尝试使用GStreamer管道将mp4视频转换为avi视频,但它是在没有声音的情况下转换的 gst launch-t-v filesrc location=源。mp4!qtdemux!ffdec\U h264!视频/x-raw-yuv!avimux!filesink location=结果yuv。avi公司

    • 1. Gradle 2.代码 3、Logcat: 采用gcc 4.9构建。x(GCC)20150123(预发布)配置:---目标操作系统=linux--交叉前缀=/root/bravobit/ffmpeg-android/toolschain-android/bin/arm-linux-androideabi---arch=arm--cpu=cortex-a8--启用运行时cpudetec--sy

    • 我在这里和谷歌上到处都找了--没有一个有效的命令适用于IE9。IE9缺少了什么。我所尝试的一切都适用于其他地方:chrome,safari,移动设备等等。我想要一个命令,将转换它,我可以使用它在每一个设备假设支持mp4在HTML5视频标签。 我使用以下命令: 等等。同样,所有这些命令会生成一个有效的mp4文件,可以在chrome,safari等上运行。即使我使用windows media Play

    • 下载示例链接: