【问题标题】:Why some of the MP4 file's mime-type are application/octet-stream instead of video/mp4?为什么某些 MP4 文件的 mime 类型是 application/octet-stream 而不是 video/mp4?
【发布时间】:2018-06-27 09:55:23
【问题描述】:

为什么某些 MP4 文件的 mime-type 是 application/octet-stream 而不是 video/mp4?

我已经在终端 (CLI) 中使用文件命令进行了检查

user@anto:~/Videos/VTB$ file --mime-type -b GDPR.mp4 
video/mp4
user@anto:~/Videos/VTB$ file --mime-type -b Test-vid1.mp4 
application/octet-stream
user@anto:~/Videos/VTB$ file --mime-type -b SampleVideoLarge.mov 
video/quicktime
user@anto:~/Videos/VTB$ file --mime-type -b SampleVideo21.mp4 
video/mp4
user@anto:~/Videos/VTB$ file --mime-type -b VTBSample-new.mp4 
application/octet-stream.

谁能告诉我原因?如何处理这种 MIME 类型。 application/octet-stream 的视频文件是正确的 mp4 文件还是错误的文件?

【问题讨论】:

    标签: ruby-on-rails video paperclip-validation


    【解决方案1】:

    它仍然是 MP4 的正确 MIME 类型。通过说“正确”,在大多数情况下都可以毫无问题地播放(使用播放器软件,在 HTML 中使用<video> 标签播放等)。

    一些 Web 服务器没有配置 MIME 类型来服务于官方记录的 MIME 类型 video/mp4,因此 Web 服务器将 MIME 类型设置为 application/octet-stream,这是用于二进制文件下载的通用 MIME 类型.

    例如,要处理 HTML 中的 application/octet-stream MP4,您可以在 <source> 标签中指定 MIME 类型:

    <video>
      <source src="video.mp4" type="video/mp4" />
    </video>
    

    希望对你有帮助。


    更新:

    如果你真的很在意这些application/octet-stream视频,你可以使用ffmpeg之类的程序重新渲染它们,强制更新后的视频文件为video/mp4 MIME类型。

    【讨论】:

    • 感谢您的回复。在我们使用 5.0.0 版之前,我将回形针 ruby​​ gem 用于我的一个产品,但是回形针 gem 没有报告任何问题,它具有与应用程序/八位字节流相同的 mime 类型的 mp4 视频。现在我们已将 gem 版本更新为 6.0.0。现在它报告了 mime 类型的问题(不匹配 - 视频/mp4 应该是 mp4 文件)。这是确切的问题。
    • 阅读this
    • 对于任何想知道如何转换它的人,请将此命令与 ffmpeg 一起使用:ffmpeg -i broken.mp4 -pix_fmt yuv420p -crf 18 good.mp4
    • @crazynx 这取决于具体情况。您的命令不一定适用于所有场景。
    • @Raptor 哦,好吧,很有趣。我仍然希望它可以帮助别人!
    猜你喜欢
    • 2023-02-03
    • 2011-09-19
    • 1970-01-01
    • 2012-01-18
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    相关资源
    最近更新 更多