Я использую Ubuntu 10.10 (maverick) на HP Pavillion dv3 с core2duo 2.29 GHz, NVidia Geforce G105M (512MB) с CUDA и 4GB RAM. У меня установлены последние версии ffmpeg и x264.
Я понимаю, что это не фантастические характеристики для кодирования, но я привык кодировать в DIVX на (другом) одноядерном ПК с процессором примерно 2 ГГц и могу конвертировать 10+ часовых эпизодов телепередач за одну ночь.
Я только что начал кодировать с помощью x264 и ffmpeg на вышеуказанном ноутбуке HP и был поражен, обнаружив, что кодирование одного двухчасового фильма заняло 22 часа!
Командная строка, которую я использовал, была следующей:
ffmpeg -i infile.mpg -vcodec libx264 -preset slow -profile normal -crf 24 -threads 0 outfile.mp4
Это нормально или у меня где-то узкое место?
Спасибо
решение1
Ну, это всего лишь Core 2 Duo. i7, конечно, будет работать намного лучше. К сожалению, наличие CUDA не помогает, поскольку x264 не поддерживает GPU. Кроме того, кодирование h.264 требует гораздо больше вычислительных ресурсов, чем "просто" в MPEG-4 Visual DivX.
При этом x264 — довольно быстрый кодер, и вот в чем дело. Вы видите-preset slow
?Фактически вы говорите кодеру работать медленно.
Предустановки в x264 позволяют использовать различные алгоритмические оптимизации, которые обеспечивают лучшее качество за то же количество затраченных бит или за меньшие биты при фиксированном качестве. Таким образом: эффективность сжатия. Как правило, чем медленнее предустановка, тем лучше будут оптимизации, но тем больше времени они потребуют для вычислений.
Вы можете выбрать другие предустановки, как описано в x264 --fullhelp
, например:
- сверхбыстрый
- сверх быстрый
- очень быстро
- Быстрее
- быстрый
- средний (по умолчанию)
- медленный
- помедленнее
- очень медленно
Выберите тот, который вам больше всего подходит, т. е. тот, ожидание которого вы можете себе позволить.