2013-12-08 3 views
4

Я использую FFMPEG через камень streamio-FFmpeg Rails - https://github.com/streamio/streamio-ffmpegFFMPEG говорит файл не существует, но она существует

По какой-то причине при попытке перекодировать видеофайл (что действительно существует), FFMPEG говорит, что файл не существует.

Вот некоторые выход из консоли Rails, демонстрируя свою головную боль:

1.9.3p125 :001 > File.exist?("/Applications/MAMP/htdocs/video-app/public/uploads/tmp/20131208-1416-1234-0984/videotest.mp4") 
=> true 

1.9.3p125 :002 > FFMPEG::Movie.new("/Applications/MAMP/htdocs/video-app/public/uploads/tmp/20131208-1416-1234-0984/videotest.mp4") 
Errno::ENOENT: No such file or directory - ffmpeg -i /Applications/MAMP/htdocs/video-app/public/uploads/tmp/20131208-1416-1234-0984/videotest.mp4 
    from /Users/my-comp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/open3.rb:202:in `spawn' 
    from /Users/my-comp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/open3.rb:202:in `popen_run' 
    from /Users/my-comp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/open3.rb:90:in `popen3' 
    from /Users/my-comp/.rvm/gems/[email protected]/gems/streamio-ffmpeg-1.0.0/lib/ffmpeg/movie.rb:17:in `initialize' 
    from (irb):2:in `new' 
    from (irb):2 
    from /Users/my-comp/.rvm/gems/[email protected]/gems/railties-3.2.8/lib/rails/commands/console.rb:47:in `start' 
    from /Users/my-comp/.rvm/gems/[email protected]/gems/railties-3.2.8/lib/rails/commands/console.rb:8:in `start' 
    from /Users/my-comp/.rvm/gems/[email protected]/gems/railties-3.2.8/lib/rails/commands.rb:41:in `<top (required)> ' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 
1.9.3p125 :003 > 

Любая помощь будет оценена.

+0

Можете ли вы показать movie.rb? –

+0

Несомненно, это часть их драгоценного камня - и можно посмотреть здесь: https://github.com/streamio/streamio-ffmpeg/blob/master/lib/ffmpeg/movie.rb – cmw

+0

Это действительно странно, потому что вы уже done file.exists? => true. Не уверен, что смогу помочь, но я проголосую –

ответ

2

Похоже, что он не может найти двоичный файл ffmpeg, а не файл, который вы указали. Попытайтесь установить полный путь для FFMPEG еще до вызова конструктора:

FFMPEG.ffmpeg_binary = '/usr/local/bin/ffmpeg' 
+0

В этом была проблема - установка явно не пошла так, как планировалось. Я очистил все, установил с доморощенным, обеспеченные пути были правильными, и все работает так, как планировалось. – cmw

Смежные вопросы