コンテンツにスキップ

RG351MPの60fpsを録画したかった

うまくいかなかった記録 / 2026年10月28日 実機で検証

RG351MPで遊ぶDOOMは、手に持つとぬるぬる動きます。その感じを動画で伝えたくて、Wi-Fi経由で画面を録画してみました。

結論から書くと、今の環境では、60fpsのなめらかさを録画で再現できませんでした。 その代わり、原因はかなりはっきり分かりました。同じことを試す人の参考に、調べた順に残します。

この記事の環境

  • 本体: RG351MP
  • OS: dArkOS(Debian 13ベース、カーネル 4.4)
  • ゲーム: DOOM(lzdoom)
  • 接続: Wi-Fi(USBのWi-Fiアダプター)とSSH

結論

用途 おすすめの方法
スクリーンショット Wi-Fi経由で撮る(画質はそのまま、640×480)
なめらかな動画 スマホで実機の画面を撮る

1. Wi-Fiで画面を撮れるようにする

dArkOSは、メニューの Options → Enable Remote Services でSSHが使えるようになります。この設定は、再起動するたびに無効に戻ります(安全のため、わざとそうなっています)。

SSHでつないだら、ffmpegで画面(/dev/fb0)を読み取れます。ffmpegは、最初から入っていました。

# スクリーンショット
ffmpeg -f fbdev -i /dev/fb0 -frames:v 1 -pix_fmt rgb24 shot.png

# 10秒の動画(30fps)
nice -n 10 ffmpeg -f fbdev -framerate 30 -i /dev/fb0 -t 10 \
  -c:v libx264 -preset ultrafast -crf 23 -pix_fmt yuv420p rec.mp4

スクリーンショットが白っぽくなるとき

-pix_fmt rgb24 を付けないと、DOOMの画面が白っぽく、色が飛んだように写りました。画面のデータに含まれる「透明度」の値を、DOOMがきちんと設定していないためです。透明度を捨てて保存すると、ふつうの色になります。

2. 60fpsで録ってみる

30fpsでは物足りないので、60fpsで10秒録りました。処理は間に合い、584コマ記録できました。

ところが、見比べるとぬるぬる感がありません。 1コマずつ調べると、こうなっていました。

録り方 新しい絵 描きかけの絵 前と同じ絵
圧縮しながら録画(5秒) 117 162 21
無圧縮で録画(5秒) 123 30 145

新しい絵は、5秒で120コマ前後でした。つまり、録画には毎秒25コマ程度しか入っていません。

実際に録れた動画です。どちらも60fpsで録画しています(音声なし、5秒)。

圧縮しながら録画したもの(描きかけの絵が多く混ざっています)

無圧縮で録画したもの(乱れは減りましたが、なめらかさは変わりません)

DOOM © id Software / Bethesda。Bethesdaのファン動画ポリシーに沿って掲載しています。

3. 原因を1つずつつぶす

録画の負担が重すぎた

圧縮しながら録ると、CPUの4コアのうち約2.4コア分を使い、空きが0%になりました。ゲームを描いている途中の絵が混ざったのは、このためです。

処理 CPUの使用量(4コア中)
画面を読むだけ 約0.5コア
読む + 色の変換 約1.3コア
読む + 変換 + 圧縮 約2.4コア

無圧縮でメモリに録ると、負担は約0.5コアまで下がり、描きかけの絵は5分の1に減りました。ただし10秒で約740MBになるので、録れるのは5秒程度が限度です。

動画用の専用回路は使えなかった

チップには動画を圧縮する回路がありますが、dArkOSのffmpegには、それを使う部品が入っていませんでした(h264_v4l2m2m も rkmpp も使えず)。

ゲームが遅いわけではなかった

DOOMには、画面にコマ数を表示する機能があります。設定ファイルの ~/.config/lzdoom/autoexec.cfg に、次の1行を書くと表示されます。

vid_fps 1

表示は 17ms(58〜60fps) でした。実機のDOOMは、本当に60fpsで動いています。

4. 本当の原因

ゲームは、画面用の絵を2〜3枚用意して、順番に入れ替えながら表示しています。一方、/dev/fb0 から読み取れるのは、そのうち1枚だけのようです。そのため、録画には3コマに1コマしか新しい絵が入りません。

無圧縮の録画で「新しい絵、同じ絵、同じ絵」がほぼ規則正しく並んでいたのも、これで説明がつきます。

表示中の絵を直接読む方法(ffmpegの kmsgrab)も試しましたが、カーネル4.4が古く、Invalid argument で動きませんでした。

カーネルを新しくすれば直る?

新しいカーネルを使うOSなら、kmsgrab は動く見込みがあります。ただ、CPUが録画に力不足なことと、専用回路を使えないことは変わりません。dArkOSはカーネル4.4を前提に作られているので、試すなら別のOS(ROCKNIXなど)を予備のSDカードに入れることになります。

まとめ

  • スクリーンショットは、Wi-Fi経由でそのままの画質で撮れる
  • 60fpsの動画は、今のRG351MPとdArkOSでは録画できない
  • 原因は、ゲームの描画の仕組みと、古いカーネル、CPUの力不足
  • なめらかさを伝えたいときは、スマホで実機を撮り、画面のコマ数表示も一緒に映すのが近道(今回は撮っていません)

実機で遊ぶと、DOOMは本当にぬるぬる動きます。上の動画のカクカクは、録画の限界です。