添加 mp4 mime 类型可防止使用 Unicorn 和 Rails 4 传输视频

Adding mp4 mime-type prevents streaming of video with Unicorn and Rails 4

我看到一些奇怪的行为,其中一个 .mp4 视频文件(位于 /assets/images/)在没有任何在 mime_types.rb 中注册的情况下播放得很好。但是,如果我注册 video/mp4 mime 类型,视频将不会流式传输。

mime_types.rb:

Mime::Type.register "video/mp4", :mp4

Safari 显示视频的第一张图片,但无法流式传输视频。这只是 Safari 和 Unicorn(不是 Webrick)的问题。

我们需要注册 mime 类型,因为我们要在应用程序的其他位置响应 mp4 请求。

有什么解决办法吗?

来自 ffmpeg -I

的视频详细信息
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'background_video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2015-03-06 14:03:09
    encoder         : Lavf54.6.100
  Duration: 00:00:11.29, start: 0.000000, bitrate: 893 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1114x494, 903 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-03-06 14:03:09
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)
    Metadata:
      creation_time   : 2015-03-06 14:03:09
      handler_name    : SoundHandler

将视频文件移动到 /public/ 文件夹可以解决问题。