mpv settings

Fedora 35 にしてから Celluloid がどうにも調子が悪い。
ブツブツとブラックアウトが入る、筆者自作の奴はもっと調子が悪いけど。

原因が解らない、mpv ライブラリが原因かな?
と思い確認のため素の mpv を入れてみた、dnf で普通に入れられる。
コチラはなんともない、てか mpv ってこんな感じだったっけ?
いや以前試しに使ってみたことはあるんだけど、もう何年も前だし。

今の筆者はコレで充分なんだけど、ということで乗り換えすることにした。
で、カスタムする方法を検索していたんですけど。

mpv – ArchWiki

日本語ページでは上記以外は情報が古過ぎで役に立たないな。
とにかく Linux でもハードウエア・アクセラレーションが使えると今頃知った。
あれ?と思ったけど筆者のその手の知識が古すぎるんだな。
それはそうと、Fedora では別途2つのライブラリを追加する必要がある。

Hardware decoding on Linux ? mpv-player/mpv Wiki ? GitHub

# Fedora dnf command
sudo dnf install libva-intel-driver
sudo dnf install libva-intel-hybrid-driver

Intel HD graphics の場合です。
AMD のグラフィックって元 ATI だし Linux への対応なんてお察しで。

準備はこれだけ、後は好みでカスタムしていくんですが拘りが二つ。
Esc はフルスクリーン解除、フルスクリーンでなければウインドウを閉じる。
ようするに Eye of GNOME の動作に合わせたい、筆者自作の奴もそうしていますし。
それとやはりディレクトリ内巡回機能が、プレイリスト化するのメンドイもん。
Ctrl+Down Ctrl+UP が標準では空いているのでココに割り付けしたい。

mpv.io

Lua や Javascript でなんとかなるっぽい。
こいつの js で ls する方法が解らないので Lua を久々に。
Lua の正規表現ってショボいな。
Javascript の /\.(mp4|m4v|mov)$/i を同様に定義できないんだが。
とりあえず *.mp4 だけでやってみた関数群。

ファイル名は何でもいい、場所は一行目に。
2022.01.12 複数の拡張子対応に書き換え、extstr 変数で指定

-- ~/.config/mpv/scripts/mpv_func.lua

extstr = 'mp4,m4v,mov'

-- Esc 時にフルスクリーンなら解除、でなければ終了
function on_escape()
    if mp.get_property_bool('fullscreen') then
        mp.set_property('fullscreen', 'no')
    else
        mp.command('quit')
    end
end
mp.add_key_binding('Esc', 'esc_func', on_escape)

-- Ctrl+DOWN でディレクトリ内の次ファイルを再生
function on_nextfile()
    local ex = false
    local fn = mp.get_property('filename')
    local directory = mp.get_property('path'):match('.*/')
    local pfile = io.popen('ls  "'..directory..'"')
    for filename in pfile:lines() do
        ext = filename:match('.*%.(.*)'):lower()
        if not(extstr:match(ext) == nil) then
            if ex then
                mp.command('loadfile "file://'..directory..filename..'"')
                break
            end
            ex = filename == fn
        end
    end
    pfile:close()
end
mp.add_key_binding('Ctrl+DOWN', 'nextfile_func', on_nextfile)

-- Ctrl+UP でディレクトリ内の手前ファイルを再生
function on_prevfile()
    local prevfn = ''
    local fn = mp.get_property('filename')
    local directory = mp.get_property('path'):match('.*/')
    local pfile = io.popen('ls  "'..directory..'"')
    for filename in pfile:lines() do
        ext = filename:match('.*%.(.*)'):lower()
        if not(extstr:match(ext) == nil) then
            if filename == fn then
                if not(prevfn == '') then
                    mp.command('loadfile "file://'..directory..prevfn..'"')
                end
                break
            end
            prevfn = filename
        end
    end
    pfile:close()
end
mp.add_key_binding('Ctrl+UP', 'prevfile_func', on_prevfile)

ハードウエア・アクセラレーション

# ~/.config/mpv/mpv.conf

# ハードウエア・アクセラレーション
profile=gpu-hq
hwdec=vaapi
tscale=oversample
correct-pts=yes

# 下記を指定すると筆者の環境 (i5-6500) ではコマ落ちする。
#scale=ewa_lanczossharp
#cscale=ewa_lanczossharp
#video-sync=display-resample

# 再生終了で本体を終了しない
keep-open=yes

ショートカット、とにかく EoG に合わせる

# ~/.config/mpv/input.conf

# GtkApplication ではないので Ctrl+Q で全体終了はできないけど
Ctrl+q quit
Ctrl+w quit

# GNOME アプリのフルスクリーンは F11 です
F11 cycle fullscreen

# 小さい動画は Ctrl+1 で FullHD にリサイズ
Ctrl+1 set autofit 1920x1080

# 回転、マイナスにはできないようなので
Ctrl+r add video-rotate 90
Ctrl+Shift+r add video-rotate -90
Ctrl+e add video-rotate 270
Ctrl+Shift+e add video-rotate -270

オンスクリーンコントローラを小さく

# ~/.config/mpv/script-opts/osc.conf

# 動画に合わせた OSC リサイズを無効に
vidscale=no

# OSC のサイズを少し小さくしてシークバー領域を増やす
scalewindowed=0.75
scalefullscreen=0.75

で。

vaapi

vaapi が適用され動作も筆者の好みな環境ができあがりました。
もう筆者はプレイヤーを自作しなくていいな、そろそろ公開終了するか。
これからはスクリプトで拡張の時代ですよ。

いや、LUMIX らしく動画もやろうかなとも思ったんだけど。
手持ちじゃユラユラしちゃって、コレこそ三脚無しじゃ不可能でした。

Yurikamome

今日は天王川公園へ。

Tenno River | Paepoi Blog

冬になったのでユリカモメを見に行かなきゃ。

1

普通にいた、てかメッチャおる!
こんなことになっているとは思わなかった。

2

全然人を恐れないみたいね。
しかしコイツラとオオバンしかいない池も逆に目面しい。

パンくずを撒いている人がいるみたい。
もしかしてそれ目当てで毎年ココばかりに来ているのかな。

4

ハトがおこぼれ狙いでいるけど体格差がありますので。
てかこれじゃユリカモメはデッカいハトですね。

ここまで簡単に撮影できると逆に面白く無い、は贅沢か。
とにかく東海地方でユリカモメを見たいなら天王川公園へ。

pic 2022.01.08

今日の五条川。

1

セミ子、今日は五ヶ所で見つけたけど全部この子だったっぽい。

2

魚を咥えて飛んでいる所はやっぱり三脚無しじゃ無理だよな。

3

モズ子、そういえばモズって川で何を食っているんだろう?

4

モズ男、カワセミみたく川に飛び込んでいるわけじゃないし。

冬の定番ジョウビタキが今年は全然近寄らせてくれない。
去年はいつも向こうから近寄ってきたのになぁって。
後はコガモやカワラヒワやサギ類といつものメンバー。

いつも似たような鳥ばっかだなぁとか思ったりするけど。
電車を撮っている人達なんてもっと同じものばかりだよなって。
写真趣味なんてそんなもんだ、明日は遠征でもしようかな。

今回は SILKYPIX Developer Studio SEバージョンで現像。
LUMIX 限定のやつね、WQHD 環境になったのでどうかなと。
初めて使ってみたけど、なんかコレで十分な気がしてきた。
やっぱり Adobe だよと思ってまだ一度も使ったことが無かった。

いや、Lightroom で勉強したからなんとなく解るだけです。
最初からコレだと「ワカラン!」でブン投げていたかも。
Lightroom の UI は本当によくできているわい。
ああいうのが直感的に解るって本当の意味なんだろうな。

EIZO FrexScan EV2795

買ってしまった。
27 インチディスプレイ、EIZO FrexScan EV2795 を。

M1 Macbook Air の RAW 現像用外部出力に高性能ディスプレイが欲しかった。
Retina Display は凄い、この本体から安物の外部ディスプレイなんてありえない。
ということでメーカーは EIZO 一択、USB-C ケーブル一本でというのも魅力。
老眼に 4K は辛いので WQHD の EV2795 を、という感じで。

もちろんデスクトップの Fedora と供用で使う。
そう考えると Fedora のほうに問題が。

SKYLAKE on Fedora | Paepoi Blog

Fedora はコレを使い続けている、ハードには興味が無い。
ただ一度故障したのでマザーを AsRock B250 の奴に、電源を新品に。
その他 i5-6500 8GB 等はそのまま、又 5 年も使ったのか。

Intel HD Graphics 530 は 4K 60Hz 出力に未対応。
WQHD 60Hz はイケるみたいだけど、実際に繋いでみないとわからない。
ビデオカードという手もあるけど Linux では Intel しか使いたくない。

Ryzen だと Linux と相性が悪いなんて書くブログが多いけどさ、逆だよ。
Intel は Linux 関連にガシガシとコミットしているから問題が起こりにくいだけ。
何故最初からドライバーが入っているのかを考えれば解るだろ、と。

とにかく買ってきた、繋いでみよう。

fedora_c

WQHD イケた、i5-6500 のままでもまだまだ戦えるぞ。
そんなことより Mac と Fedora で全然色が違う問題が解決した!

manjyusyage | Paepoi Blog

Fedora は問題なくて古い Acer の TN ディスプレイだけが原因だったのか。
いや Macbook Air 2011 のは当時の Mac はこの程度だったってこと?まあいい。
ちょっと意外、画像を弄るならディスプレイはケチらないほうがいいと実感。

こんどは M1 Macbook Air と USB3 接続。
HDMI と USB3 の入力切り替えは手動のみなのね。
これなら両方に電源を入れたまま切り替えできるけど、筆者は自動認識がいいな。
Mac への充電もされる、拍子抜けするほど何事も起こらない。

Apple M1シリーズチップ搭載Macとモニターの互換性 | EIZO株式会社

階調飛び問題は解決していないみたいですけど。
USB-C で接続した筆者の環境では何もおかしく見えない、ド素人の感想です。

サブ画面は Windows 等と同じ右側に配置される、ミラーリングもできる。
マウスやキーボードをディスプレイに繋げば入力の切り替えで供用できる。
と書いていたけど Mac は認識するが Fedora は切り替えで無線マウスを見失った。
いや Mac はマウスいらないってか Fedora でこのトラックパッドを使いたいんだが。

でも Macbook に Fedora を入れると control と command を絶対に間違える問題が。
併用だと間違えないのよ何故か、両方で US 配列キーボードを使うのがコツです。
いやコレは今関係無かったね。

oriview

Olympus Workspace は編集画面を分離してこんなこともできるようだ。
これはいい、てかこのアプリはこうでもしないと狭くて使う気にならない。

lightroom

Lightroom は外部ディスプレイに移動するメニューが現われる。
うーん、広い編集画面が魅力だった Lightroom が微妙になったぞ。

さて Macbook Air を綺麗に掃除するか。
OM SYSTEM さん、解像するトコ違うんじゃないの。

2022

あけおめ!の五条川。

hatuhinode

桜並木からの初日の出、M.ZUIKO pro レンズ初投稿。
ゴーストが出たけどハート型になったのは縁起がいいのかも。
ただ滅茶苦茶寒かった、近場で済ませたのは正解だった。

sages

アオサギさんダイサギさんコサギさんカワウさん。
で新年会のようです、新鮮な魚はおいしいよね。

Suzume

スズメさん達が初詣に密で並んでいます。
オリンパスブルーのわざとらしい空が綺麗です。

Seirei

セグロセキレイさんがおせちの数の子を美味そうに食っています。
鳥さん達も正月はめでたいんですね。

昨年末は仕事が忙しいのと体力の限界と雪なんかが重なって。
半月ぶりの更新です、ごめんなさい。

さて新年らしく今年の抱負でも。

PyObjC から Metal API を使おうと色々やっているんだけど。
シェーダーは C++ でビルドして MetalKit から使うという流れは解った。
コレを Python でどうやるか、で詰まって止まっている。
あきらめて Swift でもやろうかなって。

GTK4 は、なんかヤル気がおきない。
次の GNOME 42 で Gedit が置き換わるのでその時くらいに。
必要に迫られないとヤル気なんて出ないんですよねぇ人間って。
てか現状の Linux で新たにヤリたいことが無いんだ。

写真は、行き当たりばったりで。
てか野鳥ブログどころか写真ブログになりかけているんだが。
別にイイじゃないか。
昔ココは Windows プログラミングのブログだったんだし。