LINUX.ORG.RU

Ускорение видео с помощью ffmpeg

 


0

2

Здравствуйте. Кто-нибудь пробовал ускорить видео-ролик с помощью ffmpeg? Делаю так: /usr/bin/ffmpeg -i $file -filter:v «setpts=0.05*PTS» -f flv $new_file Проблема в том, что ffmpeg обрабатывает ролик слишком медленно ( 4 - 5 минут практически независимо от длительности самого ролика ). Сервер на Intel Xeon X5450 3.00GHz ( загрузка не больше 200% на восьми ядрах ), памяти 14G ( 4G занято ), swap выключен. Заметил - если увеличивать ускорение ( уменьшать setpts ), длительность обработки уменьшается. Как еще можно увеличить скорость обработки?

Транскодирование - дорогая операция, вот оно и долго.

Можете попробовать написать специальное приложение, которое будет таймштампы кадров менять только на уровне ремукса, а не транскодирования. Но не думаю, что результат будет играться во всех устройствах/плеерах так, как задумано.

Andrey_Utkin ★★
()

На современных видяхах есть аппаратные видео энкодеры.

anonymous
()
Ответ на: комментарий от Andrey_Utkin

Что дорогая никто не сомневается. Так и железо соответсвующее, причем загружается оно этой операцией не болше 25-30%. Жесткй диск тоже почти простаивает. Не могу понять где затык...

andrew-khv
() автор топика
Ответ на: комментарий от Andrey_Utkin

Работает... только медленно. Попробовал с ключом -threads 8. Стало немного быстрее, но все равно не так как хотелось бы...

andrew-khv
() автор топика

Если нужно ускоряться, то тут точно надо искать усконеный на gpu энкодер. ffmpeg так не умеет (максимум пересобрать его с оптимизацией под процессор). А как показывает эта тема: у него ещё и многопроцессорность хромает. Вроде не так давно её добавили, видимо не для всего и не на все 8 ядер.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

$ ffmpeg -encoders |& grep NV V..... nvenc NVIDIA NVENC h264 encoder (codec h264) V..... nvenc_h264 NVIDIA NVENC h264 encoder (codec h264) V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)

anonymous
()

Можете попробовать написать специальное приложение

Вы чё тут все, одарённые, что ли? Какой ffmpeg?

Чувак, тебе нужен MP4Box из пакета GPAC, поищи в своём пакетном менеджере.

MP4Box меняет частоту кадров без перекодирования.

anonymous
()
Ответ на: комментарий от anonymous

Наверное ffmpeg с -codec copy тоже умеет без перекодирования?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.