Ви можете завантажити відео та / або просто аудіо, а потім переглядати / слухати їх за допомогою 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 та відпускання, що демонструє метод, про який я обговорював у чаті, в основному використовуючи 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 Art .
$ 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
.