Możesz pobierać filmy i / lub tylko dźwięk, a następnie oglądać / słuchać ich za pomocą youtube-dl
. Skrypt jest napisany w Pythonie i używa ffmpeg
wierzę.
$ 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)
...
...
Aby pobrać filmy, po prostu podaj adres URL strony, na której chcesz wideo, a skrypt zajmie się resztą:
$ 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
Następnie możesz użyć vlc
lub, mplayer
aby obejrzeć je lokalnie:
$ 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"
OK, ale chcę oglądać te filmy, gdy są przesyłane strumieniowo i w ASCII
Znalazłem ten artykuł na blogu zatytułowany: Na ascii, youtube i puszczaniu, który demonstruje metodę, którą omawiałem na czacie, głównie youtube-dl
jako „backend”, który mógłby pobierać strumień YouTube, a następnie przekierowywać go do innej aplikacji.
W tym artykule pokazano, jak to zrobić mplayer
:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa -monitorpixelaspect 0.5 -
Wideo są pobierane przez youtube-dl
zostaje przekierowany poprzez standardowe wyjście powyżej -o -
. Tutaj jest demonstracja efektu .
Po zainstalowaniu dodatkowych bibliotek wideo ASCII można jeszcze bardziej ulepszyć.
OK, ale chcę wideo w moim terminalu?
Znalazłem tę sztuczkę, która pozwala na odtwarzanie wideo xterm
w artykule O'Reilly zatytułowanym: Oglądaj wideo w sztuce ASCII .
$ xterm -fn 5x7 -geometry 250x80 -e "mplayer -vo aa:driver=curses j.mp4
Powyższe powoduje xterm
otwarcie okna, w którym odtwarzany jest film.
Pomyślałem więc, dlaczego nie poskładać razem masła orzechowego i czekolady w ten sposób:
$ xterm -fn 5x7 -geometry 250x80 -e \
"youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -vo aa:driver=curses -"
To prawie działa! Nie jestem pewien, dlaczego wideo nie może być odtwarzane w oknie, ale wydaje się, że powinno. Okno pojawia się i zaczyna grać, ale potem się zamyka. Przez kilka sekund widzę wideo, a potem nic.
Być może powyższe zbliży Cię do ostatecznego rozwiązania, a może po prostu trzeba nieco poprawić opcje.
Dodatkowe biblioteki
Jeśli libcaca
zainstalowałeś (w wersji kolorowej aalib
) i zmniejszysz rozmiar czcionki gnome-terminal
do czegoś naprawdę małego, na przykład powiedzmy 3, następujące polecenie wyświetli znacznie lepiej wyglądające wideo ASCII bezpośrednio w terminalu:
$ CACA_DRIVER=ncurses mplayer -vo caca video.mp4
Zaciski
Wydaje się, że wybór terminala może mieć duży wpływ na to, czy mplayer
można grać bezpośrednio w terminalu, czy też otwiera osobne okno. Również buforowanie mplayer
miało ogromną różnicę w możliwości grania bezpośrednio w terminalach.
Korzystając z tego polecenia, byłem w stanie zagrać terminator
, przynajmniej dla pierwszej 1/4 wideo przed jego wycięciem:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
mplayer -cache 32767 -vo aa:driver=curses -
Wersja kolorowa używała tego polecenia:
$ youtube-dl http://www.youtube.com/watch?v=OC83NA5tAGE -o - | \
CACA_DRIVER=ncurses mplayer -cache 64000 -vo caca -
Te same polecenia mogą być odtwarzane w gnome-terminal
& xterm
też.
UWAGA: To (od lewej do prawej) xterm
, terminator
, gnome-terminal
, i terminology
.