2014-01-07 4 views
7

Кодирование с помощью ffmpeg и libx264, есть ли пресеты или флаги, которые будут оптимизировать скорость декодирования?Кодирование для быстрого декодирования с помощью ffmpeg

Прямо сейчас кажется, что видео, транскодированные с похожими размерами файлов, декодируются с очень разными скоростями с использованием Qtkit, и мне было интересно, есть ли опции для кодирования, чтобы скорость декодирования была максимальной.

+0

Если вы используете разрезанное кодирование, ваш декодер может использовать многопоточность (при условии, что ваш декодер может быть ускорен этим, например, декодирование одного потока является узким местом на многоядерном процессоре. –

+0

@AlexCohn - можете ли вы указать любые ссылки на «разрезанные кодировки» с помощью ffmpeg? – nbubis

+1

См. http://mewiki.project357.com/wiki/X264_Settings#slices и http://mewiki.project357.com/wiki/X264_Settings#sliced-threads. Этот подход может уменьшить декодировать время, возможно, на 75%, но с учетом качества. Это относится только к кадрам hi-rez. Например, BlueRay Disk _requires_ 4 slices. –

ответ

7

Существует --tune fastdecode в x264 (или -tune fastdecode при использовании ffmpeg), если вы хотите оптимизировать скорость декодирования за счет качества/эффективности сжатия. В настройке настройки libx264 доступен один из параметров для x264_param_default_preset.

+0

Это определенно помогает (поднимает его с 2 до 9 кадров в секунду), но это означает, s все еще не совпадает с оригинальными видеороликами, которые воспроизводятся с хорошей скоростью 30 кадров в секунду. Как-то перекодировка испортила вещь :( – nbubis

+0

Как было оригинальное кодирование? Было ли это вообще h264? Что такое разрешение и нитрат? Возможно, дамп ffmpeg может лучше понять изменения. –

+1

Похоже на '-tune fastdecode -tune zerolatency' работает! Я согласен с ответом, но вы можете добавить к нему 'zerolatency'. Cheers! – nbubis

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