web-dev-qa-db-ja.com

2つの異なるGPUで1080pが途切れる場合、他に何がありますか?

this ASRock E350M1/USB3マザーボードでHTPCを構築しています。オンボードのATI Radeon HD 6310グラフィックスは1080p x264 mkv(〜10 GB)を飲み込むのに苦労したため、ディスクリートのNvidia GT 240(1024MB)を使用しました。奇妙なことに、それも適切に再生しません。

両方のカードには、関連するベンダードライバーがインストールされていてアクティブでした。x264と生のブルーレイを試してみましたが、何の効果もありません。 GT 240が1080pの映画を再生できることは知っていますが、ハングアップとは何ですか?


途切れ途切れとは、数秒ごとに約1フレームを取得することを指しますが、これも時々見ます: http://ptpimg.me/8yt8ev.png


そのままのBlu-ray(m2ts)リッピングでコマンドラインからvlcを実行した結果。

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からの出力: Here


OK、VD-PAUを使用してGT 240を動作させました。VD-PAUは、nplayerなどのソフトウェアにCPUではなくGPUを使用するように指示する魔法のようなものです。問題は、VD-PAUが本質的にNvidiaのみであり、組み込みのグラフィックスがATIベースであることです。

(in ~/.mplayer/config)
vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau

掘り下げたところ、VA-APIとXVBAがATIに相当するようです。ここでの質問は、これらをどのようにnattyで動作させるか(優先的にxbmcのようなものを使用する方法)です。


これまでのところ、オンボードRadeon HD 6310グラフィックスだけでこれを実行しました。

Sudo apt-get install xvba-va-driver libva-glx1 vainfo
mplayer -vo xv -framedrop -ao sdl /path/to/000000.m2ts

そして、それは確かに近づいています。ただし、ドロップされたフレームが多すぎるため、監視可能とは見なされません。

5
Huckle

ハードウェアアシストデコードが実際に使用されているかどうかを確認できますか?

Mplayerとvlc(コンソールで実行する場合)からの出力は、元の質問に追加できる場合、これを確認または拒否するのに役立ちます。

〜/ .mplayer/configでこれを試して有効にしてください:

vo=vdpau,xv
vc=ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau
4
Caesium

SmPlayerをインストールし、オプション、設定に移動してから、一般タブの出力コントローラーでgl(fast)を選択します。次に、パフォーマンスタブのデコードスレッドで、8を選択します。ATIHD 5470でこれを実行しました。実行方法について教えてください。

0
Celso