LINUX.ORG.RU
ФорумAdmin

Почему ffmpeg запускают везде с 1 тредом?

 ,


0

2

Во многих примерах в гугле ffmpeg запускают с ключом -threads 1. Почему? Я только что проверил с -threads 12 он кодирует намного быстрее, точно не засекал но секунды на глаз бегут в раза 3 быстрее

★★★★

Последнее исправление: gobot (всего исправлений: 1)

Если 12 тредов всего в 3 раза быстрее - это значит что эффективность работы упала в 4 раза и делать так не надо. Но вообще конечно стоило засечь время, думаю что эти в 4 раза скорее всего ты просто «на глаз» ошибся.

Почему запускают с одним - большинство, конечно, потому что так было написано в другом месте откуда они скопипастии свой пример. Если этих копипастеров выкинем (их 90% или больше), то у остальных причины скорее всего такие:

1) где-то читал что мультитред сжатие имеет более низкое качество картинки по сравнению с аналогичных настроек синглтредом, сам не проверял

2) мультитред в целом меньше отлажен и возможны проблемы, впрочем я с ними не сталкивался ни разу, при мультитред кодировании x264 кодеком (статистика большая, если умножить всё время работы ffmpeg-а на количество занятых процовых ядер, получится несколько десятков лет наверно)

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

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

Morin ★★★★★
()

Рекомендуют ставить как можно меньше, но чтобы кодер успевал кодировать. Если не нужно смотреть видео сейчас и файлов много, в один поток лучше кпд и энергосбережение.

ext4
()
Последнее исправление: ext4 (всего исправлений: 1)
Ответ на: комментарий от Aceler

но кто сказал что это проблема ffmpeg?

я много лет занимался рипами, самое надежное это написать скрипт над чистым ffmpeg. Работало как часики, а уж когда появились многоядерные процы, все бухали цельный месяц :)

Не, может что и поломали со временем, я хз, сейчас надобности такой у меня нет

Morin ★★★★★
()

Уже сказали, но я тоже подумал, что по аналогии с тем, что аудио перекодируют в один поток, иначе (как я понял) могут быть проблемы, то может и к видео лучше так же подходить для надёжности — и возможно ffmpeg был замечен за прочей файлов.

papin-aziat ★★★★★
()
Ответ на: комментарий от anc

Вот ниразу.

На самом деле если кодирование обычное с ключевыми кадрами, то получается что часть кадров начиная с ключевого до следующего ключевого кадра является независимым и его можно кодировать независимо. Главное чтоб алгоритм разбивки на ключевые кадры не был прибит к результатам кодирования.

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

На самом деле если кодирование обычное с ключевыми кадрами, то получается что часть кадров начиная с ключевого до следующего ключевого кадра является независимым и его можно кодировать независимо.

И даже в этом случае это не будет ровно в 12 раз быстрее.

anc ★★★★★
()