BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

youtubeを作業用BGMに使う時、広告鬱陶しくないですかと言うお話(解決策、シェル芸??)

ども、BobbyQuineです。タイトルにもある通り、YouTubeの広告、鬱陶しくないですか??普通に誰かの実況とか見ているぶんにはまぁいいですが、作業用BGMとして使っている最中に広告が流れてしまうと集中力も乱されますし広告スキップのために作業を中断しなければならなくなります。そこで今回は自分がYouTubeを作業用BGとして使うときにやっている方法をご紹介します。

 

やるなら自己責任で

 

今回使っていくのは基本的にはvlcです。Linuxユーザーにはある程度お馴染みなのではないでしょうか??Windowsのものも存在します。なお、後半ではBash向けのコマンドなんかを書いていくのでLinuxMac OSユーザーはそのまま使えます。Windowsコマンドについては詳しくないのでその辺はご了承ください。基本的にLinux向けに書いていきます。

 

VLCのインストール

実はVLCメディアプレイヤーにはストリーミング機能が備わっています。この機能では動画本編しか再生されません。つまり最初や途中の広告が再生されません。なのでこいつを使えば広告に作業を邪魔されることがありません。インストールは使っているディストリビューションの公式リポジトリからおそらくできると思います。とりあえず以下にはUbuntuの場合とArch Linux の場合を記載しておきます。

 

Ubuntu の場合

$ sudo apt-get install vlc

 

Arch Linux の場合

$ sudo pacman -S vlc

 

使いかた

基本的にはコマンドで何とかなります。適当に動画のURLを持ってきて

 

$ vlc https://www.youtube.com/watch?v=zXtsGAkyeIo

 

まぁ、これで再生できます。

 

これを使って作業用BGMの再生リストを作って置きます。

 

再生リストの作成

と堂々と書いたわけですが別に大層なものではなくただURLをテキストファイルに記述しただけものです。

 

$ cd ~

$ mkdir Video

$ mkdir ~/Video/List

$ cd ~/Video/List

$ vim list

 

以下ファイル内容--------------------------------------------------------------------

 

Carly Rae Jepsen - Call Me Maybe
https://www.youtube.com/watch?v=fWNaR-rxAic

t.A.T.u. - All The Things She Said
https://www.youtube.com/watch?v=8mGBaXPlri8

Selena Gomez, Marshmello - Wolves
https://www.youtube.com/watch?v=cH4E_t3m3xM

Selena Gomez - Come & Get It
https://www.youtube.com/watch?v=n-D1EB74Ckg

Avicii - Levels
https://www.youtube.com/watch?v=_ovdm2yX4MA

Егор Крид & MOLLY - Если ты меня не любишь (премьера клипа, 2017)
https://www.youtube.com/watch?v=RI4ALqHtGrs

t.A.T.u. - All About Us (Uncensored)
https://www.youtube.com/watch?v=6yP4Nm86yk0

以上----------------------------------------------------------------------------------------

 

リストの再生コマンド(シェル芸??)

まぁ、こっからは再生コマンドです。とりあえずそのものを記します。

 

$ vlc $(cat list | grep http | tr '\n' ' ')

何だかシェル芸っぽいことをやってます。これについて一応一つずつ解説していきます。

 

まず外側のvlcコマンドは置いといて括弧で囲われた区間の処理について、catコマンドでlistファイルの中身を読み出します。そしてそれをパイプでつないだgrepコマンドに渡します。grepコマンドでは " http " と言う文字列のある行だけに絞ります。で、それをtr コマンドにパイプで渡します。最後のtrコマンドでは改行をスペースに変換しています。これで出来上がる文字列はいかの様になります。

 

https://www.youtube.com/watch?v=fWNaR-rxAic https://www.youtube.com/watch?v=8mGBaXPlri8 https://www.youtube.com/watch?v=cH4E_t3m3xM https://www.youtube.com/watch?v=n-D1EB74Ckg https://www.youtube.com/watch?v=_ovdm2yX4MA https://www.youtube.com/watch?v=RI4ALqHtGrs https://www.youtube.com/watch?v=6yP4Nm86yk0

 

見事にURL同士の間にスペースの入った一行が出力されているのがわかります。で、上のコマンドではこれをvlcの引数しているわけです。

 

ここで、「毎回同じ順番に再生されては飽きてしまう」と言う僕のような人は以下の様に途中にsortコマンドを挿入し、URLをランダムに入れ替えるといいでしょう。

 

$ vlc $(cat list | grep http | sort -R | tr '\n' ' ')

 

以上、作業用BGMにYouTubeを使うための豆知識でした。

 

追記(2018/05/01) : 今日になって気になってやって見たところ上記コマンドのtrコマンド部分はなくても動作することが分かりました(何か悔しい)。なのでコマンドは以下のものでもオッケーです。

 

$ vlc $(cat list | grep http | sort -R )

 

ここから先は蛇足の個人的な最近のこと。

最近twitterのシェル芸botと言うものを知りまして、それとともにシェル芸という存在を知ったのですよ。ちゃんとは分かっていないのですがコマンドをパイプでつなぎまくることで複雑な処理を一発で終わらせることの様で、これまたすごい人たちがいろんなことをやっている様なのですよ。それに興味を持ってしまったが故に、今回紹介したコマンドは若干シェル芸っぽいことが行われているわけです。これをシェル芸と読んでいいのかわ分かりませんが今回の件で結構おもしろい世界だな、と思いました。