Видео высокой чёткости
Большинство видео в сети, а также все видеокамеры высокой чёткости используют формат AVCHD (H.264, MPEG-4 Part 10). Он обеспечивает высокую степень сжатия при сохранении высокого качества изображения. Недостатком является высокая требовательность к ресурсам. Так, обеспечить комфортное воспроизведение видеопотока с разрешением 1920×1080 могут только современные высокопроизводительные процессоры.
NVIDIA VDPAU
Для пользователей, имеющих старый компьютер и не желающих покупать новый или использовать видео худшего качества существуют аппаратные решения. Они позволяют обойтись лишь обновлением видеокарты и использованием программного обеспечения, поддерживающего аппаратное ускорение видео. Цена такого решения невысока, но НЕ все видеокарты NVIDIA поддерживают технологию аппаратного ускорения, её версия для Linux называется VDPAU.
Список видеокарт NVIDIA
Видеокарта | Графический процессор | Набор возможностей VDPAU | Замечания |
---|---|---|---|
GeForce FX (5xxx) | NV3x | Не поддерживается | – |
GeForce 6 (6xxx) | NV4x, C51, C61 | Не поддерживается | – |
GeForce 7 (7xxx) | G7x, C86 | Не поддерживается | – |
GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640MB) | G80 | Не поддерживается | – |
GeForce 8300 GS, 8400 GS (старые), 8500 GT, 8600 GT, 8600 GTS; Quadro FX 370, 570, 570M, 1600M, 360M; Quadro NVS 130M, 135M, 140M, 290 | G84, G86 | A | – |
GeForce 8800 GS, 8800 GT, 8800 GTS (512MB/1GB), 9400 GT, 9500 GT, 9600 GSO, 9600 GT, 9800 GT, 9800 GTX, 9800 GTX+, 9800 GX2; GeForce GT 120, GT 130, GTS 150, GTS 150M, GTS 160M, GTS 250, GTX 260M, GTX 280M | G92, G94, G96 | A | – |
GeForce GTX 260, GTX 260 Core 216, GTX 275, GTX 280, GTX 285, GTX 295; Quadro FX 770M, 1700, 2700M, 3600M, 3700, 4800, 5800; Quadro NVS 320M | GT200 | A | – |
GeForce 8400 GS (новые), 9300 GS, 9300 GE; GeForce G 100; Quadro FX 370 LP, 470; Quadro NVS 150M, 160M, 295, 420, 450 | G98 | B | – |
GeForce 8100, 8200, 8200M, 8300, 9100M, 9200M GS, 9300M GS, 9400M G, 9500M GS, 9600M GS, 9650M GT, 9700M GT, 9700M GTS, 9800M GTS, 9800M GT, 9800M GTX; ION, ION-LE | C77, C79, NB9 | B | – |
GeForce G 205, G 210, G 210M, GT 220, GT 230M, GT 240M, GT 240, GTS 250M, GTS 260M, 310 | GT215, GT216, GT218 | C | Первое поколение с поддержкой MPEG-4 ASP (MPEG-4 Part 2) |
Наборы функциональных возможностей VDPAU видеокарт NVIDIA
Разные поколения видеокарт NVIDIA поддерживают разные наборы возможностей VDPAU. Для всех видеокарт максимальное поддерживаемое разрешение 2048х2048 пикселей, минимальное – 48х48 пикселей и все кодеки ограничены 8192 макроблоками (8190 for VC-1/WMV9).
Частичное ускорение означает, что декодирование потока данных осуществляется центральным процессором, а графический процессор выполняет только дискретное косинусное преобразование и компенсацию движения. Полное ускорение означает, что все операции выполняются графическим процессором.
- Набор функциональных возможностей A
- Полное ускорение для H.264
- Частичное ускорение для MPEG-1, MPEG-2, VC-1/WMV9
- Набор функциональных возможностей B
- Полное ускорение для MPEG-1, MPEG-2, VC-1/WMV9 и H.264.
- Невозможно декодировать H.264 ширины: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 пикселей.
- Набор функциональных возможностей C
- Полное ускорение для MPEG-1, MPEG-2, MPEG-4 Part 2 (MPEG-4 ASP), VC-1/WMV9 и H.264.
Приложения, использующие VDPAU
Для Linux приложений существуют патчи, позволяющие использовать VDPAU ffmpeg, xine, mplayer, kdenlive (для воспроизведения видео), mythtv, and xbmc и предположительно кодеки с открытым исходным кодом работают в vlc.
В openSUSE можно использовать репозиторий Packman, содержащий пакеты ffmpeg, mplayer и kdenlive c поддержкой VDPAU. Текущая версия xine 1.1.18 (на март 2010) не имеет поддержки VDPAU, она будет включена в версию 1.2.
Установка VDPAU в openSUSE
Для использования VDPAU в openSUSE необходимо использовать:
- видеокарту nVidia с поддержкой VDPAU
- проприетарный драйвер nVidia
- программу с поддержкой VDPAU (например ffmpeg или MPlayer из репозитория Packman)
Использование VDPAU в приложениях
Далее содержится информация, специфичная для конкретных приложений.
Проверка возможностей VDPAU в ffmpeg
Для проверки ffmpeg на предмет поддержки VDPAU необходимо ввести в терминале команду:
ffmpeg -formats | grep vdpau
ответ должен быть аналогичен этому:
FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --shlibdir=/usr/lib --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib --enable-shared
--enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaad
--enable-libfaac --enable-libxvid --enable-swscale --enable-postproc --enable-gpl
--enable-vhook --enable-x11grab --enable-libschroedinger --enable-libdirac --enable-libgsm
--enable-libx264 --enable-libamr-nb --enable-libamr-wb --enable-libdc1394 --enable-nonfree
--enable-pthreads --enable-vdpau
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 10 2009 22:17:30, gcc: 4.3.2 [gcc-4_3-branch revision 141291]
D V D h264_vdpau H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
D V DT mpeg1video_vdpau MPEG-1 video (VDPAU acceleration)
D V DT mpegvideo_vdpau MPEG-1/2 video (VDPAU acceleration)
D V D vc1_vdpau SMPTE VC-1 VDPAU
D V D wmv3_vdpau Windows Media Video 9 VDPAU
Использования VDPAU в MPlayer
Если у вас установлен MPlayer с поддержкой VDPAU, для проигрывания видео форматов H.264, MPEG1/2 или VC-1 можно использовать следующие команды:
mplayer -vo vdpau -vc <codec> <video-file-name>
Где <codec> может быть следующим:
ffmpeg12vdpau
ffh264vdpau
ffwmv3vdpau
ffvc1vdpau
Для проигрывания закодированного в H.264 видео:
mplayer -vo vdpau -vc ffh264vdpau my-h264-video.avi
Для проигрывания закодированного в MPEG2 видео:
mplayer -vo vdpau -vc ffmpeg12vdpau my-mpeg2-video.mpg
Для проигрывания закодированного wmv3 видео:
mplayer -vo vdpau -vc ffwmv3vdpau my-wmv3-video.wmv
Для проигрывания закодированного VC1 видео:
mplayer -vo vdpau -vc ffvc1vdpau my-wmv-video.wmv
Преобразование из черезстрочной развёртки в прогрессивную в MPlayer VDPAU
В MPlayer можно использовать команды для управления параметрами преобразования
deint=<0−4>
Chooses the deinterlacer (default: 0). All modes > 0 respect −field−dominance. NOTE: Values > 2 delay the video output by one frame.
0 - No deinterlacing.
1 - Show only first field, similar to −vf field.
2 - Bob deinterlacing, similar to −vf tfields=1.
3 - Motion adaptive temporal deinterlacing. May lead to A/V desync with slow video hardware
and/or high resolution. This is the default if "D" is used to enable deinterlacing.
4 - Motion adaptive temporal deinterlacing with edge-guided spatial interpolation. Needs fast video hardware.
An example of the syntax could be:
mplayer -vo vdpau:deint=4 -vc ffmpeg12vdpau my-mpeg2-video.mpg
Использование SMplayer
В меню Настройки > Настройки на вкладке Видео выбираем устройство вывода vdpau. В разделе Дополнительно на вкладке Настроить Mplayer в строке Настройки необходимо ввести параметры запуска Mplayer:
-vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau,
Устранение неполадок с VDPAU
При быстром движении картинки возможно появление “разрывов” или горизонтальных линий, также это может проявляться как рывки видео. Одним из возможных решений проблемы можеть быть добавление в /etc/X11/xorg.conf :
Section "Extensions"
Option "Composite" "Disable"
EndSection
затем необходимо перезапустить X сервер.
Известные ограничения VDPAU (на Апрель 2009)
- 1. Воспроизведение некоторых видео потоков может вызвать ошибки графического процессора или крах системы.
- 2. Функция шага вперёд/назад работает не всегда надёжно и может привести к зависанию приложения.
- 3. MPlayer OSD или Composite Picture не поддерживается.
- 5. Декодер ffh264vdpau из состава MPlayer проигрывает по производительности другим: ffmpeg12vdpau, ffvc1vdpau и ffwmv3vdpau. Ведутся работы по оптимизации.