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

时间:2018-06-27 09:55:23

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

为什么某些MP4文件的mime类型是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文件还是错误的文件?

1 个答案:

答案 0 :(得分:0)

对于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类型。