Videofx decoder жрет 4гб памяти
В одной из предыдущих статей я поднимал тему аппаратного декодирования видео Full HD. Современность требует использования на компьютере видео разрешений 4K и 8K.
Введение
Чтобы обеспечить стабильную частоту кадров, низкую загрузку процессора во время воспроизведения видео высокого разрешения, вычислительная нагрузка перекладывается с центрального процессора на видеокарту - аппаратное ускорение видео. Для этого, видеокарта должна иметь поддержку декодирования популярных форматов - H.264 (AVC), H.265 (HEVC), VP8, VP9.
Следует отметить, что на видеохостинге YouTube по умолчанию воспроизводится видео формата VP9 - дальнейшее развитие формата VP8. Использование VP9 обусловлено необходимостью экономии пропускной способности. Но VP9 - более требовательный кодек с точки зрения вычислительных потребностей, близок к H.265. При одинаковом битрейте, кодек VP9 обеспечивает лучшее качество по сравнению с H.264.
Полная аппаратная поддержка кодека VP9 начинается с карт nVidia GTX 950, 960, которые поддерживают набор возможностоей "Feature Set F". Более ранние карты обрабатывают VP9 частично, полагаясь на центральный процессор.
У Intel поддержка VP9 впервые реализована во встроенном графическом процессоре Intel HD Graphics 620 / Intel UHD Graphics 620, входяем в состав CPU поколений "Kaby Lake" и "Coffee Lake". Например, процессоры Intel i3-7200, Intel i3-8300 без проблем воспроизводят видео YouTube в разрешении FullHD, в чём я убедился. При этом, центральный процессор занят не более чем на 24%. Более новые чипы Intel® UHD Graphics 730, 750 также годятся. Поддержка формата 4K началась с процессоров intel Core 6-ой серии.
Наиболее подходящие для просмотра YouTube процессоры AMD со встроенной графикой - с Ryzen 5 2400G, Ryzen 5 3350G, Ryzen 5 3400G, Ryzen 5 Pro 3400G и подобные, с чипом "RX Vega 11". Из дискретных видеокарт AMD - лучшие (но и дорогие) - Radeon cерии RX - 5300, 5600, 5700 и т.д..
nVidia - аппаратное ускорение видео "PureVideo"
AMD аппаратное ускорение видео "Avivo"
Встроенная графика процессоров Intel
Разрешение видео и кодеки | Поколение | Модели ЦП |
---|---|---|
Full HD - да (AVC/H.264, VC-1 и MPEG-2 через интерфейс DXVA) | 6th Gen - HD Graphics 2000 / 3000 ("Sandy Bridge") | Celeron G440 - G555; Pentium G620 - G860; Core i3 2100 - 2130, Core i5 2300 - 2550K, Core i7 2600 - 2700K, Core i7 3820 / 3930K |
Full HD - да (AVC/H.264, VC-1 и MPEG-2 через интерфейс DXVA) | 7th Gen - HD Graphics 2500 / 4000 ("Ivy Bridge") | Core i3 3210 - 3250T, Core i5 3330 - 3570K, Core i7 3770 / 3770K, Core i7 4820K / 4930K |
Full HD - да 4K - нет | 7th Gen - HD Graphics 4200 / 4400 / 4600 / 5000 / 5100 / 5200 ("Haswell") | Core i3 4130 - 4370T, Core i5 4430 - 4690K, Core i7 4770 / 4790 |
Full HD - да 4K - нет | 8th Gen - HD Graphics GT1 / 5300 / 5500 / 5600 / 6000 / 6100 / 6200 ("Broadwell") | Мобильные решения: Core i3-5005U - 5157U |
4K - да, 60Hz H.265 - 8bit | 9th Gen - HD Graphics 510-GT1, 515 / 520 / 530 / 540 / 550 / 580-GT2 (" Skylake ") | Core i3-6006U, i3-6100U, 6100, 6300, 6320, Core i5-6200 / 6260U / 6300 / 6320 / 6360U / 6400 / 6600Core i7-6820, 6560U, 6660, 6650U, Pentium® G4400, Pentium® G4500, Pentium® G4520, Celeron® G3900E, Celeron® G3920, Celeron® G3900T, Celeron® G3900, Celeron® 3855U, Celeron® 3955U |
4K - да, 60Hz H.265 (HEVC) -10 bit, VP9 | 9th Gen - HD Graphics 610-GT1, 615 / 620 / 630-GT2, 640 / 650-GT3e (" Kaby Lake ") | Core i3-7100 - 7350K, Core i5-7400 - 7600T, Core i7-7500U - 7700K - 7820, Pentium® Gold 4415U, Pentium® G4560T, Pentium® G4560, Pentium® G4600, Pentium® G4620, Celeron® G3930E, Celeron® G3930TE, Celeron® G3930T, Celeron® G3950, Celeron® G3930, Celeron® 3865U, Celeron® 3965U |
4K - да, 60Hz H.265 (HEVC) - 10bit, VP9 | 9th Gen - HD Graphics 610-GT1, UHD Graphics - 620 / 630 - GT2, 655 - GT3e (" Coffee Lake ") | Core i3-8100, i3-8300, i5-8400, i5-8500, i5-8600, i7-8700; Core i3-9100, i3-9300, i5-9400, i5-9500, i5-9600, i7-9700, i9-9900; G5400 класса "Gold", G5420, G5600, G6520 Celeron® G4900, Celeron® G4920, Celeron® G4930T, Celeron® G4930, Celeron® G4950 |
9th Gen - UHD Graphics 600 - GT1, 605 - GT1.5 ( "Goldmont Plus" ) | ||
9th Gen - UHD Graphics 615/617 - мобильные процессоры ("Amber Lake") | Pentium® Gold 4425Y | |
4K - да, 60Hz H.265 (HEVC), VP9 | 11th Gen - UHD Graphics - мобильные процессоры G1/G4/G7 ("Ice Lake") | Core™ i3-1005G1, Core™ i3-1000G1, Core™ i3-1000G4 Intel® Core™ i5-1035G7, Core™ i5-1035G1, Core™ i5-1030G7, Core™ i5-1030G4, Core™ i5-1038NG7 Core™ i7-1065G7, Core™ i7-1060G7, Core™ i7-1068NG7, Core™ i5-1035G4 |
4K - да, 60Hz H.265 (HEVC), VP9 | 11th Gen - UHD Graphics - мобильные процессоры G1/G4/G7 (" Gemini Lake Refresh ", " Jasper Lake ") | Мобильные процессоры - Pentium® Silver N5000, N5030, N6000, N6005, Pentium® Silver J5005, J5040 |
4K - да, 60Hz H.265 (HEVC), VP9 | 11th Gen - " Rocket Lake " - Intel® UHD Graphics 730, 750 | Core™ i5-11400 Processor, Core™ i5-11400T Processor, Core™ i7-11700K, Core™ i9-11900K |
нет данных | 12th Gen - UHD Graphics G4/G7 ("Xe") | Нет данных |
Процессоры AMD со встроенной графикой для настольных ПК
Разрешение видео и кодеки | Поколение | Модели ЦП |
---|---|---|
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen" - Athlon "Raven Ridge", 14 nm, Vega 3 | Athlon 200GE / 220 GE / Pro 200GE / 240 GE / 3000G |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen" - Athlon "Picasso", 12 nm, Vega 3 | Athlon Pro 300GE, Gold 3150GE, Gold Pro 3150GE, Gold 3150G, Gold Pro 3150G, |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen" - Athlon "Dalí", 14 nm, Vega 3 | AMD 3015e, AMD 3020e, Athlon Silver 3050e, Athlon PRO 3045B, Athlon Silver 3050U, Athlon Silver 3050C, Athlon PRO 3145B,Athlon Gold 3150U, Athlon Gold 3150C, Ryzen 3 3250U, Ryzen 3 3250C |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen" - "RX Vega 8" | Ryzen 3 2200GE, Ryzen 3 Pro 2200GE, Ryzen 3 2200G, Ryzen 3 Pro 2200G |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen" - "RX Vega 11" | Ryzen 5 Pro 2400GE, Ryzen 5 2400G, Ryzen 5 Pro 2400G, Ryzen 5 3350GE, Ryzen 5 3350G |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen+" - "RX Vega 8" | Ryzen 3 3200GE, Ryzen 3 Pro 3200GE, Ryzen 3 3200G, Ryzen 3 Pro 3200G, Ryzen 5 Pro 3400GE, Ryzen 5 3400G, Ryzen 5 Pro 3400G |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen 2" - "RX Vega 6" / AMD Radeon 6 Graphics (Renoir) | Ryzen 3 4300G, Ryzen 3 Pro 4350G, Ryzen 3 4300GE, Ryzen 3 Pro 4350GE |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen 2" - "RX Vega 7" / AMD Radeon 7 Graphics (Renoir) | Ryzen 5 4600G, Ryzen 5 Pro 4650G, Ryzen 5 4600GE, Ryzen 5 Pro 4650GE |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen 2" - "RX Vega 8" | Ryzen 7 4700G, Ryzen 7 Pro 4750G, Ryzen 7 4700GE, Ryzen 7 Pro 4750GE |
H.264, H.265 / HEVC (8 & 10 bit), VP8, VP9, VC-1, AVC | "Zen 3" - "AMD Radeon Graphics" / AMD Radeon 5 Graphics (Renoir) | Ryzen 3 5300GE, Ryzen 3 5300G, Ryzen 5 5600GE, Ryzen 5 5600G, Ryzen 7 5700GE, Ryzen 7 5700G |
Стратегия апгрейда ПК для качественного просмотра видео
Очень старые компьютеры целесообразно модернизировать при помощи б/у дискретных видеокарт - таких как nVidia GT 440, 450, 460 или офисных видеокарат GT 520 / 610. Цена апгрейда составит 1000 рублей ($15). Более качественным решением является замена материнской платы и процессора. Если компьютер не будет использоваться для игр, можно собрать компьютер на недорогих процессорах со встроенной графикой - например, процессор Athlon 3000G (с графикой "Vega 8") можно купить за 5000 рублей ($67). Из продукции фирмы Intel - новые процессоры Intel® Core™ i3-7100 Socket LGA1151 - 6500 руб. имеются в продаже на AVITO. Этой конфигурации хватит для видео Full HD и офисных программ. Особо хочу отметить не очень известный процессор Intel Pentium Gold G5420, который стоит сейчас (на 2021-04-20) 8800 рублей (2020-10-06 я покупал его для организаци за 4700 руб.) - он также отлично воспроизводит видео FullHD (загрузка процессора 16%). Однако существенное подорожание компьютерных комплектующих в 2021 году заставляет подходить к модернизации ПК более осторожно.
С приходом тяжеловесных видеоформатов, таких как 4K (Ultra HD), проблема эффективности декодирования видеопотока стала достаточно актуальной. На среднем компьютере приходится принимать специальные меры для того, чтобы можно было обработать такой видеопоток в реальном масштабе времени. В статье рассказывается о возможных способах увеличения скорости декодирования видеопотоков в решениях, основанных на FFmpeg, и приводятся результаты экспериментов по измерению скорости декодирования для 4K видеопотоков, закодированных в H264 и HEVC(H265).
Мы будем рассматривать три способа повышения скорости декодирования видеопотока.
- Подключение дополнительных рабочих потоков (threads) в стандартных декодерах.
- Подключение аппаратного ускорения (HW Acceleration) в стандартных декодерах.
- Использование специальных декодеров, реализующих декодирование на графических процессорах.
Первый из них использует исключительно возможности CPU, а два других задействуют возможности графических процессоров.
Доступные способы повышения скорости декодирования видеопотока достаточно сильно зависят от используемой операционной системы, аппаратной конфигурации компьютера и конфигурации FFmpeg. Все приведенные в статье результаты проверялись на следующей программно-аппаратной конфигурации: операционная система — Windows 10, ЦП — Intel i5 8400 2.80 ГГц (6 ядер без hyper-threading), встроенный графический процессор — Intel UHD Graphics 630, память — 16 ГБ, сборка FFmpeg 4.2.1, с zeranoe.
Для лучшего понимания архитектуры кодеков в FFmpeg можно посмотреть предыдущую статью автора, которая находится здесь.
1.1. Подключение дополнительных рабочих потоков в стандартных декодерах
Многие декодеры (но, конечно, не все) позволяют установить количество рабочих потоков, используемых для декодирования. Для этого перед вызовом avcodec_open2() член thread_count структуры AVCodecContext надо установить в требуемое значение. Другой способ — добавить опцию threads в словарь опций, передаваемый в качестве третьего аргумента в avcodec_open2() .
Наиболее популярные декодеры, используемые для тяжелых форматов, ( h264 , hevc , vp9 ) поддерживают эту возможность, а вот theora нет.
Для подключения дополнительных потоков в командной строке надо использовать опцию с ключом -threads .
1.2. Подключение аппаратного ускорения в стандартных декодерах
FFmpeg позволяет для некоторых декодеров подключить аппаратное ускорение. При программировании с использованием FFmpeg API все необходимое для подключения к декодерам аппаратного ускорения находится в заголовочном файле libavutil/hwcontext.h . В этом файле определено перечисление enum AVHWDeviceType , каждый элемент которого и соответствует некоторому типу аппаратного ускорения. Какие типы аппаратного ускорения доступны в текущей сборке FFmpeg можно узнать с помощью следующего кода:
Для описанной выше программно-аппаратной конфигурации мы получим:
Понятно, что cuda требует установки платы Nvidia и соответствущего ПО, qsv использует технологию Intel Quick Sync Video (QSV), реализованную на встроенных графических процессорах Intel (см. [1]), dxva2 и d3d11va используют технологию DirectX Video Acceleration (см. [2]), доступную только в Windows, но зато реализованную для видеокарт разных производителей (Intel, Nvidia, AMD).
Конкретные декодеры не обязаны поддерживать все эти типы аппаратного ускорения (или хотя бы один из них). Для определения типов, поддерживаемых конкретным декодером, можно воспользоваться следующим кодом:
Для описанной выше программно-аппаратной конфигурации декодеры h264 , hevc , vp9 , vc1 поддерживают следующие типы аппаратного ускорения:
А вот theora вообще не поддерживает аппаратного ускорения.
Теперь совсем кратко рассмотрим процедуру подключения к декодеру аппаратного ускорения, за дополнительными деталями надо обратится к примеру hw_decode.c . Также можно посмотреть статью [3], написанную 2expres.
После декодирования данные кадра находится в некотором специальном формате, который определяется типом устройства, поэтому его надо конвертировать в один из обычных пиксельных форматов с помощью функции av_hwframe_transfer_data() . Для dxva2 и d3d11va этот формат будет NV12 .
Для подключения аппаратного ускорения в командной строке надо использовать опцию с ключом -hwaccel .
1.3. Использование специальных декодеров, реализующих декодирование на графических процессорах
В состав FFmpeg входят два семейства кодеков, реализующих кодирование и декодирование на графических процессорах.
Одно семейство использует технологию Intel Quick Sync Video (QSV), реализованную на видеопроцессорах, интегрированных в процессоры Intel семейств i3, i5, i7, i9. Подробнее см. [1]. Эти кодеки имеют суффикс _qsv . В рассматриваемой сборке FFmpeg есть следующие декодеры: h264_qsv , hevc_qsv , vp8_qsv , mpeg2_qsv , vc1_qsv .
Другое семейство использует технологии NVDEC, NVENC реализованные на платах Nvidia. Декодеры имеют суффикс _cuvid . В рассматриваемой сборке FFmpeg есть следующие декодеры: h264_cuvid , hevc_cuvid , mpeg2_cuvid , vc1_cuvid , vp8_cuvid , vp9_cuvid , mjpeg_cuvid , mpeg4_cuvid .
После открытия входного потока доступ к декодеру обычно реализуется следующим образом:
Но таким образом можно получить только декодер по умолчанию для данного идентификатора кодека. Для альтернативных декодеров нужно использовать имя декодера примерно таким образом:
Для использования альтернативных декодеров в командной строке надо использовать опцию с ключом -c:v расположив ее перед ключом -i примерно таким образом
Для экспериментов по измерению скорости декодирования были выбраны два видеоролика, один закодирован в H264, другой в HEVC(H265). Размер кадра — 3840х2160 (Ultra HD), скорость — 30 к/с. Тестировались стандартные декодеры — h264 , hevc и соответствующие QSV декодеры — h264_qsv , hevc_qsv . Стандартные декодеры настраивались в 4х вариантах: по умолчанию, два рабочих потока, четыре рабочих потока, аппаратное ускорение dxva2 . В наших экспериментах dxva2 показал лучшие результаты, чем d3d11va , поэтому последний не участвовал в измерениях скорости декодирования. Для проведения тестов была написана программа которая извлекала пакеты из файла и декодировала их с максимально возможной скоростью, игнорируя метки времени и не выполняя рендеринг или иную обработку. Было два режима этой программы: в первом выполнялось только декодирование, в втором еще производилось конвертирование декодированного кадра в 32-битный формат BGRA с использованием библиотеки libswscale . (На выходе декодера кадр обычно имеет 12-битный планарный формат YUV420P или NV12 .) Проводилось измерение времени, затраченного программой, и фиксировалось относительное время по отношению к номинальной длительности видеопотока (в процентах). Таким образом, если результат меньше 100%, то у нас есть шанс обработать видеопоток в реальном масштабе времени, если больше, то таких шансов нет. Также с помощью Диспетчера задач фиксировалась примерная загрузка ЦП и графического процессора. Использовалась 64-битная сборка FFmpeg.
Большого обсуждения результаты, наверное, не требуют. Единственно на что стоит обратить внимание — это заметные затраты на преобразование в BGRA . И главное, что эти затраты сильно меняются в зависимости от тестовой конфигурации, хотя работа во всех случаях выполнялась очень близкая.
Эксперименты проводились также для 32-битной сборки FFmpeg. Результаты довольно близкие, кроме одного случая: декодер hevc в конфигурациях без аппаратного ускорения показал падение производительности в 2-3 раза. Весьма неожиданный результат.
Описанные тесты можно выполнить в командной строке. Надо использовать глобальную опцию -benchmark и установить нулевой выход. Вот несколько примеров:
На выходе будет показан фактический fps , а параметр speed покажет во сколько раз он выше номинального. Если не задана опция с ключом -threads или для N указано специальное значение auto , то декодер использует максимально возможное число потоков, загрузка ЦП при этом 100%.
В рассматриваемой сборке FFmpeg есть следующие QSV декодеры: h264_qsv , hevc_qsv , vp8_qsv , mpeg2_qsv , vc1_qsv . Два последних оказались неработоспособными. Декодер mpeg2_qsv выдавал искаженную картинку, а vc1_qsv выдавал ошибку при передаче пакета на декодирование. Правда, эти декодеры не особо актуальны, но, все-таки, зачем выкладывать неработоспособные компоненты, не вполне понятно.
К оставшимся декодерам тоже есть претензии. В целом они работают, за исключением одного момента — они некорректно отрабатывают вызов avcodec_flush_buffers() . Ошибки нет, но после этого вызова позиционирование работает некорректно.
Если ваш ПК, довольно мощный по недавним меркам, почему-то отказывается нормально воспроизводить видео высокой четкости, это еще не повод задумываться о дорогостоящем апгрейде. Наши советы помогут решить эту проблему.
Если ваш ПК, довольно мощный по недавним меркам, почему-то отказывается нормально воспроизводить видео высокой четкости, это еще не повод задумываться о дорогостоящем апгрейде. Наши советы помогут решить эту проблему.
Покупая компьютер, вы рассчитываете, что он прослужит вам хотя бы несколько лет. В большинстве случаев так и получается, причем все это время он прекрасно справляется с задачами, поставленными при приобретении. А вот с современными медиаформатами высокой четкости, которые нередко встречаются в Интернете и в которых записывает ролики ваша новая видеокамера, возникают проблемы. Однако не стоит отправлять компьютер на свалку или затевать дорогостоящий апгрейд. Мы расскажем, как настроить различные программные медиаплееры и кодеки, чтобы видео высокого качества воспроизводилось без притормаживаний даже на маломощном нетбуке или не слишком старом, но не приспособленном производителем для этих задач настольном ПК.
Не все видео высокого качества одинаково тяжелое
Видео формата 1080р обеспечивает более чем двукратное увеличение разрешения по сравнению с вариантом 720p (1920х1080 против 1280х720 пикселей). Поэтому его обработка — более ресурсоемкая задача. Но разрешение картинки — не единственная характеристика видеофайла, которая влияет на сложность его воспроизведения. Не менее важна степень сжатия, применяющаяся в кодеке и определяющая битрейт потока. Часто попадается HD-видео с битрейтом 1–2 Мбит/с — обрабатывать такой поток способны даже маломощные процессоры. Однако в Сети можно встретить и настоящих «тяжеловесов» 1080р — рипы с Blu-ray-дисков, которые мало чем отличаются от оригиналов как по качеству, так и весу. Их объем составляет 30–40 Гбайт, а битрейт может достигать 25 Мбит/с. Воспроизводить такой поток без задержек непросто даже двуядерному процессору, и без помощи графического ускорителя здесь точно не обойтись. Но и в этом случае поможет правильный кодек.
Опоздавших — не пропускать
Настройте SMPlayer. Чтобы сделать воспроизведение HD-видео более плавным, отметьте галочками пункты «Допускать жесткое выпадение кадров» и «Использовать CoreAVC» Если графическая карта вашего компьютера не оснащена специальным механизмом обработки видео высокой четкости, то основная работа ложится на центральный процессор, который не слишком хорошо подходит для этого. В результате поступающий на него видеопоток не успевает оперативно обрабатываться, и кадры начинают накладываться один на другой. Как следствие, видео серьезно тормозит, а загрузка CPU достигает 100%. Эту неприятную проблему можно решить различными способами. Один из них — позволить плееру пропускать опоздавшие кадры. При этом действительно произойдет выпадение кадров, но вы вряд ли заметите искажение изображения.
VLC media player справится с HD-видео, если отметить в настройках в разделе «Видео» пункт «Пропускать кадры» Разница между стандартными 25 и, скажем, 22 фреймами в секунду незаметна невооруженным глазом, зато наложение кадров больше не будет вас беспокоить.
Второй способ состоит в отключении в плеере функции деблокинга видео — программного сглаживания картинки. Причем в некоторых случаях для решения проблемы «тормозов» HD-видео такой настройки будет вполне достаточно.
Как сделать это в разных плеерах. В приложении SMPlayer нужно, в зависимости от ситуации, в меню «Настройки | Настройки | Быстродействие» поставить галочку напротив пункта «Допускать выпадение кадров» или «Допускать жесткое выпадение кадров». Там же переведите «Петлевой фильтр» в режим «Пропускать (всегда)».
Конфигурация ffdshow из пакета K-Lite Codec Pack позволяет тонко настроить воспроизведение HD-видео. Например, в разделе «Разное» включите функцию «Пропуск кадров при задержке» В случае с VLC media player необходимо в меню «Инструменты | Настройки» в разделе «Ввод и кодеки» в пункте «Skip H.264 inloop deblocking filter» выбрать режим «Все», а в разделе «Видео» отметить галочкой настройку «Пропускать кадры».
Если вы используете пакет кодеков K-Lite Codec Pack, то нужно в меню «Пуск | K-Lite Codec Pack» запустить приложение «Конфигурация ffdshow video decoder» и в разделе «Разное» включить функции «Пропуск кадров при задержке» и «Нет H.264-деблока при задержке».
Задействуйте все процессорные ядра
Преобладающее большинство файлов с разрешением HD кодировано в стандарте H.264. Данный кодек еще называют MPEG-4 Part 10 и AVC. Он отличается высочайшей степенью сжатия, что становится проблемой для маломощных процессоров: без специального алгоритма (встроенного аппаратного декодера) они вынуждены распаковывать такой видеоконтейнер «на лету». Для воспроизведения H.264-видео могут применяться разнообразные декодеры, и не все они одинаково хорошо справляются со своей задачей. Некоторые решения годятся лишь для мощных настольных процессоров, а экономичным и портативным ПК такие варианты не подходят.
Но существуют и настоящие шедевры программного кода, способные вытянуть 720р- и даже некоторые 1080р-ролики на слабых ПК. Так, Intel Atom N270 и N450 — типичные процессоры нетбуков — физически являются одноядерными, но благодаря технологии HyperThreading имеют два виртуальных ядра. Это преимущество стоит использовать, подобрав специальный декодер H.264, поддерживающий многопоточную обработку видео. Лучшим заслуженно считается CoreAVC, который по умолчанию встроен в VLC media player. Тем, кто предпочитает SMPlayer, стоит убедиться, что применяется именно CoreAVC: в меню «Настройки | Быстродействие» должен быть активирован пункт «Использовать CoreAVC».
Media Player Classic HC справляется почти с любыми форматами файлов. Но на всякий случай проверьте, что в настройках в разделе «Воспроизведение | Вывод» задан вариант VMR-9 Более опытные пользователи, как правило, используют медиадекодер ffdshow. В нем переключиться на многопоточный кодек можно, запустив «Конфигурацию ffdshow video decoder» и выбрав в меню «Кодеки | H.264/AVC» параметр «ffmpeg-mt» («mt» означает «multithreading»).
Приведенные в этом разделе рекомендации адресованы в первую очередь пользователям Windows XP. Операционная система Windows 7 уже содержит набор медиакодеков для воспроизведения H.264, а также весьма мощный плеер Windows Media Player. Некоторым он может показаться неповоротливым, поэтому мы предлагаем вам также более «легкую» альтернативу — Media Player Classic HC.
Видеокарта разгрузит процессор
Современные графические ускорители справляются с воспроизведением видео высокого качества намного лучше многих центральных процессоров. Причина тому — наличие встроенного аппаратного декодера видео. К сожалению, графические чипы Intel GMA 950 и GMA 3100 лишены такого модуля, и всю работу по декодированию видео придется выполнять CPU. Однако в случае с современными видеокартами нетбуков и неттопов таких проблем не возникает. В первую очередь, это NvidiaION (GeForce 9400M), Intel GMA 500 (неотъемлемая часть платформы Atom Z) и GMA X4500MHD. Прекрасно справляются с видео высокого разрешения и чипы всех серий ATI Radeon HD, которые редко используются для комплектаций маломощных ПК. Но с выходом платформы AMD Brazos ситуация изменилась в лучшую сторону.
Важный момент. В Windows 7 декодирование HD-видео с участием графического процессора поддерживается изначально. Пользователям ХР, даже если видеокарта поддерживает аппаратное декодирование, придется применять для этого специальные кодеки и плееры. Например, вы можете воспользоваться бесплатным плеером Media Player Classic Home Cinema для проигрывания HD-видео в форматах AVI, MPEG-4 и MKV.
Установка аппаратного декодера
Плата Broadcom Crystal HD является решением проблемы для воспроизведения видео Full HD на маломощном нетбуке Пользователи нетбуков часто жалеют о невозможности произвести апгрейд видеокарты, чтобы смотреть фильмы в Full HD. Поэтому компания Broadcom выпустила специальный видеодекодер Crystal HD (около 1600 рублей) в виде карты с интерфейсом Mini PCI-E, который полностью берет на себя обработку 1080р-видео. Такой слот имеется, напримерв нетбуке HP Mini 110. Если же свободного разъема нет, то можно заменить Wi-Fi-адаптер Mini PCI-E на USB-донгл, а на его место поставить Crystal HD. Перед его покупкой владельцам компьютеров с процессорами Intel Atom первого поколения (модель N270) рекомендуется обновить прошивку BIOS, иначе операционная система не распознает новое устройство. Установка драйверов Broadcom не только активирует аппаратный декодер, но и добавляет в систему необходимые кодеки.
К сожалению, «подружить» их с плеерами VLC и SMPlayer не получится. Для этой цели лучше выбрать Media Player Classic или Windows Media Player, которые работают с едиными для всей системы декодерами. Пользователям Windows XP необходимо лишь зайти в меню «Кодеки | H.264/AVC» настройщика ffdshow video decoder и выбрать «Broadcom Video Decoder». Приложение Windows 7 Preferred Filter Tweaker поможет применить нужный декодер для операционной системы Windows 7. В результате Broadcom Crystal HD позволяет добиться качества Full HD, загружая CPU Atom всего на 50%.
Ускоряем YouTube
Компания Adobe в Flash Player 10.1 обеспечила аппаратное ускорение онлайн-контента. Перенять большую часть нагрузки у CPU могут все те же видеокарты, которые рассматривались в предыдущем разделе статьи. Если нагрузка на центральный процессор не снизилась, следует проверить, стоит ли галочка в меню «Параметры» Flash Player 10.1 напротив пункта «Включить аппаратное ускорение». Если это позволяет скорость соединения, задержек при просмотре 1080р-роликов на YouTube больше не возникнет.
Если ничего не помогает
Мобильное видео Full HD
Вывод
Программа Ffdshow – это пакет аудио и видео кодеков в совокупности с системой постобработки потокового видео и аудио сигнала. Она работает по принципу DirectShow фильтра, что позволяет программе встраиваться в работу практически любого видеоплеера.
Что это за программа и для чего нужна?
Обычно в операционной системе стоит множество подпрограмм, которые отвечают за обработку аудио и видео данных и их последующий вывод. Все это подпрограммы можно назвать одним словом — фильтры. Также существуют сплиттеры, рендереры, которые также работают в связке с фильтрами. Они взаимодействуют между собой, чтобы пользователь в конечном итоге мог посмотреть фильм или послушать музыку.
Важно. Программа Video Decoder Ffdshow — это набор наиболее часто используемых фильтров, сплиттеров и рендереров, собранных в единую цепочку.Каждая из них отличается высоким уровнем стабильности в работе, поэтому видео или аудио файл обрабатывается быстро и без видимых проблем.
Отличительная черта данного программного обеспечения — отсутствие встроенного плеера для воспроизведения видео контента. То есть, Ffdshow будет интегрироваться в работу уже установленных плееров на вашем компьютере. Программное обеспечение распространяется по лицензии GNU General Public License version 2.0 (GPLv2). То есть, она передается бесплатно и может быть скачана любым пользователем для личных или коммерческих нужд.
Официальный язык программы — английский. Но при первоначальной установке можно выставить русскую версию. Вообще Ffdshow поддерживает огромное количество языков.
Программа Ffdshow впервые появилась в 2002 году и была альтернативой декодерам DivX 3.11 и DivX 5.02. До 2006 года разработка велась одним программистом Milan Cutka. Позже проект перешел в руки ffdshow-tryouts. Сегодня проектом занимается группа разработчиков, включая компанию Ffmpeg.
Как настраивать Video Decoder?
- Перед тем как приступить к настройке основных параметров, рекомендуется закрыть все активные плееры и прочие программы.
- После этого перейдите в меню виндовс и найдите папку с установленной программой >Ffdshow.
- В появившемся списке выберите пункт «Video decoder configuration». На рабочем столе откроется новое окно со списком активных кодеков.
Условно область настроек можно разбить на две части:
- Правое поле. Здесь отображены все активные или выключенные кодеки, которые установлены в операционной системе. Их можно назначать как приоритетные для каждого плеера. Также любой из кодеков можно отключить.
- Левое поле. В нем отображены общие настройки программы. Также есть ручная корректировка, где можно создать собственный профиль с заданными пользователями параметрами, фильтрами и прочими настройками.
В нижней части программы располагаются кнопки «отмена», «ок» и «подтвердить». Также есть отдельная кнопка под экспорт настроек.
Как скачать и установить эту программу?
Для оптимальной работы потребуется компьютер или ноутбук с минимальными системными требованиями:
- 1 Гб ОЗУ;
- не более 10 Мб на жестком диске (дистрибутив занимает порядка 5 Мб);
- видеокарта не менее 256 Мб;
- процессор не менее 1.3 Гц.
Вообще данная программа очень нетребовательна к ресурсам компьютера.
Мощное «железо» может потребоваться именно для обработки видео хорошего качества. Например, в разрешении 720р или 1080р.
После скачивания нужно пройти стандартную установку. Рекомендуем не трогать настройки, которые выставляет система на каждом шагу инсталляции, если вы не опытный пользователь. В противном случае можно столкнуться с некоторыми трудностями при воспроизведении звука или видео в будущем.
Читайте также: