从YouTube视频下载只有音频(Download ONLY audio from a youtub

2019-07-21 02:00发布

我知道有一百万的方式从YouTube下载的视频,然后将其转换为音频或在其上做进一步的处理。 但最近我很惊讶地看到在Mac上居然显示“跳过视频的X MB”,也应该只下载从视频音频称为YoutubeToMp3一个应用程序,而无需使用带宽来下载整个视频,然后将其转换。 我在想,如果这确实是正确的,并有可能的话,因为我无法找到任何方式做到这一点。 你有什么想法 ?

编辑:这里经过一些测试是对主题的一些额外的信息。 我试图让声音从距离互联网样本MP4文件视频:

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

我试过了

ffmpeg的-i “输入” out.mp3

ffmpeg的-i “输入” -vn out.mp3

FFMPEG -i“输入” -vn -ac 2 -Ar 44100 -ab 320K -f MP3 output.mp3

ffmpeg的-i“输入” -vn -acodec副本output.mp3

不幸的是这些命令的非似乎是使用较少的带宽。 他们都下载整个视频。 现在,你有视频可以为您确认是否确实是存在的,从它仅下载音频流和降低带宽使用的命令? 谢谢!

Answer 1:

大量的研究后,我发现,这是不可能的,开发一种替代方法:

  1. 下载MP4头
  2. 解析头,并获得音频字节的位置
  3. 下载音频字节与HTTP范围请求和偏移
  4. 组装音频字节包起来简单ADTS容器制作播放M4A文件

这样,只针对音频字节的带宽使用。 如果您发现这样做的更好的方法是请让我知道。

对于一个样本Android应用和实施检查:

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



Answer 2:

FFmpeg的是能够接受的URL作为输入。 如果URL是可查找,然后FFmpeg的理论上可以跳过所有的视频帧,因此将只需要下载数据的音频流。

尝试使用

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

看看它需要较少的带宽。



Answer 3:

好了,现在它可以下载YouTube视频的纯音频和我使用这个YouTube的2 MP3 API

它的工作原理对我非常好。 所有你需要把YouTube的ID,就是这样。



文章来源: Download ONLY audio from a youtube video