FFMPEG压缩的MP4视频无法在Mozila上播放“文件损坏错误”

 手机用户2602883667 发布于 2023-02-08 14:50

我在PHP环境中使用FFmpeg压缩了MP4视频。视频已被压缩,但是无法在firefox中播放,并显示错误:

文件损坏,无法播放视频

虽然此视频在chrome浏览器中的VLC媒体播放器中也能正常播放。我的压缩代码为-

exec("ffmpeg -i input.mp4 -acodec mp2 output.mp4");

小智.. 6

我一直在为这个问题苦苦挣扎,直到发现名为“ ffmpeg将gif转换为mp4,以获得最佳跨浏览器兼容性”的要点。它使用以下命令:

ffmpeg -f gif -i FOO.gif -pix_fmt yuv420p -c:v libx264 -movflags +faststart -filter:v crop='floor(in_w/2)*2:floor(in_h/2)*2' BAR.mp4

它具有以下有关其工作原理的说明:

输出mp4编码为h264,在Windows,Mac OSX,Android和iOS中支持Firefox / Chrome / Safari。

适用于所有平台的mp4文件,无需编码多余的webm电影,而编码速度非常慢。

至于yuv420pFirefox兼容性的格式,缺点是颜色变得比原始gif的饱和度低。

yuv420p仅支持均匀的宽度/高度,因此需要作物过滤器

-movflags +faststart 标志针对浏览器中的在线视图进行了优化

压缩比通常为10:1,非常棒。请注意,如果原始gif <512KB,则转换为mp4的效率较低。

将其结合到我的ffmpeg命令中,我发现这些视频现在可以在Firefox,Safari,Opera和QuickTime(以前只有Chrome和VLC适用于我)中运行。

归功于撰写要点的英格拉姆。

1 个回答
  • 我一直在为这个问题苦苦挣扎,直到发现名为“ ffmpeg将gif转换为mp4,以获得最佳跨浏览器兼容性”的要点。它使用以下命令:

    ffmpeg -f gif -i FOO.gif -pix_fmt yuv420p -c:v libx264 -movflags +faststart -filter:v crop='floor(in_w/2)*2:floor(in_h/2)*2' BAR.mp4
    

    它具有以下有关其工作原理的说明:

    输出mp4编码为h264,在Windows,Mac OSX,Android和iOS中支持Firefox / Chrome / Safari。

    适用于所有平台的mp4文件,无需编码多余的webm电影,而编码速度非常慢。

    至于yuv420pFirefox兼容性的格式,缺点是颜色变得比原始gif的饱和度低。

    yuv420p仅支持均匀的宽度/高度,因此需要作物过滤器

    -movflags +faststart 标志针对浏览器中的在线视图进行了优化

    压缩比通常为10:1,非常棒。请注意,如果原始gif <512KB,则转换为mp4的效率较低。

    将其结合到我的ffmpeg命令中,我发现这些视频现在可以在Firefox,Safari,Opera和QuickTime(以前只有Chrome和VLC适用于我)中运行。

    归功于撰写要点的英格拉姆。

    2023-02-08 14:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有