Я создаю HTPC с этой материнской платой ASRock E350M1/USB3. Встроенный ATI графике Radeon HD 6310 было нелегко глотать x264 mkv на 1 080 пунктов (~10 ГБ), таким образом, я вытолкал в дискретной Nvidia GT 240 (1024 МБ). Достаточно странно это также не играло бы его правильно.
Обе карты имели связанные драйверы поставщика, установленные и активные, я попробовал x264 и необработанный Blu-ray напрасно. Я знаю, что GT 240 способен к проигрыванию фильмов на 1 080 пунктов, поэтому каково зависание?
Изменчивый отсылает к получению об одном кадре каждые несколько секунд, но я также время от времени вижу это: http://ptpimg.me/8yt8ev.png
Вывод от выполнения vlc из командной строки на нетронутом Blu-ray (m2ts) разрыв.
me@GAMMA ~ $ vlc
VLC media player 1.1.9 The Luggage (revision exported)
Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS")
Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE")
[0x8d41914] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Blocked: call to setlocale(6, "")
Warning: call to srand(1326832540)
Warning: call to rand()
Blocked: call to setlocale(6, "")
(process:2617): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
Warning: call to rand()
libdvbpsi error (PSI decoder): TS discontinuity (received 1, expected 0) for PID 0
libdvbpsi error (PSI decoder): TS discontinuity (received 1, expected 0) for PID 0
libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 256
libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 256
[0x8ddc6e4] signals interface error: signal 17 overriden (0x3b114c0)
[0x8ddc6e4] signals interface error: /usr/lib/libQtCore.so.4(?)[(nil)]
[0x8ddc6e4] signals interface error: signal 17 overriden (0x3b114c0)
[0x8ddc6e4] signals interface error: /usr/lib/libQtCore.so.4(?)[(nil)]
Вывод от vlc -vvv
на том же файле: Здесь
Хорошо, таким образом, мы получили GT 240, работающий при помощи VD-ПО, который является волшебной вещью, которая говорит программному обеспечению как nplayer использовать GPU, чтобы сделать работу вместо ЦП. Проблема состоит в том, что VD-ПО является по существу Nvidia только, и созданным в графике является базирующийся ATI.
(in ~/.mplayer/config)
vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau
Я сделал некоторое рытье, и это кажется ВА-API, и XVBA являются эквивалентами ATI. Вопрос теперь состоит в том, как я заставляю их работать в аккуратном (преимущественно с чем-то как xbmc)
До сих пор только с встроенной графикой Radeon HD 6310 я сделал это:
sudo apt-get install xvba-va-driver libva-glx1 vainfo
mplayer -vo xv -framedrop -ao sdl /path/to/000000.m2ts
и это, конечно, рядом. Все еще слишком много отброшенных кадров, которые будут считать смотрибельным как бы то ни было.
Можете ли вы подтвердить, действительно ли аппаратное декодирование используется вообще?
Вывод mplayer и vlc (если он запускается в консоли) поможет подтвердить или опровергнуть это, если вы сможете добавить его в исходный код вопрос.
Попробуйте это в ~ / .mplayer / config, чтобы включить его:
vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau
Попробуйте установить SmPlayer и перейти к настройкам, настройкам, затем на вкладке «Общие» на выходных контроллерах выбрать «gl» (быстро). Затем на вкладке производительности в потоках декодирования выберите 8. Я сделал это для своего ATI HD 5470, который играл очень плохо и был исправлен. Расскажи мне что-нибудь о том, как это работает.