【问题标题】:Uploading video with carrierwave-video an error : "Video Failed to transcode with FFmpeg."使用 carrierwave-video 上传视频时出现错误:“视频无法使用 FFmpeg 进行转码。”
【发布时间】:2016-03-21 00:18:14
【问题描述】:

我已经在微博中添加了新专栏作为视频。现在我想使用carrierwave-video gem (https://github.com/rheaton/carrierwave-video)。现在,当我尝试上传视频时出现错误。 (我尝试上传.MOV格式的视频)

错误

Video Failed to transcode with FFmpeg. Check ffmpeg install and verify video is not corrupt or cut short. Original error: undefined method `set_success' for #<Micropost:0x007fbf0d40dd68>

video_uploader.rb

class VideoUploader < CarrierWave::Uploader::Base
  include CarrierWave::Video

  process encode_video: [:mp4, callbacks: { after_transcode: :set_success } ]
  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

宝石文件

 gem 'carrierwave',             '0.10.0'
 gem 'carrierwave-video'

微博模型

 mount_uploader :video, VideoUploader

我还通过从 FFmpeg 下载的文件在我的 FFmpeg 文件中进行了配置。

 Taner-MacBook-Pro:~ tanerkoroglu$  /Users/tanerkoroglu/Downloads/SnowLeopard_Lion_Mountain_Lion_Mavericks_12.12.2015/ffmpeg ; exit;
 ffmpeg version 2.8.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
  configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --disable-doc --arch=x86_64 --enable-runtime-cpudetect
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
 Hyper fast Audio and Video encoder
   usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

  Use -h to get full help or, even better, run 'man ffmpeg'
   logout
   Saving session...
    ...copying shared history...
     ...saving history...truncating history files...
      ...completed.
    Deleting expired sessions...146 completed.

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 rubygems


    【解决方案1】:

    gem 'carrierwave-ffmpeg' 添加到您的Gemfile 并确保您通过homebrew 在您的计算机上安装ffmpegffmpeg2theora

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2012-05-22
      相关资源
      最近更新 更多