Ubuntu 24.04.1 で UltraStudio 3G Recorder 備忘録です.正確には Ubuntu 24.04 ではなくて,Ubuntu 24.04.1 ベースの elementary os 8 (以後 eos.8 と書きます)のお話であることにご注意ください.
UltraStudio 3G Recorder と Ubuntu 24.04
純正アプリの対応状況
本稿執筆時点の純正アプリの Desktop Video 14.3 (2024/11/27 リリース)ですが,残念ながら Ubuntu 24.04 では依存関係の問題で録画アプリの mediaexpress がインストールできません.具体的には,以下の通り依存関係のエラーで導入できません.
$ sudo dpkg -i mediaexpress_3.8.1a4_amd64.deb [sudo] hytsutsumi のパスワード: (データベースを読み込んでいます ... 現在 473941 個のファイルとディレクトリがインストールされています。) mediaexpress_3.8.1a4_amd64.deb を展開する準備をしています ... mediaexpress (3.8.1a4) で (3.8.1a4 に) 上書き展開しています ... dpkg: 依存関係の問題により mediaexpress の設定ができません: mediaexpress は以下に依存 (depends) します: libegl1-mesa (>= 7.8.1) | libegl1-x11 ...しかし: パッケージ libegl1-mesa はまだインストールされていません。 パッケージ libegl1-x11 はまだインストールされていません。 dpkg: パッケージ mediaexpress の処理中にエラーが発生しました (--install): 依存関係の問題 - 設定を見送ります hicolor-icon-theme (0.17-2) のトリガを処理しています ... man-db (2.12.0-4build2) のトリガを処理しています ... gnome-menus (3.36.0-1.1ubuntu3) のトリガを処理しています ... desktop-file-utils (0.27-2build1) のトリガを処理しています ... 処理中にエラーが発生しました: mediaexpress
なお,足りないと怒られた libegl1-mesa と libegl1-x11 ですが,どうも Ubuntu 24.04 からはパッケージが削除されてしまっているようで,ググると色々出てきます.
いちおう Desktop Video 14.3 のリリースノートには,Ubuntu 24.04 もサポート対象であることが謳われているので,う〜ん……という感じですが,もう少し待つ必要がありそうな感じです.
Gstreamer で使う
UltraStudio 3G Recorder を使うもう一つの方法は,フリーのマルチメディアフレームワークである Gstreamer を使うことです.サポート OS は,Windows, macOS, Linux で,使い方は,以前の以下の記事にまとめています.
しかし,この場合も残念ながら vaapsink を用いた全画面表示がいまのところうまくいきません(ただし,この vaapsink は Intel の Video Acceleration API (VAAPI) を使っているので,Thinkpad x1 carbon 6 特有の問題点かもしれない).
私の場合,全画面表示を多用するので,これはかなり困りますので,いろいろ試行錯誤しました.結果,Video4Linux の loopback と VLC を利用する方法でなんとか全画面表示が可能になりました.なお,この方法だと,vaapsink と違って,全画面と Window 表示を簡単に行き来できるので,結果的には良かったかなと思います.
具体的な手順は以下の通りです.
まず,Video4Linux の loopback デバイスを起動時に /dev/video2 に割当て,gstreamer で UltraStudio 3G Recorder の入力をこの loopback デバイスに出力します.
$ sudo apt install v4l2loopback-dkms v4l-utils $ sudo vi /etc/modules-load.d/v4l2loopback.conf v4l2loopback $ sudo vi /etc/modprobe.d/v4l2loopback.conf options v4l2loopback exclusive_caps=1 options v4l2loopback video_nr=2 # /dev/video2 に loopback デバイスを割当て $ reboot $ v4l2-ctl --list-devices Dummy video device (0x0000) (platform:v4l2loopback-000): /dev/video2 ... $ gst-launch-1.0 -tv decklinkvideosrc connection=hdmi mode=1080p60 ! videoconvert ! v4l2sink device=/dev/video2 sync=false
次に VLC を起動し,「メディア」から「ネットワークストリームを開く」の中の「ネットワーク URL に
v4l2:////dev/video2
を指定します.
なお,この方法だと,/dev/video2 からストリームを読み出せるアプリだと何でも使えます.例えば,mplayer だと,
$ mplayer tv:// device=/dev/video2
のようにすれば良いです.
以上!