Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 无法使用CarrierWave/Voyeur转换视频_Video_Gem_Ruby On Rails 3.2_Carrierwave - Fatal编程技术网

Video 无法使用CarrierWave/Voyeur转换视频

Video 无法使用CarrierWave/Voyeur转换视频,video,gem,ruby-on-rails-3.2,carrierwave,Video,Gem,Ruby On Rails 3.2,Carrierwave,我正在尝试使用偷窥宝石转换视频从.mp4到.webm,然后上传它。这是我的密码: app/uploads/video_uploader.rb class VideoUploader[:mp4] def full_文件名(用于_文件) #{File.basename(对于_文件,File.extname(对于_文件))}.mp4 结束 结束 版本:webmdo 处理:encode_video=>[:webm] def full_文件名(用于_文件) #{File.basename(对于_文件,Fi

我正在尝试使用偷窥宝石转换视频从.mp4到.webm,然后上传它。这是我的密码: app/uploads/video_uploader.rb

class VideoUploader[:mp4]
def full_文件名(用于_文件)
#{File.basename(对于_文件,File.extname(对于_文件))}.mp4
结束
结束
版本:webmdo
处理:encode_video=>[:webm]
def full_文件名(用于_文件)
#{File.basename(对于_文件,File.extname(对于_文件))}.webm
结束
结束
结束

video_converter.rb模块已放置在/lib/carrierwave/processing中/

自动加载:视频转换器,/lib/carrierwave.rb中添加了“carrierwave/processing/video\u converter”

我的模型:

类上载程序

但我无法上传视频,控制台出现错误:
Errno::enoint:没有这样的文件或目录-ffmpeg-i/home/----/\uuuuuuuuuuuu/public/uploads/tmp/20121211-0943-7368-8271/tmpfile

有什么建议吗


我在控制台中使用的最简单的命令是:
Voyeur::Media.new(文件名:path_to_file)。convert(to::mp4)
仍然会失败,并出现类似的错误。

我让这两个gem协同工作的过程有点不同,可能会帮助其他处于相同情况的人

步骤1.)按照carrierwave和voyeur github上的说明进行操作


步骤2.)安装ffmpeg及其依赖项。我是在ubuntu上做这件事的,在安装之前我没有收到这样的文件或目录

第3步。)这是旧的,有一些东西需要更改

  • 将video_converter.rb文件放在目录carrierwave-0.8.0/lib/carrierwave/processing中
  • 将此文件中的第22行更改为

    Voyeur::Video.new( filename: tmp_path ).convert( to: format.to_sym, output_filename: current_path )
    

    将以下行添加到carrierwave-0.8.0/lib/carrierwave/processing.rb

    require "carrierwave/processing/video_converter"
    
  • 在为carrierwave创建的uploader目录中,编辑您的app/uploaders/avatar\u uploader.rb文件以匹配video\u uploader.rb

希望这有帮助

require "carrierwave/processing/video_converter"