gstreamer-vdpau
Модератор: Bizdelnick
-
cronos
- Сообщения: 68
gstreamer-vdpau
Mandriva 2010.
Установил gstreamer-vdpau. А как это заставить работать??
Подскажите пожалуйста!
Установил gstreamer-vdpau. А как это заставить работать??
Подскажите пожалуйста!
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
А что подсказать-то? GStreamer - это набор кодеков-фильтров-плагинов для аудио и видео. vdpau - невидимые драйвера для NVidia. По идее - работают с mplayer. Желательно пересобрать ffmpeg с поддержкой vdpau
./configure –enable-gui –enable-vdpau –enable-alsa
Ежели всё правильно - при работе практически перестает грузить процессор
-
cronos
- Сообщения: 68
Re: gstreamer-vdpau
Shurik писал(а): ↑11.11.2009 01:21
А что подсказать-то? GStreamer - это набор кодеков-фильтров-плагинов для аудио и видео. vdpau - невидимые драйвера для NVidia. По идее - работают с mplayer. Желательно пересобрать ffmpeg с поддержкой vdpau
./configure –enable-gui –enable-vdpau –enable-alsa
Ежели всё правильно - при работе практически перестает грузить процессор
Mplayer и Gstreamer не имеют никакого отношения друг к другу.
Пакет gstreamer-vdpau по идее должен предоставлять возможность проигрывателям, использующим gstreamer (например Totem), делать вывод через vdpau(т.е. с аппаратным ускорением). Вопрос в том как это включить...
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
cronos писал(а): ↑11.11.2009 12:02Shurik писал(а): ↑11.11.2009 01:21
А что подсказать-то? GStreamer - это набор кодеков-фильтров-плагинов для аудио и видео. vdpau - невидимые драйвера для NVidia. По идее - работают с mplayer. Желательно пересобрать ffmpeg с поддержкой vdpau
./configure –enable-gui –enable-vdpau –enable-alsa
Ежели всё правильно - при работе практически перестает грузить процессор
Mplayer и Gstreamer не имеют никакого отношения друг к другу.
Пакет gstreamer-vdpau по идее должен предоставлять возможность проигрывателям, использующим gstreamer (например Totem), делать вывод через vdpau(т.е. с аппаратным ускорением). Вопрос в том как это включить...
Правда?!?
А я как-то об этом и не знал.... Поэтому использовал именно mplayer. НО!
1. Мне не нравится, что ...из коробки... не работает vdpau
2. Мне не нравится, что mplayer на английском языке
3. Мне не нравится, что кодеки обрабатываются ЦП (центральным процессором) а не видеокартой
4. Мне не нравится, что ...по умолчанию... не поддерживаются все функции моего процессора и добавлены функции, которые мой процессор НЕ поддерживает
Поэтом - исправляем ситуацию.
Для этого - разбираемся, для начала - что у меня имеется. А имеется следующее:
- Видеокарта NVidia 9600GT и пропиретарный драйвер 185 версии. Стало быть у меня поддерживается аппаратное кодирование-декодирование с помощью vdpau
- Имеется двухядерный процессор Athlon-64 4200 (socket 939)
Теперь задачи:
- Хочу аппаратное кодирование-декодирование
- Хочу оптимизацию обработки под свой процессор
- Хочу все кодеки
- Хочу mplayer на русском
Что нужно для исполнения моих хотелок?
- Нужны кодеки
- Нужен сам mplayer
Скачиваем пакеты с исходниками:
- ffmpeg
http://mandrivalinux.hu/pub/mandriva/unoff...f2010.1.src.rpm
- Mplayer
http://mandrivalinux.hu/pub/mandriva/unoff...f2010.1.src.rpm
- Кодеки Windows - win32
http://rpm.pbone.net/index.php3/stat/26/di...f2009.0.src.rpm
Этого набора вполне достаточно для моих хотелок.
1. Ставим ОБЯЗАТЕЛЬНО!!! libfreetype
- В консоли под root набираем:
urpmi libfreetype -a
Установили.
Что-бы не слетали шрифты заходим в "Настройка рабочего стола -> Внешний вид -> Шрифты -> Использовать сглаживание -> Настроить - устанавливаем "Использовать межточечное сглаживание RGB и Стиль хиттинга - Легкий Сохраняем. Завершаем сеанс. Входим снова. Пока - всё.
Далее - епресобираем пакеты с учетом архитектуры и "хотелок".
Для начала - читаем здесь: Установка из исходников
1. Собираем win32 кодеки
- spec - файл - не правим, оставляем ...как есть....
- Добавляем архитектуру процессора
Под пользователем:
rpm -i win32-codecs-1.9-1plf2009.0.src.rpm
- Заходим в каталог SPECS
- Даем следующую команду:
rpmbuild -ba --target=athlon --clean win32-codecs.spec
* -ba (build all - полная сборка пакета)
* --target=athlon (прямое указание архитектуры процессора с включением всех внутренних функций)
* --clean (очистка каталогов от файлов после сборки пакетов)
Собрали. Включаем вторую консоль, но уже под root. Переходим в каталог пользователя /home/user/rpm/RPMS
Устанавливаем пересобранный rpm-пакет:
rpm -Uhv --force --replacefiles *.rpm
* -Uhv (обновление пакетов с подробным отчетом установки)
* --force (принудительная установка пакетов) - мне плевать - стоят уже такие пакеты, или нет - мне нужны именно мои, пересобранные под мои требования
* --replacefiles (заменить все файлы при установке пакета на новые, даже если их имена совпадают) - мне нужны именно модернизированные файлы, а не совпадающие по именам.
* *.rpm (установка всех rpm-пакетов с автоматическим выбором последовательности установки)
Установили.
Следующий номер программы - ffmpeg
Поскольку именно он отвечает за кодирование-декодирование, то именно в нём и необходимо включать поддержку ЦП и аппаратное кодирование-декодирование vdpau
1. Устанавливаем из-под пользователя сам пакет:
rpm -i ffmpeg-0.6-0.20469.1plf2010.1.src.rpm
Установили. Врубаем МС. Лезем в /home/user/rpm/SPECS и находим там файл ffmpeg.spec Выделяем его и давим "F4". Находим секцию конфигурирования:
%build
export CFLAGS="%optflags -FPIC"
export LDFLAGS="%{ldflags}"
./configure --prefix=%_prefix \
--enable-shared \
--libdir=%{_libdir} \
--shlibdir=%{_libdir} \
--incdir=%{_includedir} \
--enable-postproc \
--enable-gpl \
--enable-pthreads \
--enable-libtheora \
--enable-libvorbis \
--enable-x11grab \
%if %build_plf
--enable-libmp3lame \
--enable-libfaad \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-version3 \
%endif
%if %build_faac
--enable-nonfree --enable-libfaac
Смотрим - есть, или нет поддержка vdpau - хрена там, а не поддержка. Ну и ладно - включаем поддержку vdpau, т.е. добавляем функцию --enable-vdpau \ в spec-файл. Теперь секция выглядит уже так:
%build
export CFLAGS="%optflags -FPIC"
export LDFLAGS="%{ldflags}"
./configure --prefix=%_prefix \
--enable-shared \
--libdir=%{_libdir} \
--shlibdir=%{_libdir} \
--incdir=%{_includedir} \
--enable-vdpau \
--enable-postproc \
--enable-gpl \
--enable-pthreads \
--enable-libtheora \
--enable-libvorbis \
--enable-x11grab \
%if %build_plf
--enable-libmp3lame \
--enable-libfaad \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-version3 \
%endif
%if %build_faac
--enable-nonfree --enable-libfaac
%end
Давим клавишу "F2" и собираем ffmpeg уже с поддержкой vdpau:
rpmbuild -ba --target=athlon --clean ffmpeg.spec
Если необходимо - доставляем нужные пакеты. Если имеются пакеты с gcc для установки - устанавливаем, а затем перегружаем комп - иначе сборка будет вываливаться с ошибкой. Собираем оптимизированный пакет. Собрали. Опять - переходим под root и устанавливаем все пакеты:
rpm -Uhv --force --replacefiles *.rpm
Установили. Теперь подавляющее большинство кодеков стоит, аппаратная поддержка в них включена, кодеки оптимизированы под мой процессор. Теперь пора и за mplayer приниматься. Устанавливаем под пользователем:
rpm -i mplayer-1.0-1.rc4.0.r29850.2plf2010.1.src.rpm
Установили. Опять лезем в каталог со spec-файлами. Находим там файл mplayer.spec, выделяем его и жмём "F4" Находим секцию, отвечающую за конфигурирование mplayer-gui и смотрим там язык:
%if %build_gui
--enable-gui \
%endif
--language=all \
\
%if ! %build_faad
--disable-faad-internal \
%endif
Не, не пойдёть - --language=all \ - это он мне на английском соберется - а английский мне не нужен, поэтому изменяем на:
%if %build_gui
--enable-gui \
%endif
--language=ru \
\
%if ! %build_faad
--disable-faad-internal \
%endif
Сохраняем, т.е. жмем на "F2". Тем самым устанавливаем русский язык для gui-оболочки. Собственно на этом - всё. Собираем русский mplayer с аппаратной поддержкой кодирования-декодирования кодеками ffmpeg, задействованными кодеками Windows win32, оптимизированным под мой ЦП и русским языком:
rpmbuild -ba --target=athlon --clean mplayer.spec
Если необходимо - доставляем нужные пакеты. если имеются пакеты с gcc для установки - устанавливаем, а затем перегружаем комп - иначе сборка будет вываливаться с ошибкой. Собираем. Собрали.
Устанавливаем под root все получившиеся пакеты:
rpm -Uhv --force --replacefiles *.rpm
Вот и всё. mplayer начинает воспроизводить всё, что только можно с аппаратным декодированием. Все настройки - на русском языке. ЦП - практически не задействуется, даже при "тяжелых" фильмах.
-
cronos
- Сообщения: 68
Re: gstreamer-vdpau
У меня стоит mplayer и прекрасно воспроизводит через vdpau, кстати, если вы не знаете, в Mandriva 2010 это работает прямо из "коробки"!
НО!
Я хочу использовать другой плеер, например родной KDE-шный Dragon. Тем более что есть ведь пакет gstreamer-vdpau, значит по логике вещей всё должно работать.
Но я не знаю как настроить это всё? Как настроить gstreamer или phonon?
НО!
Я хочу использовать другой плеер, например родной KDE-шный Dragon. Тем более что есть ведь пакет gstreamer-vdpau, значит по логике вещей всё должно работать.
Но я не знаю как настроить это всё? Как настроить gstreamer или phonon?
-
BDag
- Сообщения: 276
- ОС: Mandriva Linux Cooker
Re: gstreamer-vdpau
на текущий момент в gstreamer имеется поддержка декодирования посредством VDPAU только mpeg потока (gstreamer-plugins-bad v. 0.10.14.1).
В состав мандрива также не вошел патченый xine-lib с поддержкой vdpau (его нет даже в plf).
Оба этих факта говорят, что phonon не получится пока использовать для декодирования через vdpau.
В состав мандрива также не вошел патченый xine-lib с поддержкой vdpau (его нет даже в plf).
Оба этих факта говорят, что phonon не получится пока использовать для декодирования через vdpau.
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
BDag писал(а): ↑12.11.2009 00:00на текущий момент в gstreamer имеется поддержка декодирования посредством VDPAU только mpeg потока (gstreamer-plugins-bad v. 0.10.14.1).
В состав мандрива также не вошел патченый xine-lib с поддержкой vdpau (его нет даже в plf).
Оба этих факта говорят, что phonon не получится пока использовать для декодирования через vdpau.
В ffmpeg тоже не было поддержки VDPAU. На примере, приведенном выше, я уже показал - как и что нужно крутить ИМЕННО ДЛЯ СЕБЯ, что-бы ...усё було... Не понимаю - какая злая сила не дает подключить VDPAU КУДА УГОДНО?!?
Неужели так трудно потратить 1,5-2 часа, но зато получить результат, который будет удовлетворять ЛИЧНО ТЕБЯ на все 100%?
-
BDag
- Сообщения: 276
- ОС: Mandriva Linux Cooker
Re: gstreamer-vdpau
для того чтобы использовать mplayer с декодированием vdpau достаточно поставить этот mplayer из репозитория, он там уже пропатченный. Также дела обстоят и с кодеками win32. Подключайте plf и вперед.
Плагин для gstreamer является экспериментальным, также как и доработка xine, что в свою очередь не обеспечивает 100% работоспособности.
Плагин для gstreamer является экспериментальным, также как и доработка xine, что в свою очередь не обеспечивает 100% работоспособности.
-
Robo
- Сообщения: 121
- ОС: Win XP SP3
Re: gstreamer-vdpau
Неплохой лозунг для системы, про которую пишут: "Mandriva выгодно отличается дружественным интерфейсом пользователя и простотой освоения для пользователей."
Предлагаю на главной странице mandriva.ru следом за этими словами вывесить пост #5
-
RasenHerz
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: gstreamer-vdpau
Обычный пользователь даже не знает что такое VDPAU, так что давайте не провоцировать флейм. Кроме того, ничего сложного в посте #5 нет - просто много букв...
-
BDag
- Сообщения: 276
- ОС: Mandriva Linux Cooker
Re: gstreamer-vdpau
в посте #5 из ценной информации написано то, как пересобрать пару пакетов, чтобы добавить VDPAU в ffmpeg.
Автор того поста забывает, что mplayer идет со своим срезом ffmpeg и для его работы нет необхоимости устанавливать отдельно ffmpeg и пересобирать его. Относительно gmplayer, то можно сказать, что некоторые люди предпочитают использовать smplayer для своих нужд в качестве обертки к mplayer.
В конечном итоге, автор того поста не высказался не по теме топика, чем породил бурю оффтопика
Автор того поста забывает, что mplayer идет со своим срезом ffmpeg и для его работы нет необхоимости устанавливать отдельно ffmpeg и пересобирать его. Относительно gmplayer, то можно сказать, что некоторые люди предпочитают использовать smplayer для своих нужд в качестве обертки к mplayer.
В конечном итоге, автор того поста не высказался не по теме топика, чем породил бурю оффтопика
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
BDag писал(а): ↑12.11.2009 21:56в посте #5 из ценной информации написано то, как пересобрать пару пакетов, чтобы добавить VDPAU в ffmpeg.
Автор того поста забывает, что mplayer идет со своим срезом ffmpeg и для его работы нет необхоимости устанавливать отдельно ffmpeg и пересобирать его. Относительно gmplayer, то можно сказать, что некоторые люди предпочитают использовать smplayer для своих нужд в качестве обертки к mplayer.
В конечном итоге, автор того поста не высказался не по теме топика, чем породил бурю оффтопика
Оффтопика нет.
Просто нужно начинать с конца, а именно:
- Какую видеокарту предполагается использовать?
- VDPAU - это скрытый драйвер NVidia, который распространяется с пропиретарными драйверами от 180 серии и выше. Использовать его рекомендуется c видеокартами от GF6600GTS 500Mb и выше. Я проверял на своей машине. При абсолютно одинаковых условиях (ОС и кодеки) загрузка процессора на одном и том-же фильме с включенным VDPAU ffmpeg на mplayer на видеокарте GF9600GT 1Gb составляет 25%-32% двухядерного Атлона 4200, а на видеокарте GF9800GTS+ 500Mb - 8%-14%. Вот и вся разница. Т.е. чем мощнее видеокарта, тем эффективнее использование VDPAU. С выводом на обычном xv загрузка процессора на 9600 - 57%-70%, на 9800 - 49%-60%. Другими словами - применение VDPAU на современных видеокартах вполне оправдано - загрузку ЦП подключение данного драйвера снижает не кисло. Кодировать не пробовал, но предполагаю аналогичный результат. Подключение VDPAU на слабых видеокартах может дать как раз противоположный эффект, т.е. зависание видео и зависание самого плеера, поскольку обработка кодека будет пытаться нагрузить процессор видеокарты, а он там весь урезанный в хлам вместе с конвейерами.
- Из этого имеет место быть следующий вывод - "химичить" с VDPAU имеет смысл только людям с мощными видекартами - на "обрезках" и "огрызках" его применение ...чревато в последствиях...
- А уже из этого - последний вывод - спрашивать ...а почему оно не работает, работает-ли вообще и как его прикрутить, что-бы работало... имеет смысл только после указания модели видеокарты и предполагаемых действий, т.е. будет кодировать, или декодировать, поскольку при кодировании нагрузка и на видеокарту и на ЦП, как минимум, в 3-4 раза выше, чем при декодировании фильма. А значит при "железной" обработке кодируемого материала на слабой видеокарте пропуски кадров и зависания - неминуемы. Либо вообще всё практически сразу вылетать будет, не исключено, что и с капитальным зависанием самих иксов. Стало быть - мощная видеокарта - "химич" с VDPAU, слабая - оставляй ...из коробки... как есть, лучше работать не будет, а вот хуже - запросто!
-
RasenHerz
- Сообщения: 1341
- ОС: Arch Linux amd64
Re: gstreamer-vdpau
самый простой способ получить mplayer-vdpau:
Останется лишь в настройках фронтенда (SMPlayer, GMPlayer и т.д.) указать в качестве вывода vdpau
P.S. проверено на Debian и openSUSE
Код: Выделить всё
$ svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
$ cd ~/mplayer
$ ./configure --prefix=/usr
$ make -j2
$ sudo make installОстанется лишь в настройках фронтенда (SMPlayer, GMPlayer и т.д.) указать в качестве вывода vdpau
P.S. проверено на Debian и openSUSE
-
Robo
- Сообщения: 121
- ОС: Win XP SP3
Re: gstreamer-vdpau
Я что-то не совсем понял, что значит скрытый и почему GF6600GTS. Цитата с Википедии:
Т.е. VDPAU работает и на более старых видеокартах, чем GeForce 8xx? А на моей старенькой Geforce 3Ti200 128Мб он тоже заработает (пусть и не полную мощь)? Я читал, Shurik, что Вы не советуете использовать его на дряхлых картах, но тут важен принцип - заработает или нет?VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API designed by NVIDIA originally for its GeForce 8 series and later GPU hardware
-
BDag
- Сообщения: 276
- ОС: Mandriva Linux Cooker
Re: gstreamer-vdpau
вот здесь можно посмотреть на каких картах NVIDIA будет работать VDPAU
Как раз с вашей стороны был оффтоп, т.к. в теме поднимался вопрос именно о gstreamer-vdpau, который входит в состав дистрибутива. Вы же в свою очередь стали рассказывать как пересобрать mpalyer для поддержки русского языка в gmplayer и добавить VDPAU в ffmpeg.
Как раз с вашей стороны был оффтоп, т.к. в теме поднимался вопрос именно о gstreamer-vdpau, который входит в состав дистрибутива. Вы же в свою очередь стали рассказывать как пересобрать mpalyer для поддержки русского языка в gmplayer и добавить VDPAU в ffmpeg.
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
Robo писал(а): ↑13.11.2009 02:36
Я что-то не совсем понял, что значит скрытый и почему GF6600GTS. Цитата с Википедии:
Т.е. VDPAU работает и на более старых видеокартах, чем GeForce 8xx? А на моей старенькой Geforce 3Ti200 128Мб он тоже заработает (пусть и не полную мощь)? Я читал, Shurik, что Вы не советуете использовать его на дряхлых картах, но тут важен принцип - заработает или нет?VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API designed by NVIDIA originally for its GeForce 8 series and later GPU hardware
На 6600GTS - запускается.
НО! На мой взгляд VDPAU рассчитан на работу с видеокартами с шиной от 256-bit и выше. На 126-bit запустить VDPAU конечно можно, но эффект от его применения на таких картах будет близок к нулю, если не к отрицательным значениям.
Почитав отзывы народа пришел к такому мнению. Сам проверить не могу, по причине отсутствия, как класса, 128-bit видеокарт NVidia
-
Shurik
- Сообщения: 415
- ОС: Mandriva 2010.2
Re: gstreamer-vdpau
BDag писал(а): ↑13.11.2009 08:53вот здесь можно посмотреть на каких картах NVIDIA будет работать VDPAU
Как раз с вашей стороны был оффтоп, т.к. в теме поднимался вопрос именно о gstreamer-vdpau, который входит в состав дистрибутива. Вы же в свою очередь стали рассказывать как пересобрать mpalyer для поддержки русского языка в gmplayer и добавить VDPAU в ffmpeg.
Именно...
Для начала - необходимо разделить эти два понятия:
- Gstreamer - набор альтернативных кодеков для кодирования-декодирования
- VDPAU - драйвер, позволяющий аппаратную обработку кодеков.
Не касаясь пока непосредственно кодеков Gstreamer, в данном случае необходимо начинать как раз с конца - а именно - с уточнения вопроса самому себе:
- А работает-ли ВООБЩЕ функция VDPAU на моей видеокарте?
И лишь только потом уточнять - что и где включать, что и как настраивать, чем и как пользоваться. Я указал - как можно быстро это проверить. Работает аппаратно тот-же mplayer с поддержкой аппаратного кодирования-декодирования на ffmpeg - ОК! Отлично! Далее - уже нужно копать непосредственно сам Gstreamer и то, как реализована поддержка драйвера VDPAU в пакете gstreamer-vdpau. Не работает VDPAU в том-же mplayer на ffmpeg, или работает медленно, или подвешивает систему - ВСЁ!!! Дальнейшие разговоры про gstreamer-vdpau - просто абсурдны!
-
cronos
- Сообщения: 68
Re: gstreamer-vdpau
mplayer у меня работает прекрасно.
А насчёт gstreamer - бросил я эту затею.
Кстати mplayer без GUI даже лучше. В dolphine связал mkv-файлы с mplayerом. А опции прописал в /home/.../.mplayer/config
Управление - через Lirc пультом от обычного DVD
А насчёт gstreamer - бросил я эту затею.
Кстати mplayer без GUI даже лучше. В dolphine связал mkv-файлы с mplayerом. А опции прописал в /home/.../.mplayer/config
Управление - через Lirc пультом от обычного DVD
-
nataly1967
- Сообщения: 1
- ОС: Mandriva PP 2010
Re: gstreamer-vdpau
-
Olehkh
- Сообщения: 309
Re: gstreamer-vdpau
у меня ето все дело в РР система установила самостоятельно....dell latitude, Quadro NVS 140M
-
cronos
- Сообщения: 68
Re: gstreamer-vdpau
Mplayer у меня работает с vdpau, я срашиваю про gstreamer !!
-
BDag
- Сообщения: 276
- ОС: Mandriva Linux Cooker
Re: gstreamer-vdpau
не путайте mplayer и gstreamer это разные вещи
PS: Модераторы, прошу закрыть данную тему, ибо она исчерапана
PSS: Итог данной темы: в gstreamer на текущей момент подлной поддержки VDPAU нет, она находится в начале разработки. На дату данного сообщения поддерживается аппаратное декодирование только mpeg потока. Посмотреть состояние разработки можете здесь