Я просто хочу передать (без загрузки) видео с YouTube. Есть ли простой способ сделать это с помощью python или существует сценарий для этого? Или я должен скачать в видеофайле видео, конвертировать его и играть?
Если у вас есть vlc и текстовая браузерная lynx (оба доступны из репозиториев Ubuntu), есть опрятный трюк, который вы можете использовать для потокового видео из командной строки. Команда, которую я использую, выполнит поиск и создаст список воспроизведения первой страницы результатов, которые будут воспроизводиться в vlc.
Я создал простой скрипт для обработки сложного синтаксиса. Скрипт:
#!/bin/bash
lynx -dump "https://www.youtube.com/results?search_query=\"$1\"" | egrep -o "http.*watch.*" | vlc -
Итак, если вы назовете скрипт, скажем stream_youtube, вы можете просто ввести «stream_youtube "search term"
Я просто попробовал его после того, как не использовал через некоторое время, и заметил пару ошибок, появившихся в окне, которое я никогда раньше не видел, но, несмотря на это раздражение, он все еще работал. Кто-то может найти его полезным или, по крайней мере, интересным.: -) [!d3 ]
Это не идеальное решение для вашей проблемы, но это может вам помочь.
Существует инструмент командной строки под названием youtube-dl, который предлагает много вариантов. Я думаю, что он сначала загрузит полное видео, а затем преобразуется в аудио. Я не уверен, есть ли возможность загружать аудиопоток, но я думаю, что нет. Кроме того, youtube-dl написан на python, но это не только простой скрипт.
Если вы посмотрите на man-страницу, найдите варианты последующей обработки. --extract-audio, например, преобразует видеофайл в аудиофайл. Вы также можете установить --audio-format и --audio-quality. Вы также можете запустить любую пользовательскую команду после загрузки с помощью --exec CMD.
Получить ее из Ubuntu Software Center: https://apps.ubuntu.com/cat/applications/youtube-dl/ Получить ее из Github: https://rg3.github.io/youtube-dl/
В качестве альтернативы вы можете использовать VLC для потоковой передачи видео и просто игнорировать или отключать видео функция.
Он должен работать, чтобы скопировать URL-адрес, открыть vlc и нажать CTRL + V или открыть сетевой пар (CTRL + N) и вставить URL-адрес. Затем нажмите на Video-> Videotrack-> deactivate.
Обратите внимание, что это все равно будет транслировать все видео, но оно не отобразится.