Если у вас тормозит видео высокого разрешения, то есть два пути:
1. Перекодировать файл таким образом, чтобы его могли декодировать параллельные декодеры.
2. Увеличить кэш.
Первый способ весьма сложен, т.к. нужно обладать определенными знаниями, многоядерным компом и запасом свободного времени для его осуществления. А второй может сделать каждый, у кого достаточно оперативной памяти. Идея основана на том, что обычные кадры процессор декодирует быстрее, чем 40мс (приблизительно такое время вам показывается один кадр), а значит он может забежать вперед, декодировать больше кадров, чем вам требуется в настроящее время, и сложить их в резервный фонд - кэш. Когда в сцене много движения, процессор может не справляться и декодировать значительно дольше 40мс за кадр. Тогда количество кадров в кэше будет сокращаться (вы смотрите их быстрее, чем он наполняется), но поскольку такие сцены, обычно, потом сменяются на менее динамичные, достаточно большой кэш никогда не будет пустым, и ничего не будет тормозить.
В моем плеере mplayer, к сожалению, количество памяти под кэш выставляется одним параметром, как для потокового аудио/видео, так и для обычного. У меня стоял размер кэша всего 1мб (для того, чтобы потоковое видео быстрее "включалось"), и я какое-то время не мог сообразить, почему Full HD видео подтормаживает даже на достаточно мощной конфигурации. Не делайте моих ошибок.
1. Перекодировать файл таким образом, чтобы его могли декодировать параллельные декодеры.
2. Увеличить кэш.
Первый способ весьма сложен, т.к. нужно обладать определенными знаниями, многоядерным компом и запасом свободного времени для его осуществления. А второй может сделать каждый, у кого достаточно оперативной памяти. Идея основана на том, что обычные кадры процессор декодирует быстрее, чем 40мс (приблизительно такое время вам показывается один кадр), а значит он может забежать вперед, декодировать больше кадров, чем вам требуется в настроящее время, и сложить их в резервный фонд - кэш. Когда в сцене много движения, процессор может не справляться и декодировать значительно дольше 40мс за кадр. Тогда количество кадров в кэше будет сокращаться (вы смотрите их быстрее, чем он наполняется), но поскольку такие сцены, обычно, потом сменяются на менее динамичные, достаточно большой кэш никогда не будет пустым, и ничего не будет тормозить.
В моем плеере mplayer, к сожалению, количество памяти под кэш выставляется одним параметром, как для потокового аудио/видео, так и для обычного. У меня стоял размер кэша всего 1мб (для того, чтобы потоковое видео быстрее "включалось"), и я какое-то время не мог сообразить, почему Full HD видео подтормаживает даже на достаточно мощной конфигурации. Не делайте моих ошибок.


Comments