【问题标题】:MP4 not playing in IE9/ChromeMP4 无法在 IE9/Chrome 中播放
【发布时间】:2012-07-10 03:06:49
【问题描述】:

我有一个 iOS 应用程序,它利用相机创建和保存视频,然后将其上传到网络服务器。但是,当我尝试使用 IE9 在服务器上观看这些视频时,我得到了一个音频流,但我只看到了海报。在 Chrome 中观看时,我确实看到了一个视频,但它与应有的位置旋转了 90 度。

MP4 文件已使用 H.264 编码。当我尝试将 MP4 转换为 FLV 并在 Flash 播放器中使用时,它仍然旋转了 90 度。我尝试过videojs,但无济于事。这是什么原因造成的,我该如何解决?

非常感谢所有帮助,我总是接受答案!

【问题讨论】:

    标签: h.264 mp4


    【解决方案1】:

    我不知道为什么视频不能在 IE9 上播放。

    视频旋转是因为 iOS 设备以固定方向录制,然后根据需要设置 rotate 元数据标签。一些玩家识别并采取行动,许多人没有。

    有关使用 FFmpeg 旋转视频的说明,请参阅 this answer,尽管大多数视频处理软件都应该能够做到这一点。

    【讨论】:

    • 看来您对元数据的看法是正确的,但其他答案中提供的命令不起作用。
    • 我让它工作了,-vf "transpose=2" 需要在 input_file 之后。请参阅我在另一个答案中的评论。但我仍然不清楚谁可以找出给定视频文件的当前轮播。
    • 目前还没有一种方法可以自动进行旋转,但是您可以使用 ffprobe(通常与 FFmpeg 捆绑在一起)查找 rotate 标签,然后使用它来确定transpose 打电话。我觉得已经有一个简短的 shell 脚本可以在 SO 周围执行此操作,但我现在找不到它。
    • 我昨天使用 Ruby 做到了这一点。这很笨拙,但我想它现在满足了我的需求。感谢您的帮助!
    猜你喜欢
    • 2015-06-24
    • 2011-10-20
    • 2014-09-27
    • 2013-05-17
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多