Télécharger uniquement l'audio d'une vidéo youtube

je sais qu'il ya un million de façons de télécharger une vidéo à partir de youtube et ensuite convertir en audio ou faire un traitement supplémentaire sur elle. Mais récemment j'ai été surpris de voir une application appelée YoutubeToMp3 sur mac montrant effectivement "Skipping x mb of video" et en principe seulement le téléchargement de l'audio de la vidéo, sans la nécessité d'utiliser bandwith pour télécharger la vidéo entière et ensuite la convertir. Je me demandais si c'était vraiment correct et possible parce que je n'arrive pas à trouver un moyen de faire que. Avez-vous des idées ?

EDIT: Après quelques essais voici quelques informations supplémentaires sur le sujet. La vidéo que j'ai essayé d'obtenir l'audio est juste un exemple de fichier mp4 à partir de l'internet:

http://download.wavetlan.com/SVV/Media/HTTP/MP4/ConvertedFiles/MediaCoder/MediaCoder_test6_1m9s_XVID_VBR_306kbps_320x240_25fps_MPEG1Layer3_CBR_320kbps_Stereo_44100Hz.mp4

j'ai essayé

ffmpeg -i "entrée".mp3

ffmpeg -i "entrée" -vn.mp3

ffmpeg-i "input" - vn-ac 2-ar 44100-ab 320k-F sortie mp3.mp3

ffmpeg -i "entrée" -vn -acodec copy de sortie.mp3

malheureusement aucune de ces commandes ne semble utiliser moins de bandwith. Ils téléchargent tous la totalité vidéo. Maintenant que vous avez la vidéo pouvez-vous confirmer s'il y a réellement une commande qui télécharge seulement le flux audio à partir de lui et abaisse l'utilisation de bandwith? Merci!

15
demandé sur Feras 2013-03-06 11:06:55

3 réponses

après beaucoup de recherches, j'ai découvert que ce n'est pas possible et développer une approche alternative:

  1. télécharger l'en-tête mp4
  2. analyser l'en-tête et obtenir les emplacements des octets audio
  3. Télécharger l'audio octets avec http demandes de plage et des compensations
  4. assembler les octets audio et les envelopper dans un simple conteneur ADTS pour produire un fichier M4A en cours de lecture

de cette façon, seule la bande passante pour les octets audio est utilisée. Si vous trouvez une meilleure façon de le faire, faites-le-moi savoir.

pour un exemple D'application Android et mise en œuvre vérifier:

https://github.com/feribg/audiogetter/blob/master/audiogetter/src/main/java/com/github/feribg/audiogetter/tasks/download/VideoTask.java

17
répondu Feras 2015-02-26 05:48:24

FFmpeg est capable d'accepter une URL comme entrée. Si L'URL est seekable, alors FFmpeg pourrait théoriquement sauter tous les cadres vidéo, et donc il aurait besoin de télécharger seulement les données pour le flux audio.

essayer d'utiliser

ffmpeg -i http://myvideo.avi out.mp3

et voir s'il faut moins de bande passante.

2
répondu sashoalm 2013-03-06 07:44:20

Eh bien, maintenant il est possible de télécharger uniquement l'audio de la vidéo youtube et pour que j'utilise ce youtube 2 MP3 api

ça marche très bien pour moi. tout ce que vous avez besoin de mettre youtube id et c'est tout.

-3
répondu Kapil 2017-04-30 04:19:33