要上传带有载波视频的.MOV文件吗?

时间:2019-01-20 08:11:20

标签: ruby-on-rails ruby video carrierwave

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

对于上传图片和视频-.mp4文件,载波没有问题。当我尝试上传.mov文件时,上传失败。我假设.mp4以外的任何其他功能均不起作用。

任何人都可以使用Carrierwave视频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

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

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

  process encode_video: [:mp4]

这使我只能将.mp4文件成功上传到aws

当我这样做时:

  process encode_video: [:mov]

尝试mp4mov时出现错误:

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中。在我的应用程序中根本没有位置。我检查了说成功的文件。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我开始调试上传器文件,并找到mov无法上传的原因。

我以前有这个:

  include CarrierWave::MiniMagick
  include CarrierWave::Video
  include CarrierWave::FFmpeg

我删除了include CarrierWave::MiniMagick,它起作用了。