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

标签 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 类型。是带的视频文件吗应用程序/八位字节流 是正确的 mp4 文件还是错误的文件?

最佳答案

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

某些 Web 服务器未配置 MIME 类型以提供正式记录的 MIME 类型,video/mp4 ,因此 MIME 类型将设置为 application/octet-stream通过 Web 服务器,这是用于二进制文件下载的通用 MIME 类型。

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

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

希望能帮助到你。

更新:

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

关于ruby-on-rails - 为什么某些 MP4 文件的 MIME 类型是 application/octet-stream 而不是 video/mp4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51059736/

相关文章:

html - 限制站点中视频的大小

ruby-on-rails - 回形针图像尺寸自定义验证器

ruby-on-rails-3 - 回形针文件大小验证错误消息

ruby-on-rails - Rails f.select 试图禁用下拉菜单被更改

flash - WebRTC——闪存客户端

ruby-on-rails - 如何加快 Rails 应用程序 JSON 渲染速度?

video - 自定义 h.264 流在某些硬件解码器中中断

ruby-on-rails - 使用外部 URL 作为附件时,Paperclip 提示内容类型错误

javascript - 无法读取未定义的属性 'modalIsOpen'

css - 迁移 css rails 登录表单到 Bootstrap