Потоковое аудио (YouTube) - PullRequest
4 голосов
/ 21 мая 2010

Я пишу CLI для музыкальной медиа-платформы. Одной из особенностей будет то, что вы можете напрямую воспроизводить видео YouTube из CLI. Я действительно не представляю, как это сделать, но это звучит наиболее разумно:

Я собираюсь использовать те сайты, где вы можете загружать музыку с YouTube, например, http://keepvid.com/, а затем я напрямую транслирую и воспроизводлю это, но у меня есть одна проблема. Есть ли какая-либо библиотека Python, способная сделать это, и если да, есть ли у вас конкретные примеры?

Я искал, но ничего не нашел, даже не с GStreamer .

Ответы [ 2 ]

2 голосов
/ 22 мая 2010

Вам нужно две вещи, чтобы иметь возможность загружать видео с YouTube: идентификатор видео, который представлен разделом v= URL , и скрытое поле t=, которое присутствует в Источник страницы. Я понятия не имею, что это t значение, но это то, что вам нужно:)

Затем вы можете скачать видео, используя URL в формате;

http://www.youtube.com/get_video?video_id=*******&t=*******

Где звезды представляют полученные значения.

Полагаю, вы можете запросить идентификатор видео из пользовательского ввода, поскольку его легко получить. Затем ваша программа будет загружать источник HTML для этого видео, анализировать источник для значения t, а затем загружать видео с использованием вновь созданного URL-адреса.

Например, если вы откроете эту ссылку в своем браузере, она должна загрузить видео или вы можете использовать программу для загрузки, такую ​​как Wget ;

http://www.youtube.com/get_video?video_id=3HrSN7176XI&t=vjVQa1PpcFNM4c8MbEhsnGaNvYKoYERIJ-hK7ErLpUI=

0 голосов
/ 21 мая 2010

Похоже, что KeepVid - это просто букмарклет JavaScript, который связывает вас со страницей загрузки KeepVid, где вы можете затем загрузить видео YouTube в любом из множества форматов. Таким образом, если вы не хотите выяснить, как транслировать файл, на который он ссылается, это нелегко сделать. Вам нужно будет почистить возвращаемую страницу и выяснить, какой URL вы хотите загрузить, а затем вам придется транслировать с этого URL (и некоторые форматы могут быть или не быть потоковыми в любом случае).

И, кроме того, несмотря на то, что у них не указаны условия обслуживания, я думаю, что, поскольку они в основном поддерживаются рекламой, злоупотребление их функциональностью путем обхода их веб-страницы с рекламной поддержкой было бы этически сомнительна.

...