首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅从youtube视频下载音频

仅从youtube视频下载音频
EN

Stack Overflow用户
提问于 2013-03-06 07:06:55
回答 2查看 48.5K关注 0票数 17

我知道有无数种方法可以从youtube下载一个视频,然后把它转换成音频,或者在它上做进一步的处理。但最近,我惊讶地看到,一款名为YoutubeToMp3的应用程序实际上显示了“跳过X mb的视频”,据称它只是从视频中下载音频,而不需要使用bandwith下载整个视频,然后再进行转换。我想知道这是否真的是正确和可能的,因为我找不到任何方法去做。你有什么想法吗?

编辑:经过一些测试,这里有一些关于这个主题的附加信息。我试图从其中获取音频的视频只是一个来自互联网的示例mp4文件:

44100Hz.mp4

我试过了

ffmpeg -i“输入”out.mp3

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

ffmpeg -i“输入”-vn -ac 2 -ar 44100 -ab 320 k -f mp3 output.mp3

ffmpeg -i“输入”-vn -acodec拷贝output.mp3

不幸的是,这些命令中没有一条似乎使用了较少的带带。他们都下载了整个视频。现在你有了视频,你能确认是否真的有一个命令只从它下载音频流,并降低带宽的使用?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-03 21:35:18

经过大量的研究,我发现这是不可能的,并开发了另一种方法:

  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

票数 24
EN

Stack Overflow用户

发布于 2013-03-06 07:44:20

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

试着使用

代码语言:javascript
复制
ffmpeg -i http://myvideo.avi out.mp3

看看是否需要更少的带宽。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15241076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档