Привет,
Недавно столкнулся с тем, что достаточно производительного Core2 Quad @ 3Gz не хватило в
Linux для проигрывания
mp4, сжатого h.
264, это rip
full hd в разрешении 1920 x 1080 (размер файла - около 12Гб). Так вот, при обычном проигрывании все идет более менее плавно, однако с нечастыми замираниями картинки (
загрузка процессора где-то до 70%), но при включении постпроцессинга все становится очень плохо,
загрузка процессора 106%, при
чем из 4 ядер загружено только одно (оставшиеся 6% идут потоку, декодирующему звук и так по-мелочи
).
Ситуация одинаковая в
vlc и mplayer, попытка по
смотреть отладчиком внутрь того процесса (точнее LWP, т.е. потока), который загружает процессор по полной выявила, что он использует функцию DecodeVideo из libavcodec, которая идет в составе проекта
ffmpeg. Дальнеийше поиски в google по "libavcoded multithreaded" выявили вот такой faq:
http://ffdshow-tryout.sourceforge.net/html/en/faq.htm,
в котором неявно говорится о том, что
декодирование MP4 идет только одним потоком, подтверждение этому я нашел и в других источниках.
По сути: кто-нибудь знает библиотеку, которая при декодировании (проигрывании)
mp4 сжатых фильмов умеет использовать
для декодирования видео несколько процессоров или процессорных ядер? Кто-нибудь сталкивался с тормозами в
linux при проигрывании
mp4 сжатого видео в
full hd разрешении?
Спасибо.