Мне нужно конвертировать 76 файлов mp4 в webm для веб-сайта, который использует HTML5-видео. Я говорю о 10 ГБ файлов mp4 ... Я знаю, что могу просто попросить ffmpeg сделать это, используя:
ffmpeg -i input_file.mp4 output_file.webm
Конечно, я сделаю это рекурсивно:
find ./ -name '*.mp4' -exec bash -c 'ffmpeg -i "$0" "${0%%.mp4}.webm"' {} \;
Я даже попробовал кое-что, что я нашел где-то в Интернете:
ffmpeg -i input_file.mp4 -cpu-used 4 -threads 8 output_file.webm
Но дело в том, что это не займет у меня меньше недели !!! Что я делаю неправильно? Есть ли какой-нибудь способ ускорить это? Если я перейду в ogg, получу ли я скорость? Пожалуйста помоги!!!
Ответы:
Транскодирование видео занимает время. Также требуется гораздо больше знаний о параметрах кодирования; Значения по умолчанию для ffmpeg вряд ли подойдут вам и могут даже не создать пригодный для использования выходной файл.
Вот начало:
http://blog.pcode.nl/2010/10/17/encoding-webm-using-ffmpeg/
Эти настройки будут кодировать до определенного среднего битрейта (битрейт видео 3900 кбит), поэтому в битрейте будут скачки.
MP4 и WebM используют разные видеокодеки, поэтому кратчайшего пути нет; видео должно быть перекодировано.
Конечно, скорость кодирования будет сильно отличаться в зависимости от размера кадра, частоты кадров и настроек качества. Для кодирования 720p вы можете рассчитывать на кодирование примерно 1: 1 (т.е. 10 часов видео за 10 часов) на процессоре за последние пару лет. Если вы выполняете двухпроходное кодирование ABR, как в примере, приведенном в ссылке, почти вдвое больше.
источник
Удвоить или сократить вдвое? Так что это тупик ... Я не буду играть с битрейтами, я никогда не знаю, чего ожидать от качества или размера ... Думаю, я буду придерживаться этого и заставлять клиента держаться, пока не закончится конвертация ...
Я публикую это для будущих пользователей, на самом деле я набрал скорость, но мой процессор работает как ад: от 60 до 80% на каждое ядро! Теперь я думаю, что это займет меньше времени: 3 дня вместо 6 или 7 .. Надеюсь, это не сломается .. ^ _ ^
Спасибо, мужчина, в любом случае!
Изменить: Убрал переключатель -sameq после комментариев от LordNeckbeard и neon_overload -sameq не означает то же самое "качество"
источник
-sameq
не означает "то же качество" и был удален выше по течению. Не используйте это. Обратитесь по ссылке в моем комментарии к вашему вопросу для получения подробных инструкций по кодированию libvpx.