2010-05-21 5 views
3

J'écris un CLI pour une plate-forme de médias musicaux. Une des fonctionnalités sera que vous pouvez lire directement des vidéos YouTube à partir de la CLI. Je n'ai pas vraiment une idée de comment le faire, mais celui-ci semblait le plus raisonnable:Diffusion audio (YouTube)

Je vais utiliser des sites où vous pouvez télécharger de la musique depuis YouTube, par exemple, http://keepvid.com/ puis je directement en streaming et jouer à cela, mais j'ai un problème. Y a-t-il une bibliothèque Python capable de le faire et si oui, avez-vous des exemples concrets? J'ai regardé, mais je n'ai rien trouvé, même pas avec GStreamer.

Répondre

1

Vous avez besoin de deux éléments pour pouvoir télécharger une vidéo YouTube, l'ID vidéo, représenté par la section v= du URL et un champ masqué t= présent dans la source de la page. Je n'ai aucune idée de ce que cette valeur t est, mais c'est ce dont vous avez besoin :)

Vous pouvez ensuite télécharger la vidéo en utilisant une URL dans le format;

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

Où les étoiles représentent les valeurs obtenues.

Je suppose que vous pouvez demander l'identifiant vidéo de l'entrée de l'utilisateur, car il est facile à obtenir. Votre programme télécharge alors la source HTML pour cette vidéo, analyse la source pour la valeur t, puis télécharge la vidéo en utilisant l'URL nouvellement créée. Par exemple, si vous ouvrez ce lien dans votre navigateur, il devrait télécharger la vidéo, ou vous pouvez utiliser un programme de téléchargement tel que Wget;

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

+0

Je suis sûr que YouTube a bloqué cette façon d'obtenir leurs vidéos, avez-vous essayé d'exemple que vous vous êtes donné? – wvd

+0

Oui. Cela a bien fonctionné pour moi la nuit dernière, mais maintenant ça ne marche pas. Je suppose que l'emplacement de la vidéo a changé .... – Jivings

+0

Où trouvez-vous exactement le "t = ***" dans un fichier source du site? J'ai essayé de le chercher mais je n'ai rien trouvé qui ressemble à ça. – wvd

0

Il semble que KeepVid est simplement un bookmarklet JavaScript qui vous connecte à une page de téléchargement KeepVid où vous pouvez télécharger la vidéo YouTube dans l'un des nombreux formats. Donc, à moins que vous ne vouliez savoir comment diffuser le fichier auquel il vous relie, ce n'est pas facile à faire. Vous devriez gratter la page retournée et déterminer l'URL que vous vouliez télécharger, puis vous deviez diffuser à partir de cette URL (et certains des formats peuvent ou non être streamables de toute façon). En outre, même si elles n'ont pas de conditions de service spécifiées, j'imagine que, comme elles semblent être principalement soutenues par la publicité, abuser de leurs fonctionnalités en passant par leur page Web appuyée par la publicité serait éthiquement discutable.

+0

Eh bien, je ne faisais que reffering à KeepVid à titre d'exemple, s'il y a des meilleurs sites que je serais heureux d'entendre cela. – wvd

Questions connexes