首页 > 解决方案 > 使用carrierwave-video 上传.MOV 文件?

问题描述

问题:我无法通过 Carrierwave 上传 .mov 文件。

我对上传图像和视频的载波没有问题 - .mp4 文件。当我尝试上传 .mov 文件时,上传失败。我假设 .mp4 以外的任何东西都不起作用。

任何人都使用 Carrierwave-video gem 并且能够上传 .mov 文件格式?

我的载波宝石:

gem 'carrierwave', '~> 1.0'
gem 'carrierwave-aws'
gem 'carrierwave-ffmpeg'
gem 'carrierwave-video'
gem 'mini_magick', '~> 4.8'

我尝试使用:

 version :mp4 do
   process encode_video: [:mp4]
 end

 version :mov do
   process encode_video: [:mov]
 end

在我的上传器中,在之前有和没有 if 语句version...但不起作用。使用任何一个,我都无法上传movmp4

默认情况下,我的上传器中有:

  process encode_video: [:mp4]

这使我可以仅将 .mp4 文件成功上传到aws

当我做:

  process encode_video: [:mov]

尝试mp4或时出现错误mov

NoMethodError (undefined method `+' for nil:NilClass):

列入白名单:

def extension_whitelist
     %w(jpg jpeg gif png mov mp4 mov avi mkv 3gp mpg mpeg)
  end

我还尝试简单地将 .mov 文件更改为 .mp4 并且没有用。

这里有人成功上传mov文件吗?

我担心,因为我知道 iPhone 以 .mov 格式输出大多数视频文件,所以允许这种格式非常重要。

错误:

When trying to upload mov file i do get this success in the prompt:
I, [2019-01-20T02:47:51.127532 #3483]  INFO -- : Transcoding of /home/bob/Apps/app-file-master/tmp/1547970464-3483-0025-9410/samplemov.mov to /home/bob/Apps/uploader-twitter-master/tmp/1547970464-3483-0025-9410/tmpfile.mp4 succeeded

但随后上传失败并且不会保存到数据库或 AWS 中。在我的应用程序中根本没有。我检查了它说它成功进入的文件。

标签: ruby-on-railsrubyvideocarrierwave

解决方案


您需要在其配置文件中将“.mov”添加到carrierwave的扩展白名单中。


推荐阅读