最近ではこんなめんどくさいことはしていません
17.10では標準でmesaがはいっています。素の状態でvaapiもvdpauも有効にしてHWDEC有効無効の動画再生テストができました。ユーザーがいれなくてもいいみたいです。カンタンにテストした範囲ですが、いいかんじです。16.04LTSはそろそろやめようかなぁと考え始めています。⚠本稿の続編がオススメです
Windows10ユーザーにも、OS問わず参考にしていただけると思います。17.04,17.10上でも......20.04でも。
総括的追記2017年7月 日替わりドライバにして6ヶ月
既に書きましたが絵で示すドライバを利用しています。とても安定してきた上、速度も速いです。オススメするわけではありませんが。使っているPPAは次の通りです。とてもめんどくさいです。バッチ処理にしていましたがそれでもめんどうです。- http://ppa.launchpad.net/mc3man/mpv-tests/ubuntu xenial InRelease
- http://ppa.launchpad.net/mc3man/xerus-media/ubuntu xenial InRelease
- http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu xenial InRelease
mpvを利用していて気がついている範囲で、voはvdpauが最も安定して速い。vaapiは遅い。openglはいまいちという傾向があります。現在はvdpauのみでテストしています。4K/Webm(PanasonicのビューティフルジャパンCM)をベンチマークしていますが、体感的に遅延のない円滑な再生ができるようになっています。やればできるんじゃないか?! RADEON R7 360 です。(現在はこうは思っていません。2020年8月13日)
まれに起動しなくなったりします(Xまでいかない)。いつでも戻せるようにしておくと良いです。当方は、導入ドライバ全部を日時別ディレクトリに保存するようにスクリプト処理しています。そこで、sudo dpkg -i *.deb 、再起動で戻しています。1/60ぐらいの確率でぷち不幸になれますので用意はしておくと楽ですね。
総括的追記2017年2月 ドライバアップデート
ハッピーです。ドライバがアップデートされて以前よりかなりよくなりました。2017/02/10総括的追記2017年1月 あくまでmpv新旧でのお話です。
エントリーモデルのビデオカード/グラフィックボードで何ゆーてるんだと笑われそうですが、まだ17500円で買って1年経過していないのでもったいないです。現行品だったわけですし。- おそらくオープンソースで提供してもらっているRADEONドライバがあまりに遅すぎるので、4K描画にぜんぜん追いつかない(高いレベルを期待しなければOKともいいます)。
- VDPAUもVAAPIも有効にできるので比較してみたが、ハードウェアアクセルを効かせたほうが動画再生などではフレーム落ち、遅延が激しい。現状当方では何の意味もない。
- つまりソフトウェアデコードのほうが調子が明らかによい。FHD程度ではバレない(=顕在化しにくい)。だからHWアクセルは使わない。
- ちなみにVLCは廃棄フレームがあるもののわりといいかんじ。そっちを使えよ、と。
ワークアラウンド
一時的に解像度を下げて全画面再生。再生終了時に元に戻すことにした。解像度変更に伴いアイコンの位置がめためたになるのでスクリプトで保全、復元という手順を組み込んだ。(完璧ではないが、だいたいうまくいっている。この現象はポートレイト、ランドスケープの切り替えでも生じるものですね。)以下の記述は、1920x1200解像度を使っていた時点での話です。昨年4Kモニターに変更以降は対応の仕方を変えました。フレーム破棄については目視、肉感と数字で確認しました。削除しても良いのですが記録なので残しておきます。
FHD程度時代の過去稿
日常的に使うのは、mpvになってしまいました。Windowsなら定義ファイルは、mpvディレクトリにおけばいいです。だいたいubuntuと共通化しています。
設定ファイルを載せておきますね。時点2016-04-12+2016-04-15
美しくも合理的でもないですが、参考までに。githubのお手本から作るのもいいかと思いますし、デフォルトで間に合えば何もしなくてもいいです。
ハードウェアアクセラレーションのメモ
参考:ハードウェアアクセラレーションを有効にする。 Linux MINT 18 ubuntu 16.04L...AMD RADEON R7 360(2016-06-01)
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
cplayer: AO: [pulse] 48000Hz 5.1 6ch s32
vd: Using hardware decoding (vaapi).
cplayer: VO: [opengl-hq] 1920x1080 vaapi
term-msg: FPS: 23.976
設定ファイル ~/.mpv/config
Fluid Motion Video は無理だけど、 AMD RADEON R7 360で60frame を試行錯誤したパターン残骸あり。その他メモやら、試験過程の気づきなどもメモったままなので、見苦しいかと思います。参考にしたURLも書いてあります。今は、RADEON HD6500搭載機体です。この設定ファイルのスタイルそのものは、過去のmpvで、今現在私が使っているものではないです。vo で長ったらしく設定する方法は1年前のバージョンまでだった気がします。
screenshot-template=~/Pictures/mpv/%F-%P
screenshot-format=png
#filename-00:24:54.993.png sキーで取得。
#ファイルネーム(拡張子なし) + 再生時間 + .png
似非FluidMotionVideo,なんちゃってです
##################
# 似非FluidMotionVideo
#以下主に中間フレームを描画するパターンの試行。重いので注意。あんまり色々やっても仕方ないです。かなり自己満足に近い世界だと思います。AMD対応GPUをもっているユーザーならWindows10でMediaPlayerClassic HomeCinnemaをblueskyさんのffdshowフィルターを通じて、FluidMotionVideoオンで再生してみれば、本来のFMVのそれなりがわかります。さてさて、どうなんでしょ?! 満足できるかどうかはユーザーの受け取り方とソースの絵作りの特性によるって気がします。
特に、この60FPSでの再生はなんだか残像感ばかりが強調されて、個人的には価値無しというかんじですが、今後ドライバが変われば違うのかな。AMD以外のグラフィックでまともな速さのGPUは所有していないのでなんともいえませんが。
#https://www.reddit.com/r/linux/comments/2u3bpw/mpv_ver_073_can_interpolate_videos_to_60fps/
#https://github.com/mpv-player/mpv/wiki/Interpolation
#https://github.com/haasn/mpv/commit/7d10c9b76f39bfd2fe606b8702b39888d117c685
#http://sheekyforums.com/thread/52247417/technology/mpv-keep-it-simple.html
#vo=opengl-hq:interpolation:glfinish
#vo=opengl-hq:scale=spline36:sigmoid-upscaling
#vo=opengl-hq:interpolation:interpolation-threshold=0.0:scale=spline36:sigmoid-upscaling
#vo=opengl-hq:interpolation:interpolation-threshold=0.9:scale=spline36:sigmoid-upscaling
#vo=opengl-hq:interpolation:interpolation-threshold=2.9:scale=spline36:sigmoid-upscaling
#999)Insane quality:意味がないほど高品質設定。意味がない。
#vo=opengl-hq:interpolation:scale=ewa_lanczossharp:cscale=ewa_lanczossoft:prescale-downscaling-threshold=1.5
こちらがmpvではオススメです。