Raspberry Pi mp4を再生する

最新のRaspbianではVLCメディアプレイヤーがデフォルトアプリケーションとなって入っています。(当サイトのvlcはまだ動いてないのですが)
Pi3A+,3B+のcpu,networkではmp4もある程度快適に視聴できるものと想像しています。
以前と比べるとX環境でもmp4の再生は随分良くなりましたがPi3BのCPUは今一歩力及ばずといったところでしょうか。それでも少しでも良くなるよう設定(努力)してみたいと思います。

環境

Raspberry Pi 3 + pulseaudio(client)

クロックアップ

現在のraspbianはほとんどデフォルトのconfig.txtを編集することが無いのでバックアップしといて必要な項目のみを書いて新たに作成しています。
/boot/config.txt

# Overclock the arm
arm_freq=1300
over_voltage=5
sdram_freq=450
core_freq=450
gpu_freq=450
gpu_mem=256

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
dtoverlay=vc4-kms-v3d

OpenGLを有効にしています。
当サイトの環境ではオーバークロックはcpu使用率90%〜99%で一晩中稼働しても現在の設定でハングアップすることはありません。

# apt install cpufrequtils


default ondemand
以前作成したダイアログを使っています。
performanceで実行することで音声と映像間の遅延を抑えることができます。但し大幅な改善は見込めません。
ローカルの低速なネットワーク(ファイルサーバ)からは遅延が発生することがあります。(特にmplayer)

$ cpufreq-info | grep "current CPU"
  current CPU frequency is 1.30 GHz.
  current CPU frequency is 1.30 GHz.
  current CPU frequency is 1.30 GHz.
  current CPU frequency is 1.30 GHz

再生プレーヤー(CLI)

# apt install mpv mplayer

mpvをインストールすると依存関係でffmpeg(ffplay)もインストールされます。

ffplay


当サイトのデフォルトプレーヤー
左右上下キーでそれぞれ10秒、1分の移動
ウインドウのX軸方向を右クリックすることで任意の時間に移動
細かいことは抜きにして最軽量、最速のプレーヤー

mplayer


ffplayに次ぐ軽量プレーヤー
大きな動画ファイルは遅延出やすい

~/.mplayer/config

# Write your default config options here!
[default]
vo=gl
zoom=1
cache=1024
font=Sans
osdlevel=3
subfont-autoscale=0
subfont-osd-scale=12

mpv


mplayerの後継
ネットワーク経由のファイルはキャッシュを読み込む間不安定
もう少しキャッシュの読み込みが早くなればベストなプレーヤーと思います。

~/.config/mpv/mpv.conf

vo=opengl
osd-font-size=30

再生プレーヤー(GUI)

VLCメディアプレイヤー


現時点の当サイトの環境では
mp4は再生不可(音声のみ)
m2tc(tc),wmv,rmは再生可能

GNOME MPV

# apt install gnome-mpv


mpvベース
mpv設定ファイルを指定する(~/.config/mpv/mpv.conf)

ビデオ

# apt install totem


GNOME3のデフォルトプレーヤー(旧名称 Totem)
若干重め

SMPlayer

# apt install smplayer


mpv or mplayerベース
mpv opengl
mplayer x11(低速)

SMPlayerはサイズ、位置を指定して起動することができます。

$ smplayer -size 340 60 -pos 680 25

これをpcmanfmに登録して音楽プレーヤーとして使っています。操作ボタンは機能の範囲内で自由に配置することができます。
mplayerを指定した場合はビデオドライバはx11(低速)にします。
pcmanfmには拡張子ごとに登録が必要です。GUIなプレーヤーとしてはかなりコンパクトになりました。

再生プレーヤーを使い分けるにはやはりpcmanfmが便利と思います。GUIなプレーヤーは自動で登録されますがCLIなプレーヤーはpcmanfmの右クリックメニューに登録が必要です。

SMPlayer再生中”SMPlayerでエンキュー”に送ると現在再生中の動画(音楽)終了後に再生を開始します。

mpvからインターネット越しの再生も一旦右クリック(pause)してキャッシュを読み込めば(数十秒)映像、音声ともほぼ問題なく再生します。