войти зарегистрироваться

Я умный whois

индекс
0,00

Ускорение воспроизведения HD-видео

Однажды на моём нетбуке (Acer Aspire One 110) я не смог нормально посмотреть видео по причине тормозов (аниме в 720p). После чего последовало разбирательство на тему, как же это можно исправить, результат которого читайте здесь.

Практически всё HD-видео сжимается по стандарту H.264. Обычно для его декодирования (и не только его) используют ffmpeg. Однако скорости его может не хватить. Итак, найденные способы исправления:

1. Использовать ffmpeg-mt, форк ffmpeg, который использует многопоточность, что может сильно помочь на многоядерных/мультипроцессорных системах. (кстати, помогло и на Atom-е в моём нетбуке, который вроде как не очень многоядерный :) ).

Как использовать ffmpeg-mt? Предлагаю два варианта:
1) Поставить билд mplayer-а, который использует именно ffmpeg-mt (этот вариант годится и для linux-систем). Его можно получить здесь (win32).
2) Поставить K-Lite Mega Codec Pack, который включает как обычный ffmpeg, так и ffmpeg-mt, и при установке поставить галочку об использовании именно ffmpeg-mt для декодирования видео H.264 (или это же можно сделать позже в настройках ffmpeg video decoder-а).

2. Использовать кодек DivX H.264 decoder. Он входит в состав DivX Bundle, и не является open-source. Однако работает пошустрее. Установщик DivX Bundle ставит кучу лишнего хлама, поэтому лучше поставить отдельно сам декодер (если покопаться, то можно найти его на сайте K-Lite Codec Pack-а, а именно вот здесь).

ADD: В комментариях был упомянут также кодек CoreAVC, считающийся самым быстрым декодером для H.264. Но, к сожалению, он платный.

3. Использовать мод Media Player Classic, под названием Homecinema (входит в состав K-Lite Mega Codec Pack). В нём есть встроенный декодер H.264, который использует аппаратное ускорение (средствами видеокарты через DirectX API). Он называется DXVA. Его использование можно настроить при установке кодек-пака, либо в опциях самого Media Player Classic-а, на вкладке Internal Filters.

P.S. Всем владельцам нетбуков с медленным SSD посвящается — установите FlashPoint, и скорость работы возрастёт в разы.

комментарии (102)

  • Спасибо, сам сталкивался с такой проблемой.
  • Спасибо, на моем ноутбуке тоже проблемы с воспроизведением HD. Надо будет попробовать.
  • >> кстати, помогло и на Atom-е в моём нетбуке, который вроде как не очень многоядерный

    Рост производительности многопоточных приложений идёт не только за счёт многопроцессорности, но и за счёт более грамотного распределения процессорного времени. К примеру при обращение на жёсткий диск, нет нужды останавливать процессор, лучше отдать его другому потоку. Тут наверно нечто подобное.
    • в Атоме есть Hyper Threading (или как там сейчас оно называется). Алсо, есть двухядерный Атом (:
    • Наоборот, однопоточное приложение (естественно грамотно написанное), должно работать быстрее даже многопоточного на 2-х-ядерном процессоре, так как в таких приложениях куча блокировкок, и synchronized-операций, а одна такая операция разрушает всю работу конвейера CPU.
      • Декодирование видео очень хорошо распараллеливается (блокировок практически не должно быть), так что в данном случае применение многопоточности вполне оправдано.
      • многопоточное приложение на двухядерном проце может быть быстрее на ~100% в некоторых задачах. например архивирование или кодирование видео.
  • А мне помогло mplayer -vo x11 :)
    • А вообще -vo xv должно быть быстрее, по идее :)
    • mplayer -ao alsa -af volume=30 -double -cache 65512 -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all:threads=2 -autosync 1
      • -double что делает? В man mplayer про этот параметр ничего нет.
        • Двойная буферизация
  • Самый быстрый софтварный h.264 декодер от CoreCodec — CoreAVC 1.9. Получалось смотреть 720p на Celeron 1,2 Ghz.
    • Он к сожалению платный =(
      • В принципе 8 уе это не так много, для того, чтобы комфортно смотреть видео.
    • Не упомянул как раз по причине того, что он платный. Кстати, на сайте K-Lite Codec Pack-а заявляется, что DivX декодер для H.264 сравним по производительности с CoreAVC.
  • НЛО прилетело и опубликовало эту надпись здесь.
    • мне почему то кажется что для просмотра fullHD этого не достаточно
      • мне почему-то кажется что 720р далеко не fullHD
        • не full, но я то про fullHD
    • VLC далеко не самый быстрый в декодировании h264.
    • vlc с ффмпегом внутри.
  • 720p вроде и так на Acer Aspire One 110 без тормозов идет
    а 1080p, я так понимаю, ему вообще не доступно?
    • 720p — не всегда. А вообще, проблема возникла с включенными субтитрами, которые тоже поедают процессорное время (особенно анимированные).
  • Хорошая статья. Перенесите в «Нетбуки» (http://habrahabr.ru/blogs/netbook/) чтоли :)
    • Касается не только нетбуков. Мне это же и на стационарном компе помогло. :)
  • кстати, помогло и на Atom-е в моём нетбуке, который вроде как не очень многоядерный

    а у меня Атом определяется как двухядерный почемуто
    • Так у меня тоже, но ведь он точно не двухядерный. Я до сих пор не знаю, почему он так отображается :) Наверное, что-то вроде hyper-threading.
      • вот что википедия думает по этому поводу
        • скорее там все же hyperthreading. про нетбуки с atom330 я не слышал.
  • HD фильмы на слабом компьютере
    • Насколько я понял, такой запуск mplayer-а просто заставляет его ронять необработанные кадры. Это не выход :) Лучше использовать более быстрый декодер.
      • Да, но можно и комбинировать, когда комп совсем не тянет.
  • А технические подробности у кого-нибудь есть? За счёт чего эти декодеры быстрее при том же качестве картинки?
    • Другие алгоритмы декодирования, полагаю, плюс качественная оптимизация decode-процессов. Кроме того, в некоторых случаях происходит банальный пропуск необработанных кадров.
      • А также в некоторых случаях использование GPU для аппаратного ускорения (для вариантов DXVA и CoreAVC, по крайней мере).
        • у coreavc не заявлена поддержка ускорения через gpu
          • Заявлена, см. changelog

            CoreAVC H.264 Video Codec — Version 1.9.0.0 (20090210)
            — Add: NVIDIA CUDA accelerated video decoding (Thanks NVIDIA!!!)
            • Однако на ноутбучных видеокартах проку нет.
            • оо. даже на офсайте еще нету этой инфы. интересно бы глянуть сравнения.
        • это не важно при просмотре с субтитрами :(
          при включении субтитров, аппаратное ускорение видео отключается.
          • При использовании DXVA не получится использовать DirectVobSub (фильтр DXVA должен быть единственным в цепочке). Однако это не значит, что субтитров не будет, к примеру MPC будет использовать встроенную реализацию. При использовании же CoreAVC с аппаратным ускорением проблем, по идее, вообще не должно быть.
  • kmplayer тоже ниче штука. в нем какие-то встроенные кодеки, работают весьма шустро, хотя опять же высокие битрейты не тянет. сам на него перешел после того как последний mpc разучился нормально подстраивать аспект ратио под монитор.
    • kmplayer — это всего лишь гуй для всё того же mplayer, о котором говорится в топике. Если тормозит mplayer — будет тормозить и kmplayer. И наоборот.
      • google://kmplayer
        • А Вы сами там были?

          «KMPlayer (Konqueror Media Player) — медиа-плеер для среды рабочего стола KDE. Он работает и как плагин для Konqueror, и как самостоятельный видеоплеер. Он может использовать MPlayer или xine в качестве бекенда.»

          ru.wikipedia.org/wiki/KMPlayer

          Хорошо, я был неправ, говоря, что это «всего лишь гуй для mplayer». Поправлюсь: это всего лишь гуй для mplayer или xine :)
          • да. первая, вторая, третья, четвертая, пятая, седьмая, восьмая, девятая, десятая ссылки ведут к успеху. и лишь одна — мимо. вы умудрились выбрать именно её.
            • У меня первая ссылка была на какой-то softodrom.ru — я избегаю подобных сайтов. Вторая — на kmplayer.com (который почему-то предпочёл открыться на корейском языке). Третья — на ту самую Википедию. Плюс я сам знаком с этим плейером уже лет десять, поэтому однозначно интерпретировал упоминание названия «kmplayer» в его пользу (потому что не было указано иного).
              • На всякий случай: «лет десять» — гипербола.
              • ну я тоже его знаю уже лет пять, и так же знаю что он очень нераспространен из-за крайней убогости и наверняка уже заброшен. потому даже в расчет не принимаю.
                Даю ключевую подсказку. я говорил про тот kmplayer, который в гугле на первом месте. про тот который не обертка для mplayer.
                • >Даю ключевую подсказку. я говорил про тот kmplayer, который в гугле на первом месте. про тот который не обертка для mplayer.

                  Я даром телепатии не обладаю, извините, поэтому я не сразу понял, что Вы имеете в виду тот, о существовании которого я доселе не подозревал, а не тот, о котором я знаю на протяжении многих лет.
                  • >Я даром телепатии не обладаю
                    это же надо… я тоже не обладаю… не догадался что вдруг найдется один неадекватно фанатичный линуксоид, который будет в упор отрицать современные реалии.
                    • «Если у Вас закончились аргументы, не переживайте — оппонента можно просто оскорбить» ©

                      Вместо того, чтобы признать, что изначальное упоминание kmplayer действительно могло быть понято двояко (тем более, что Вы знали о существовании второго плейера с тем же названием) — переход на личности и оскорбления. И этот человек ещё будет говорить об адекватности… =\

                      Всего доброго.
                      • ну только не надо плакать. вроде взрослые люди, а сопли потекли… =/
  • Спасибо, пригодится!
  • Мне помогла вот эта статья — www.hdtv.net.ua/nastroika_new.html
    Некоторые HDTV фильмы у меня тормозили на десктопе. После применения всех указанных в статье настроек летают.

    Описанный автором этой статьи метод тоже обязательно нужно попробовать будет.
    • Там для H.264 как раз и предлагается установить CoreAVC, только более старой версии (1.3)
  • Практически всё HD-видео сжимается кодеком H.264

    из вики:
    H.264, MPEG-4 Part 10 или AVC (Advanced Video Coding) — стандарт сжатия видео, предназначенный для достижения высокой степени сжатия видеопотока при сохранении высокого качества.

    так все таки это видимо стандарт, а не кодек
    • Ну можно сказать, что это стандарт кодека :) Как написать? «Сжимается стандартом»? :)
      • Сжимается по стандарту H.264
      • «Сжимается по стандарту H.264»
        • Страница была открыта в браузере на будущее и пока время дошло до прочтения… :)
  • Автор минуса в карму, оставьте пожалуйста в комментариях причину. Мне интересно :)
    • Упс. Я забыл про правило — «никогда не упоминать о карме».
    • да в карме ли счастье? ты постишься, чтобы помочь людям или для повышения чсв?

      ps: восстановил справедливость :-)
  • В заголовке очень сильно не хватает слов «в OC Windows». А то, знаете ли, HD-video не только виндоюзеры смотрят.
    • В тегах стоит «default OS» :)
      А вообще, вариант с mplayer и ffmpeg-mt вполне годится и для Linux-пользователей.
    • Мне попались на глаза слова «нетбук», «Aspire», «ffmpeg-mt» и «mplayer». Пройдя по ссылке на Kovensky’s MPlayer, с удивлением обнаружил сборку для Windows. Вернулся и все понял. Оказывается HD-video виндоюзеры тоже смотрят.
      • ой-ой… как толсто :)
        хоть сам использую убунту, не считаю, что виндоюзеры чем-то хуже. Чего и вам желаю.
        • Ну что поделаешь, настроение сегодня не к черту. Просто «default OS» в контексте нетбука — несколько неоднозначно.
          • Может и жаль, но окошки и тут уже отожрали больший процент девайсов.
          • По заявлением мелкософтовцев: «We’ve seen Windows share on these PCs[netbooks] in the U.S. go from under 10% of unit sales during the first half of 2008 to 96% as of February 2009».
            • Да, МС умеет делать заявления…

              "… Итак, ЛеБланк утверждает, что 96% нетбуков продаются с предустановленной Windows XP. Это некорректное утверждение, так как оно базируется на единственном показателе, а именно исследовании компанией NPD Group количества их розничных продаж в обычных магазинах США. В отчет не попали онлайн продажи нетбуков, десятки наименований которых представлены на Amazon.com, ZaReason.com, или любом другом онлайн магазине. Так же не попали в отчет и мировые продажи нетбуков, а ведь Америка на этом рынке занимает только 20%...."

              www.opennet.ru/opennews/art.shtml?num=21191
              • следует еще учесть долю тех кто брал линукс версию чтобы стать вором (ну т.е. установить ворованую винду). Ну пусть в итоге там будет не 96% а 90%, в любом случае это совсем не так мало как хотелось бы. и не последнюю роль в этом всем сыграл выбор дистрибутива. вот если б они подпилили убунту и ставили ее вместо тех убогих ксандросов-шмандросов, то эффект возможно был бы более положителен. потому что если убунту уже многие знают, то ксандрос напугал бы даже меня.

                В итоге линукс очень сильно упустил момент для захвата нетбуков (на данный момент оно именно так, но неизвестно как будет с выходом arm/linupsandroid-буков). А тут еще МС выпускает не вовремя win7 которая оказалась на удивление не так уе***на как была vista. Короче пока все довольно печально. Менее печально чем несколько лет назад, но не так радостно как могло бы быть.
                • А долю тех, кто покупал с Виндой чтобы поставить Линукс Вы учесть не хотите? Лично у меня 2 ноута, купленные с Виндой, но на обоих стоит Линукс (а купить их с Линуксом возможности не было предоставлено). Так что давайте во-первых не будем пытаться выдумывать что-то на ровном месте (подгоняя под ответ), а во-вторых не будем экстраполировать опыт отдельно взятой группы людей на весь мир.

                  И ещё, кстати, Вам следует учесть, что использование нелицензионного ПО не является воровством и перестать употреблять термин «воровство» не к месту.
                  • да полпроцента можно не считать. и то если там они вдруг наберутся. так что не хочу.

                    И еще, вам следует учесть что мне нравится слово «воровство». оно звучит красиво.
              • Вот открытие, если в магазин завозить 96% Нетбуков с XP, а 4% с Linux, то доля продаж XP Нетбуокв вырастет до 96%.
  • GOM Player имеет свой набор фильтров — на старом Pentium M 720p видео смотрится без проблем, а на Media Player Classic без рекомендованного вами ffmpeg-mt тормозит. Попробуйте! Если и у вас будет все ок, то можно добавить в первый пост.
    • Я пробовал поставить на нетбук GOM Player, но скорость воспроизведение у него ниже, чем у всех перечисленных мною вариантов (по-крайней мере он отчётливо ронял кадры, а перечисленные способы — нет).
      • Поставил GOM (в настройках выключил встроенный) + кодек от DIVX и все отлично заработало ) спасибо за ссылку на кодек.
        • Вообще это будет работать с любым плеером, который понимает DirectShow-кодеки (практически все).
  • Считаю кодекпаки пережитком прошлого.
    Встроенных в современные плееры (Media Player Classic Homecinema или, например, The KMPlayer) кодеков достаточно для воспроизведения практически любого видео. А такие решения, как CoreAVC или кодек Real Alternative легко установить отдельно.
    Кодекпаки лишь засоряют систему и чаще мешают корректному воспроизведению видео, нежели помогают ему.
    • Тот же K-Lite Codec Pack по сути и ставит MPC, ffdshow, Haali, и пару утилит. Чем же он так захламляет систему по сравнению с установкой этого же по-отдельности?
      • По сути, он ставит огромную кучу кодеков.
        • Практически все они реализованы в одной библиотеке (libavcodec), на которой и построен ffdshow. А его всё равно нужно будет поставить. Так не всё ли равно?
          • Помимо ffdshow, K-Lite Codec Pack ставит кучу кодеков, что аудио, что видео.
            Посмотрите скриншот — галочки по умолчанию.
            • не кучу, а пару-тройку. в основном он рассчитывает на ffdshow.
  • k-lite олько не надо советовать) всем в том числе и гуглу известно, что кодек-паки — зло.
    ставить нужно ffdshow, который примерно месяц назад включил в свой код ffmpeg-mt. Последние билды скачивать удобно вместе с билдами MPC-HC с xvidvideo.ru
    CoreAVC действительно быстр, но платен. И к тому же качество самой картинки тоже хуже, чем ffdshow.
    • Первый элемент по вашей ссылке: «Да никакое кодек паки не зло, всегда можно их правильно настроить.»
      • у меня он второй
        вам объяснить как работают поисковики?
        Там пишет Доктор Зло, я же желаю нам всем добра.
        • В рамках того что «всем известно что кодек-паки зло» вы хотите рассказать о своем видении работы гугла? Увольте, речь не об этом.
          • вы, как выше про kmplayer, выбрали одну левую ссылку из 10
            • Ай как нехорошо клеветать на незнакомого человека, да ещё и «за глаза». Никто «выше про kmplayer» не выбирал левую ссылку из 10 (и там «выше» я Вам это объяснил).
              Извиниться не желаете?
              • вы выбрали(!) и это объяснили. Вы отбросили по своим убеждениям первые ссылки и выбрали ту единственную, которая вам приглянулась.
                то означает «за глаза»? Я должен был вам кинуть ссылку на мой комментарий? Мы с вами пишем в одном топике, мои сообщения видны вам. Отбросьте ненужную патетику.
                • Ой, действительно.
                  Первая ссылка «Скачать бла-бла-бла» — конечно, не «левая». У любого пользователя компьютера должен быть рефлекс жать на ссылки вида «скачать бесплатно download free all-in-one ...»
                  Вторая ссылка, открывшаяся на корейском — тоже не «левая». Любой уважающий себя пользователь должен уметь читать по-корейски.
                  И среди этих «10 ссылок» я, разумеется, выбрал самую «левую» — на Википедию. Исключительно потому что она мне «приглянулась», а вовсе не потому, что Википедия (рядом с источниками вида «скачать» и прочими) является самым авторитетным источником (возможно, только для меня, а все нормальные люди черпают знания с варез- и околоварез-сайтов).
                  Я её, видите ли, «выбрал». Мне очень интересно, как это делаете Вы. Сами не выбираете, куда ткнуть, зовёте соседа? Или ищете исключительно через кнопку «Мне повезёт»?
    • Они зло только в том случае, если их ставить три штуки подряд.
      А один кодек пак ничего еще не портил. У меня, по крайней мере.
  • Уважаемые! А не подскажете ли, что использовать Мак юзеру!? Есть Mac mini 2009г.выпуска(тот что с Nvidea).Пользую PLEX, но может еще что то есть?
    • есть VLC под макось — videolan.org
      но вот по моему опыту, PLEX играет намного лучше. VLC туговато тянет HD1080i, а вот PLEX — практически без проблем
    • Можете ещё попробовать mplayer, он же кроссплатформенный.
    • Разве в Мак мини 2009 не стоят крутые Сore2?
  • Спасибо за информацию.
    Давно лежал особо злостно качественный фильм в 1080i. Я уж думал придётся либо апгрейдить свой Athlon 64 x2 4200, либо, что вероятнее, закрыв глаза удалять фильм. Из всех вышеуказанных и протестированных способов помогла только установка CoreAVC — посмотрел наконец фильм без единого притормаживания. Все остальные декодеры по моим наблюдениям работают или медленнее встроенного в KMPlayer, или очень близко к нему, то есть в динамичных сценах наблюдаются ощутимые подтормаживания.
    • Проприетарный софт торжествует :)
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.