添加 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 请求。
有什么解决办法吗?
- Rails 4.1.3
- Ruby 2.1.2
- 独角兽 4.8.3
来自 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/ 文件夹可以解决问题。
我看到一些奇怪的行为,其中一个 .mp4 视频文件(位于 /assets/images/)在没有任何在 mime_types.rb 中注册的情况下播放得很好。但是,如果我注册 video/mp4 mime 类型,视频将不会流式传输。
mime_types.rb:
Mime::Type.register "video/mp4", :mp4
Safari 显示视频的第一张图片,但无法流式传输视频。这只是 Safari 和 Unicorn(不是 Webrick)的问题。
我们需要注册 mime 类型,因为我们要在应用程序的其他位置响应 mp4 请求。
有什么解决办法吗?
- Rails 4.1.3
- Ruby 2.1.2
- 独角兽 4.8.3
来自 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/ 文件夹可以解决问题。