2015-12-06 39 views
4

我已經盡力上傳使用Carrierwave視頻& FFmpeg的視頻與FFmpeg的與Rails應用程序進行轉碼。我已經安裝了FFmpeg,安裝沒有問題。我從'http://blog.41studio.com/upload-videos-using-carrierwave-ffmpeg/'進行了配置。但是當我嘗試上傳視頻(.mov文件)時,出現錯誤。視頻無法在我的本地

錯誤

Video Failed to transcode with FFmpeg. Check ffmpeg install and verify video is not corrupt or cut short. Original error: Failed encoding.Errors: encoded file is invalid. Full output: ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers built with Apple LLVM version 7.0.0 (clang-700.1.76) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-libfaac --enable-nonfree --enable-vda 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 libavresample 2. 1. 0/2. 1. 0 libswscale 3. 1.101/3. 1.101 libswresample 1. 2.101/1. 2.101 libpostproc 53. 3.100/53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/tanerkoroglu/Desktop/Wishpere2/public/uploads/tmp/1449435556-7186-2107/IMG_1756.MOV': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2015-10-17 12:19:27 Duration: 00:01:04.24, start: 0.000000, bitrate: 17176 kb/s Stream #0:0(und): Video: h264 (High) (avc1/0x31637661), yuv420p(tv, bt709), 1920x1080, 17082 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default) Metadata: creation_time : 2015-10-17 12:19:27 handler_name : Core Media Data Handler encoder : H.264 Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, mono, fltp, 85 kb/s (default) Metadata: creation_time : 2015-10-17 12:19:27 handler_name : Core Media Data Handler Stream #0:2(und): Data: none (mebx/0x7862656D), 0 kb/s (default) Metadata: creation_time : 2015-10-17 12:19:27 handler_name : Core Media Data Handler Stream #0:3(und): Data: none (mebx/0x7862656D), 0 kb/s (default) Metadata: creation_time : 2015-10-17 12:19:27 handler_name : Core Media Data Handler Please use -q:a or -q:v, -qscale is ambiguous [Parsed_movie_0 @ 0x7feb6bf00100] Failed to avformat_open_input '/Users/tanerkoroglu/Desktop/Wishpere2/app/assets/images/logo.png' [AVFilterGraph @ 0x7feb6bc09240] Error initializing filter 'movie' with args '/Users/tanerkoroglu/Desktop/Wishpere2/app/assets/images/logo.png' Error opening filters! 

video_uploader.rb

class VideoUploader < CarrierWave::Uploader::Base 
    include CarrierWave::Video 
    process :encode 
    def encode 
     encode_video(:mp4, watermark: {path: File.join(Rails.root, "app/assets/images/logo.png")}) 
    end 

    version :mp4 do 
    def full_filename(for_file) 
     super.chomp(File.extname(super)) + '.mp4' 
    end 
    end 
end 

的Gemfile

gem 'carrierwave',    '0.10.0' 
gem 'carrierwave-video' 
gem 'streamio-ffmpeg' 

回答

1

我有同樣的錯誤。在我的情況下,這是因爲carrierwave-video與streamio-ffmpeg(3.0.2)不兼容。 streamio-ffmpeg希望接收format_params數組,但carrierwave-video返回一個字符串。我把它固定在我的fork