みなさんこんにちは、FascodeNetworkのブログスケジュール担当を行っているなおこです。
今回は動く壁紙をLinuxで行う方法を解説します。
WindowsなどではWallpaper Engineと言ったソフトがありますが、2021/11/04現在 Linuxでは、Wallpaper Engineは使えません。
そのためLinuxで動く壁紙が使えないか調べていたら複数のディストリビューションで安定して動くVLCを使用する方法を見つけたのでそちらをご紹介したいと思います。
Wallpaper Engineはこれ↓
今回はVLC media playerを使う↓
VLCとは
VLCと言っても何って人がいるかもしれませんので軽く解説します。
VLCはVLC media playerの略称でVideoLAN projectというフランスの非営利団体が2001年から開発している、オープンソースでクロスプラットホームの動画再生ソフトです。
ネットストリーミングサービスやDVD/BD、動画ファイル、音声ファイルなど、様々なファイルやストリーミングに対応しており、メディアを再生するならぜひおすすめしたいソフトです。
VLCについて詳しく知りたい方はWikipediaをご覧することをおすすめします。
今回使うPCスペックや実行環境
- OS : Alter Linux(実質Arch Linux)とWindows10Proデュアルブート
- MB : B450M Steel Legend
- CPU : AMD Ryzen 5 5600x
- GPU : NVIDIA GTX 960
- RAM : 32GB
- HDD : 4TB
- SSD : 256GB m.2 (2022/9/15以降のブログには搭載)
VLCのインストール方法
vlcをインストールする場合は下記の方法でインストールすることができます。
Arch Linux/Alter Linux
pacman -Syyu
pacman -S vlc
fedora
wget https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install rpmfusion-free-release-*.norch.rpm
sudo dnf update
sudo dnf install vlc
Ubuntu/Debian
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vlc
# リポジトリにない場合は
sudo add-apt-repository ppa:videolan/stable-daily
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vlc
CentOS
#centos7
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum install -y vlc
#centos8
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo yum install -y vlc
Mac OS
brew install --cask vlc
動く壁紙の設定方法
vlcではコマンドラインツールが存在しvlcコマンドの最初にcを追記したcvlcコマンドがコマンドラインで使用する際のコマンドになります。
cvlc –helpと実行すると各オプションの機能一覧が表示されます。
cvlc --help
cvlc –helpの実行結果は長いため省略します。表示する場合は下記ボタンをタップまたはクリックで表示してください。
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
利用方法: vlc [オプション] [ストリーム] ...
コマンドライン上で複数のストリームを指定することが可能です。
指定されたストリームはプレイリストにキューイングされます。
最初に指定されたものから順に再生されます。
オプションの指定形式:
--option プログラムの長さを指定するグローバルオプション
-option グローバルオプション --option の一文字バージョン
:option ストリームに直接適用するオプション、前の設定は上書きされます。
ストリームのMRL指定形式:
[[access][/demux]://]URL[#[title][:chapter][-[title][:chapter]]]
[:option=value ...]
複数のグローバルオプション --option は、MRL固有のオプション :option の
組みとして扱われます
複数の :option=value の組みが指定可能です。
URLの指定形式:
file:///path/file プレーンなメディアファイル
http://host[:port]/file HTTP URL
ftp://host[:port]/file FTP URL
mms://host[:port]/file MMS URL
screen:// 画面キャプチャー
[dvd://][device] DVDデバイス
[vcd://][device] VCDデバイス
[cdda://][device] オーディオCDデバイス
udp://[[<source address>]@[<bind address>][:<bind port>]]
ストリーミングサーバーによって送信される
UDPストリーム
vlc://pause:<seconds> 再生を指定された時間で一時停止する特別な指定
vlc://quit VLCを終了させる特別な指定
コアプログラム (core)
オーディオ
--audio, --no-audio オーディオの有効化
(デフォルトで有効)
--force-dolby-surround {0 (自動), 1 (オン), 2 (オフ)}
ドルビーサラウンドの検出を強制
--audio-replay-gain-mode {none,track,album}
再生ゲインモード
--audio-replay-gain-preamp <浮動小数点>
再生プリアンプ
--audio-replay-gain-default <浮動小数点>
デフォルト再生ゲイン
--audio-time-stretch, --no-audio-time-stretch
オーディオのタイムストレッチの有効化
(デフォルトで有効)
--audio-filter <文字列> オーディオフィルター
--audio-visual {any,glspectrum,visual,none}
オーディオの視覚化
ビデオ
-f, --fullscreen, --no-fullscreen
全画面ビデオ出力
(デフォルトで無効)
--video-on-top, --no-video-on-top
常に手前に表示
(デフォルトで無効)
--video-wallpaper, --no-video-wallpaper
壁紙モードの有効化
(デフォルトで無効)
--video-title-show, --no-video-title-show
ビデオにメディアタイトルを表示
(デフォルトで有効)
--video-title-timeout <整数>
ビデオタイトルを表示する時間(ミリ秒)
--video-title-position {0 (中央), 1 (左), 2 (右), 4 (上), 8 (下), 5 (左上), 6 (右上), 9 (左下), 10 (右下)}
ビデオタイトルの位置
--mouse-hide-timeout <整数>
カーソルと全画面表示コントローラーを隠すまでの
時間(ミリ秒)
スナップショット:
--snapshot-path <文字列> ビデオスナップショットのディレクトリ(またはフ
ァイル名)
--snapshot-prefix <文字列> ビデオスナップショットファイル名のプレフィック
ス
--snapshot-format {png,jpg,tiff}
ビデオスナップショットの形式
--snapshot-preview, --no-snapshot-preview
ビデオスナップショットを表示
(デフォルトで有効)
--snapshot-sequential, --no-snapshot-sequential
ファイル名にタイムスタンプの代わりに連番を使用
(デフォルトで無効)
ウィンドウプロパティ:
--crop <文字列> ビデオクロッピング
--custom-crop-ratios <文字列>
カスタムのクロッピング比率リスト
--aspect-ratio <文字列> ソースのアスペクト比
--autoscale, --no-autoscale
ビデオ自動スケーリング
(デフォルトで有効)
--custom-aspect-ratios <文字列>
カスタムのアスペクト比リスト
--deinterlace {0 (オフ), -1 (自動), 1 (オン)}
デインターレース
--deinterlace-mode {auto,discard,blend,mean,bob,linear,x,yadif,yadif2x,phosphor,ivtc}
デインターレースモード
--video-filter <文字列> ビデオフィルターモジュール
--video-splitter <文字列> ビデオ分割モジュール
サブピクチャー
オンスクリーンディスプレイ(OSD):
--spu, --no-spu サブピクチャーの有効化
(デフォルトで有効)
--osd, --no-osd オンスクリーンディスプレイ(OSD)
(デフォルトで有効)
字幕:
--sub-file <文字列> 字幕ファイルを使用
--sub-autodetect-file, --no-sub-autodetect-file
字幕ファイルの自動検出
(デフォルトで有効)
--sub-text-scale <整数 [10 .. 500]>
字幕スケーリング係数
オーバーレイ:
--sub-source <文字列> サブピクチャーソースモジュール
--sub-filter <文字列> サブピクチャーフィルターモジュール
トラック設定:
--audio-language <文字列> オーディオ言語
--sub-language <文字列> 字幕の言語
--menu-language <文字列> メニュー言語:
--preferred-resolution {-1 (利用可能な最高値), 1080 (フルHD (1080p)), 720 (HD (720p)), 576 (標準の解像度(576、または480ライン)), 360 (低い解像度(360ライン)), 240 (かなり低い解像度(240ライン))}
優先するビデオの解像度
再生制御:
--input-repeat <整数 [0 .. 65535]>
入力ストリームの繰り返し
--input-fast-seek, --no-input-fast-seek
高速シーク
(デフォルトで無効)
--rate <浮動小数点> 再生速度
デフォルトデバイス:
--dvd <文字列> DVDデバイス
--vcd <文字列> VCDデバイス
詳細設定:
--input-title-format <文字列>
再生中メディアのタイトル変更
入力
--stream-filter <文字列> ストリームフィルターモジュール
プレイリスト
パフォーマンスオプション:
-Z, --random, --no-random ファイルをランダムに再生
(デフォルトで無効)
-L, --loop, --no-loop すべてをリピート
(デフォルトで無効)
-R, --repeat, --no-repeat 再生中タイトルをリピート
(デフォルトで無効)
--play-and-exit, --no-play-and-exit
再生と終了
(デフォルトで無効)
--play-and-stop, --no-play-and-stop
再生と停止
(デフォルトで無効)
--start-paused, --no-start-paused
最初のフレームで一時停止
(デフォルトで無効)
--playlist-autostart, --no-playlist-autostart
自動的に開始
(デフォルトで有効)
--playlist-cork, --no-playlist-cork
オーディオ通信の一時停止
(デフォルトで有効)
--media-library, --no-media-library
メディアライブラリを使用
(デフォルトで無効)
--playlist-tree, --no-playlist-tree
プレイリストのツリー表示
(デフォルトで無効)
--open <文字列> デフォルトのストリーム
--auto-preparse, --no-auto-preparse
項目の自動的な事前解析
(デフォルトで有効)
--preparse-timeout <整数> 予備解析のタイムアウト
--metadata-network-access, --no-metadata-network-access
メタデータのネットワークアクセスを許可
(デフォルトで無効)
--recursive {none,collapse,expand}
サブディレクトリの振る舞い
--ignore-filetypes <文字列>
除外する拡張子
--show-hiddenfiles, --no-show-hiddenfiles
隠しファイルを表示
(デフォルトで無効)
-v, --verbose <整数> メッセージの出力レベル(0,1,2)
--pidfile <文字列> ファイルにプロセスIDを書き込む
--advanced, --no-advanced 詳細設定オプションを表示
(デフォルトで無効)
--interact, --no-interact 対話的なインターフェース
(デフォルトで有効)
-I, --intf <文字列> インターフェースモジュール
--extraintf <文字列> 拡張インターフェースモジュール
--control <文字列> 制御インターフェース
ホットキー
--hotkeys-y-wheel-mode {-1 (無視), 0 (音量の制御), 2 (再生位置の制御), 3 (再生位置制御を反転)}
マウスホイールの垂直軸制御
--hotkeys-x-wheel-mode {-1 (無視), 0 (音量の制御), 2 (再生位置の制御), 3 (再生位置制御を反転)}
マウスホイールの水平軸制御
--global-key-toggle-fullscreen <文字列>
全画面表示
--key-toggle-fullscreen <文字列>
全画面表示
--global-key-leave-fullscreen <文字列>
全画面表示の解除
--key-leave-fullscreen <文字列>
全画面表示の解除
--global-key-play-pause <文字列>
再生/一時停止
--key-play-pause <文字列> 再生/一時停止
--global-key-faster <文字列>
速く
--key-faster <文字列> 速く
--global-key-slower <文字列>
ゆっくり
--key-slower <文字列> ゆっくり
--global-key-rate-normal <文字列>
通常レート
--key-rate-normal <文字列> 通常レート
--global-key-rate-faster-fine <文字列>
少しだけ速く
--key-rate-faster-fine <文字列>
少しだけ速く
--global-key-rate-slower-fine <文字列>
少しだけゆっくり
--key-rate-slower-fine <文字列>
少しだけゆっくり
--global-key-next <文字列> 次へ
--key-next <文字列> 次へ
--global-key-prev <文字列> 前へ
--key-prev <文字列> 前へ
--global-key-stop <文字列> 停止
--key-stop <文字列> 停止
--global-key-jump-extrashort <文字列>
ほんの少し前に戻る
--key-jump-extrashort <文字列>
ほんの少し前に戻る
--global-key-jump+extrashort <文字列>
ほんの少し先に進む
--key-jump+extrashort <文字列>
ほんの少し先に進む
--global-key-jump-short <文字列>
少し前に戻る
--key-jump-short <文字列> 少し前に戻る
--global-key-jump+short <文字列>
少し先に進む
--key-jump+short <文字列> 少し先に進む
--global-key-jump-medium <文字列>
前に戻る
--key-jump-medium <文字列> 前に戻る
--global-key-jump+medium <文字列>
先に進む
--key-jump+medium <文字列> 先に進む
--global-key-jump-long <文字列>
かなり前に戻る
--key-jump-long <文字列> かなり前に戻る
--global-key-jump+long <文字列>
かなり先に進む
--key-jump+long <文字列> かなり先に進む
--global-key-frame-next <文字列>
次のフレーム
--key-frame-next <文字列> 次のフレーム
--global-key-quit <文字列> 終了
--key-quit <文字列> 終了
--global-key-vol-up <文字列>
音量を上げる
--key-vol-up <文字列> 音量を上げる
--global-key-vol-down <文字列>
音量を下げる
--key-vol-down <文字列> 音量を下げる
--global-key-vol-mute <文字列>
ミュート
--key-vol-mute <文字列> ミュート
--global-key-audio-track <文字列>
オーディオトラックの切り替え
--key-audio-track <文字列> オーディオトラックの切り替え
--global-key-audiodevice-cycle <文字列>
オーディオデバイスの切り替え
--key-audiodevice-cycle <文字列>
オーディオデバイスの切り替え
--global-key-subtitle-revtrack <文字列>
字幕トラックの切り替え順を反転
--key-subtitle-revtrack <文字列>
字幕トラックの切り替え順を反転
--global-key-subtitle-track <文字列>
字幕トラックの切り替え
--key-subtitle-track <文字列>
字幕トラックの切り替え
--global-key-subtitle-toggle <文字列>
字幕切り替え
--key-subtitle-toggle <文字列>
字幕切り替え
--global-key-program-sid-next <文字列>
次のプログラムサービスIDを切り替え
--key-program-sid-next <文字列>
次のプログラムサービスIDを切り替え
--global-key-program-sid-prev <文字列>
前のプログラムサービスIDを切り替え
--key-program-sid-prev <文字列>
前のプログラムサービスIDを切り替え
--global-key-aspect-ratio <文字列>
ソースのアスペクト比の切り替え
--key-aspect-ratio <文字列>
ソースのアスペクト比の切り替え
--global-key-crop <文字列> ビデオのクロッピングの切り替え
--key-crop <文字列> ビデオのクロッピングの切り替え
--global-key-toggle-autoscale <文字列>
自動スケーリングの切り替え
--key-toggle-autoscale <文字列>
自動スケーリングの切り替え
--global-key-incr-scalefactor <文字列>
スケーリング係数の増加
--key-incr-scalefactor <文字列>
スケーリング係数の増加
--global-key-decr-scalefactor <文字列>
スケーリング係数の減少
--key-decr-scalefactor <文字列>
スケーリング係数の減少
--global-key-deinterlace <文字列>
デインタレースの切り替え
--key-deinterlace <文字列> デインタレースの切り替え
--global-key-deinterlace-mode <文字列>
デインターレースモードの切り替え
--key-deinterlace-mode <文字列>
デインターレースモードの切り替え
--global-key-intf-show <文字列>
全画面表示モードでコントローラーを表示
--key-intf-show <文字列> 全画面表示モードでコントローラーを表示
--global-key-wallpaper <文字列>
ビデオ出力の壁紙モードの切り替え
--key-wallpaper <文字列> ビデオ出力の壁紙モードの切り替え
--global-key-random <文字列>
ランダム再生
--key-random <文字列> ランダム再生
--global-key-loop <文字列> 通常再生/ループ/リピート
--key-loop <文字列> 通常再生/ループ/リピート
--global-key-zoom-quarter <文字列>
1:4 1/4
--key-zoom-quarter <文字列>
1:4 1/4
--global-key-zoom-half <文字列>
1:2 1/2
--key-zoom-half <文字列> 1:2 1/2
--global-key-zoom-original <文字列>
1:1 オリジナル
--key-zoom-original <文字列>
1:1 オリジナル
--global-key-zoom-double <文字列>
2:1 2倍
--key-zoom-double <文字列> 2:1 2倍
ジャンプする長さ:
--extrashort-jump-size <整数>
ほんの少し戻ったり、進んだりする長さ
--short-jump-size <整数> 少し戻ったり、進んだりする長さ
--medium-jump-size <整数> 戻ったり、進んだりする長さ
--long-jump-size <整数> かなり戻ったり、進んだりする長さ
--bookmark1 <文字列> プレイリストのブックマーク1
--bookmark2 <文字列> プレイリストのブックマーク2
--bookmark3 <文字列> プレイリストのブックマーク3
--bookmark4 <文字列> プレイリストのブックマーク4
--bookmark5 <文字列> プレイリストのブックマーク5
--bookmark6 <文字列> プレイリストのブックマーク6
--bookmark7 <文字列> プレイリストのブックマーク7
--bookmark8 <文字列> プレイリストのブックマーク8
--bookmark9 <文字列> プレイリストのブックマーク9
--bookmark10 <文字列> プレイリストのブックマーク10
-h, --help, --no-help VLCのヘルプの表示(--advancedと--help-verboseを
組み合わせ可能)
(デフォルトで無効)
-H, --full-help, --no-full-help
VLCとそのモジュールの網羅的なヘルプ
(デフォルトで無効)
--longhelp, --no-longhelp VLCとすべてのモジュールのヘルプの表示(--advanc
edと--help-verboseを組み合わせ可能)
(デフォルトで無効)
--help-verbose, --no-help-verbose
ヘルプ表示の際の冗長表示
(デフォルトで無効)
-l, --list, --no-list 有効なモジュールの一覧を表示
(デフォルトで無効)
--list-verbose, --no-list-verbose
詳細情報を伴って有効なモジュールの一覧を表示
(デフォルトで無効)
-p, --module <文字列> 特定モジュールのヘルプを表示
(--advancedと--help-verboseオプションを組み合
わせ可能)モジュール名のプレフィックスに一致す
るものを表示
--ignore-config, --no-ignore-config
すべての設定オプションを読み込まない、また、設
定を保存しない
(デフォルトで有効)
--reset-config, --no-reset-config
現在の設定を既定値にリセットする
(デフォルトで無効)
--reset-plugins-cache, --no-reset-plugins-cache
現在のプラグインキャッシュをリセット
(デフォルトで無効)
--version, --no-version バージョン情報の表示
(デフォルトで無効)
--config <文字列> 別の設定ファイルを使用
注釈: --advancedをコマンドラインに付加すると詳細設定オプションが表示されます。
包括的なヘルプを表示するためには、'-H'オプションを指定してください。
ヘルプの中から動く壁紙に使うオプションをピックアップしました。
- –loop
- –video-wallpaper
- –no-audio
- –no-video-title-show
上記4個のオプション、ループ やビデオを壁紙として表示、音の無効化やタイトルの非表示を組み合わせて使用します。
組み合わせると下記のようになり、最後の部分に再生したい動画ファイルやストリーミングのURLなどを記述する形になります。
cvlc --loop --video-wallpaper --no-audio --no-video-title-show 再生したいファイルやURL
The Jazz Hop Caféさんの動画などを壁紙するとかなりおしゃれですね。
cvlc --loop --video-wallpaper --no-audio --no-video-title-show https://www.youtube.com/watch?v=5wRWniH7rt8
ただ、実際に動画を再生させている様子はThe Jazz Hop Caféさんの利用規約的にみせれないので、コマンドの紹介だけでとどめておきます。
FascodeNetworkのNaxii制作したかっこよくAlter Linuxを紹介するPVを再生させている様子をご覧いただきましょう。
cvlc --loop --video-wallpaper --no-audio --no-video-title-show https://youtu.be/Wof2hS-Ana4
ちなみにAMVなどを設定してもなかなかおしゃれでしたよ〜
VLCでYoutubeが再生できないときの対処方法
vlcでYoutubeのURLが再生できない場合はVLCのバージョンが古いかyoutube.luaの書き換えが必要な場合が多いです。
archlinux系は/usr/share/doc/vlc/lua/playlist/というpathに下記のファイルを配置しなおしてツール→設定→設定をリセットを行うと解決するケースが多いです。
archlinux系以外のLinux版pathは/usr/lib/vlc/lua/playlist/ もしくは /usr/share/vlc/lua/playlist/
mac系は /Applications/VLC.app/Contents/MacOS/share/lua/playlist/
最後に
Linuxで動く壁紙を使えるのは良いですね。実はLinuxで動く壁紙を設定するツールなどは存在しますが複数のディストリビューションでの動作が安定してなかったりとうまく動作しないことが多くいろいろ試しているとvlcでやるのが一番汎用性が高いため紹介させていただきました。
それではそれでは次のブログでお会いしましょう。
コメント