私はターミナルで(ブラウザや他のウィンドウではなくすべてのbashセッションで)YouTubeビデオを見る方法を探しています。
これを行う簡単な方法はありますか?
私は次のことを想像しています:
$ youtube <video-url>
以下を使用してビデオを再生する方法を既に知っていますmplayer
。
$ mplayer -vo caca local-file.avi
ただし、これにより新しいウィンドウが開きます。ターミナルで遊ぶといいと思います。
また、セッションと互換性がなければなりませんtmux
。
別の質問をしました。新しいウィンドウが開かないようにする方法。
そのような機能がどこに必要なのか疑問に思う人のために、私は次の実験プロジェクトを始めました。多重化オペレーティングシステム——今回のコンセプトはtmux
すべてがセッション内で実行する必要があります。 。
そのため、ローカルおよびリモートビデオ用のビデオプレーヤーが必須です。 :-)
ベストアンサー1
以下を使用して、ビデオおよび/またはオーディオのみをダウンロードして視聴/聴くことができます。youtube-dl
。スクリプトはPythonで書かれており、私の考えに使用されffmpeg
ています。
$ youtube-dl --help
Usage: youtube-dl [options] url [url...]
Options:
General Options:
-h, --help print this help text and exit
--version print program version and exit
-U, --update update this program to latest version.
Make sure that you have sufficient
permissions (run with sudo if needed)
...
...
ビデオをダウンロードするには、ビデオを再生するページのURLを提供するだけで、スクリプトは残りのタスクを実行します。
$ youtube-dl https://www.youtube.com/watch?v=OwvZemXJhF4
[youtube] Setting language
[youtube] OwvZemXJhF4: Downloading webpage
[youtube] OwvZemXJhF4: Downloading video info webpage
[youtube] OwvZemXJhF4: Extracting video information
[youtube] OwvZemXJhF4: Encrypted signatures detected.
[youtube] OwvZemXJhF4: Downloading js player 7N
[youtube] OwvZemXJhF4: Downloading js player 7N
[download] Destination: Joe Nichols - Yeah (Audio)-OwvZemXJhF4.mp4
[download] 100% of 21.74MiB in 00:16
vlc
その後、以下を使用するか、ローカルでmplayer
視聴できます。
$ vlc "Joe Nichols - Yeah (Audio)-OwvZemXJhF4.mp4"
VLC media player 2.1.5 Rincewind (revision 2.1.4-49-gdab6cb5)
[0x1cd1118] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
わかりました。しかし、このビデオをASCII形式で見たいです。
次のタイトルのブログ投稿を見つけました。ASCII、YouTube、Wayback Machineについてyoutube-dl
これは、YouTubeストリームをダウンロードして別のアプリケーションにリダイレクトできる「バックエンド」として主に使用されるチャットルームで議論されたアプローチを示しています。
この資料では、次の方法を示しますmplayer
。
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
ダウンロード中のビデオはyoutube-dl
上記のSTDOUTを介してリダイレクトされます-o -
。一つあるここで効果を実証。
追加のライブラリをインストールすると、ASCIIビデオがさらに向上する可能性があります。
わかりました。しかし、実際の端末でビデオを再生したいですか?
xterm
O'Reillyの記事でビデオを再生する方法を見つけました。ASCIIアートビデオを見る。
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
上記の結果は、xterm
ビデオを再生するウィンドウが開きます。
それでピーナッツバターとチョコレートをこんなに一緒に入れてみてはいかがでしょうか?
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
ほぼ動作します!なぜビデオがウィンドウで再生されないのかはわかりませんが、そうする必要があるようです。ウィンドウが表示され、再生を開始して閉じます。私は数秒間ビデオを見た後、何も見ません。
おそらく上記の内容は最終的な解決策に近づくかもしれませんし、オプションを少し調整する必要があります。
追加ライブラリ
すでにlibcaca
インストールされていて(カラーバージョンaalib
)、フォントサイズをgnome-terminal
非常に小さい値(例:3)に減らした場合は、次のコマンドを使用すると、端末に直接表示される優れたASCIIビデオが表示されます。
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
端末
mplayer
端末内で直接プレイできるのか、別のウィンドウを開くのかは、端末の選択が大きな影響を与えるようです。キャッシングはmplayer
端末で直接プレイすることにも大きな影響を与えます。
terminator
このコマンドを使用すると、ビデオが切り捨てられる前に少なくとも最初の1/4部分を再生できます。
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
カラーバージョンの場合は、次のコマンドを使用します。
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
同じコマンドをgnome-terminal
&でも実行できますxterm
。
メモ:つまり(左から)xterm
、、、terminator
です。gnome-terminal
terminology