Я пытаюсь разрешить пользователям загружать видео в мое приложение RoR, а затем преобразовывать его во все форматы, необходимые для видео HTML5. Я нашел решение, используя Voyeur gem , который работает по большей части. Однако, когда я запускаю команду для преобразования видео в форматы html5:
videos = Voyeur::Video.new(filename: file_path).convert_to_html5(output_path: "#{Rails.root.to_s}/tmp")
Или даже если я попытаюсь сделать это индивидуально:
mp4_vid = Voyeur::Video.new(filename: file_path).convert(to: :mp4, output_path: "#{Rails.root.to_s}/tmp/processed_videos")
ogv_vid = Voyeur::Video.new(filename: file_path).convert(to: :ogv, output_path: "#{Rails.root.to_s}/tmp/processed_videos")
webm_vid = Voyeur::Video.new(filename: file_path).convert(to: :webm, output_path: "#{Rails.root.to_s}/tmp/processed_videos")
Каждый раз, когда любая команда отправляется в voyeur, она зависает на длительное время и по существу блокирует программу. Я вошел в Activity Monitor (используя OSX Lion) и обнаружил, что процесс ffmpeg все еще работает, но с 0% CPU. Когда я завершаю процесс, команда завершается, и видео работает нормально.
В любом случае в моем коде можно проверить процесс ffmpeg на 0% ЦП или есть другой способ исправить это?