Unyuunymous


Последние комментарии:

Gekijouban Trigun: Badlands Rumble
Majikano
Gakuen Mokushiroku: High School of the Dead
Full Metal Panic? Fumoffu!
Phantom ~Requiem for the Phantom~



статистика отключена



Проигрывание HDTV и HiRes видео на слабых машинах


О проблеме

В последнее время многие ансаб и релиз группы выкладывают контент в .MKV формате и, уже как правило, в HDTV или HiRes разрешении - т.е. повышенного качества. Т.к. размер видео очень большой (от 1024x576 и выше), то для декодирования оно требует большей нагрузки на процессор и видеокарту. И, при отсутствии топовой системой, проигрывание такого видео превращается в слайдшоу - т.е. новый кадр, если и успеет отрисоваться, то раз в 10 или 20 секунд.

Данная статья содержит исчерпывающие инструкции, которые помогут смотреть такое видео даже на старых машинах. Однако, если ничего не помогло, то стоит всерьёз задуматься об апгрейде компьютера. И да - если не помогло описанное в этой статье, то установка Linux / Unix, как мифическое решение всех проблем, тем более не поможет.

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

Проверить является ли машина топовой можно проиграв Blu-Ray версию Evangelion Shin Gekijouban: Ha - если изображение не дёргается и не отстаёт от звука, то всё в порядке.


MPlayer

MPlayer - это проигрыватель медиафайлов под Unix'оподобные системы. Он был портирован под Windows, т.к. является универсальным проигрывателем - в нём встроены все самые распространённые на данный момент алгоритмы декодирования изображения и звука. Причём их реализация сделана на низком уровне, так что скорость работы зачастую превышает скорость аналогичных кодеков для Windows.

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

К сожалению, с 07 октября 2007 года на официальном сайте плеер застрял на версии 1.0rc2 и более не обновлялся. Однако, среди всех сторонних сборок людей продолжающих дописывать была найдена одна, которая работала стабильнее и быстрее всех остальных - о ней далее и пойдёт речь.


Отключение вертикальной синхронизации

Перед тем как непосредственно перейти к описанию работы с плеером - необходимо отключить синхронизацию вывода изображения на монитор:

Пуск -> Настройка -> Панель управления -> Экран -> Параметры -> Дополнительно

Далее нужно найти закладку с настройкой видеокарты и там:

Параметры OpenGL -> Верт. синхронизация -> Выкл. по умолчанию

Параметр может носить другое имя, в зависимости от производителя видеокарты, например он может называться V-Sync.

Как уже упоминалось MPlayer - программа портированная из Unix'оподобных систем. Поэтому там используется для работы с видео интерфейс OpenGL как кроссплатформенный (в отличие от DirectX, который есть только под Windows). Таким образом, чтобы MPlayer работал быстрее, нужно отключить вертикальную синхронизацию - тогда драйвер OpenGL не будет ждать пока изображение на мониторе отрисуется (т.е. закончится проход вертикальной развёртки), а сразу будет выводить изображение на экран, как только оно было получено от декодера видео.

После отключения этого параметра получим половину от максимального возможного прироста скорости.


MPlayer Sherpya

Итак, далее будет использоваться одна из лучших сборок плеера - MPlayer Sherpya (ссылка внешняя, остальные ниже - на сервере):

MPlayer-p4-svn-30322.7z - версия оптимизированная для Pentium4 или выше

MPlayer-p3-svn-30322.7z - версия оптимизированная для Pentium3 или выше

MPlayer-athlon-svn-30322.7z - версия оптимизированная для AMD Athlon

MPlayer-rtm-svn-30322.7z - версия определяющая во время работы тип процессора из-за чего немного медленней других, зато её можно использовать если нет точной информации какой процессор установлен на компьютере

codecs.rar - набор кодеков, необходимый для проигрывания каким-либо редких форматов - в принципе, если ничего кроме аниме просматриваться не будет, то можно не устанавливать; для установки необходимо распаковать их в каталог "codecs" (появится после распаковки архива с программой)

config.zip - оптимальный готовый конфигурационный файл для плеера - для установки необходимо поместить в каталог "mplayer" (появится после распаковки архива с программой) с заменой файлов

play.zip - файл play.bat (см. ниже инструкцию по использованию) - после распаковки нужно изменить в нём путь C:\mplayer на тот, куда будет установлена программа

Многих может неприятно удивить тот факт, что программа работает только с командной строкой. Однако, если это мешает или делает невозможным работу с плеером - рекомендуется заняться апгрейдом компьютера или искать GUI-версии плеера в Интернете (там всё можно делать щёлкая по привычным для многих кнопкам, но работают они из-за GUI гораздо медленнее).

С плеером рекомендуется использовать файл play.bat настроенный на максимальное быстродействие: т.е. будет пропускаться работа алгоритмов сглаживающих изображение, убирающих "кубики" блоков с картинки и т.д. Из-за этого картинка может показаться слегка некрасивой, зато будет отображаться в реальном времени.

Итак, полезные параметры командной строки:

-vo gl2 - выбрать в качестве видеодрайвера OpenGL2 (рекомендуется, т.к. он лучше и быстрее)

-vfm ffmpeg - выбрать драйвер для работы с файлами FFMPEG (рекомендуется)

-lavdopts lowres=0:fast:skiploopfilter=all:skipframe=nonref - отключение всевозможных эффектов и постобработки картинки, чтобы быстрее отображалось

-hardframedrop - если кадр не успевает отрисоваться - пропускать его, чтобы изображение хоть и дёргалось иногда из-за пропущенных кадров, но всегда шло синхронно со звуком

Все эти ключи командной строки можно найти в прилагающемся "play.bat" файле к плееру. Для всех подробностей смотрите справку, а ниже будут описаны примеры работы с файлом "play.bat" (рекомендуется поместить его в каталог находящийся в переменной окружения %PATH%, чтобы можно было запустить программу из любого места):

play filename.ext - запустить на проигрывание файл, вместо filename.ext вписывается имя файла, который необходимо проиграть

play filename.ext -af volnorm - нормализация звука (т.е. увеличение громкости до максимума, если слишком тихий)

Если в каталоге с видеофайлом, например, "file.avi" лежат субтитры в формате "file.srt", то плеер подгрузит их автоматически (если субтитры и видеофайл различаются только расширением). Но если файл называется file.avi, субтитры file.Russian.srt, то придётся загружать их вручную:

play file.avi -sub file.Russian.srt -subcp cp1251

Последний ключ - "-subcp cp1251" нужен для указания правильной кодировки субтитров, т.к. по умолчанию плеер использует UTF-8. Этот же ключ придётся добавить для субтитров в формате .ASS / .SSA, если они не в UTF-8 кодировке. Для .SRT файлов, если не помогло, можно ещё добавить ключ "-noass", в случае когда плеер не может корректно определить этот формат субтитров.

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

play "Video File.avi" -af volnorm -sub "Video File.Russian.srt" -subcp cp1251 -noass

Если вместо имени файл указать маску:

play *.avi - то будут проигрываться все файлы по порядку в текущем каталоге, отсортированные по возрастанию

-loop # - повторять проигрывание файла # раз (если указать 0 - то будет повторять бесконечно)

-fs - сразу переходить в полноэкранный режим при проигрывании (полезно при использовании маски *.avi)

-audiofile "filename.mp3" - заставляет проигрывать звуковую дорожку из внешнего файла filename.mp3

-vf screenshot - позволяет делать кадры клавишей "S". Они сохраняются в текущий каталог под именами "shot####.png", где #### - порядковый номер. Файлы получаются очень большие, т.к. используют .PNG контейнер без сжатия (по сути тот же .BMP). Кадры сделанные таким способом принимаются на сервер наравне с .BMP. Кроме того, если на экране в этот момент есть софтсаб субтитры, то их не будет в сохранённом кадре, что очень удобно, дабы не искать место без субтитров.

Вообще, при использовании какого-либо файлового менеджера, например FAR, проигрыватель не доставляет никаких неудобств, так как достаточно набрать "play" (при условии, что файл play.bat находится в каталоге из %PATH% - например, в C:\WINDOWS), затем встать на нужном файле и нажать CTRL+ENTER, чтобы его имя добавилось в командную строку, затем можно дописать необходимые параметры или сразу нажать ENTER чтобы начать проигрывание.


Клавиши управления

Все клавиши и часть ключей командной строки можно настроить через файл-конфигурации (см. документацию "mplayer.html"). По умолчанию же во время проигрывания файла доступны следующие клавиши управления, в принципе, очень удобные:

ESC - выход

F - включить / выключить полноэкранный режим

стрелка влево или стрелка вправо - промотать видео вперёд или назад

стрелка вверх или стрелка вниз - промотать видео вперёд или назад, но уже на гораздо большее расстояние

пробел - включить / выключить паузу

M - включить / выключить звук

V - включить / выключить показ субтитров

S - сохранить текущий кадр в файл SNAP#####.PNG, чтобы работало надо добавить в командную строку параметр "-vf screenshot"

/ или * - уменьшить или увеличить громкость звука


Если ничего не помогло

Если даже после всех описанных в данной статье вещей проигрывание всё равно идёт недостаточно быстро, то можно останавливать проигрывание (клавиша пробел) на полсекунды в тех местах, где изображение "подвисает" - тогда процессор прекратит работу и, после снятия видео с паузы, начнёт декодировать уже с текущей позиции, а не пытаться доделать "опоздавшие" и не отрисованные кадры.




Добавление новых комментариев временно отключено.
По поводу вопросов обращаться сюда >>> 4rum

[ Назад ]