pep*_*per 4 javascript flash video-streaming audio-streaming html5-video
我知道我可以发出范围请求来下载流媒体网络视频的特定时间范围.
我现在想知道是否可以只从视频中请求MP3或AAC音频流,所以在我的服务器上,我只下载音频.
从我听说过这是可能的,但我还没有找到任何合法的解决方案或方法在网上这样做,所以我真的不知道从哪里开始.
假设您正在讨论基于HTTP的流,这实际上并不可行.我真的不建议尝试它,除非你有非常特殊的需要和很多时间在你的手上.
可能吗?也许.首先,您必须拥有支持范围请求的HTTP服务器.如果是,那么您必须了解容器格式.为此,您必须开始下载文件并将其弄清楚.
大多数容器将流交织在一起.也就是说,您将拥有视频的一大块字节,音频的一大块字节以及存在的任何其他流的块.出于演示目的,假设视频仅具有音频流和视频流,并且每个块包含1秒的内容.交错看起来像这样:
HEADERS A V A V A V A V A V A V A V ...
HEADERS是容器用于设置流的所有内容. A是一个音频流块,V是一个视频流块.
如果您只想下载一个流,您必须能够自己解析该容器格式,下载容器标题以及容器所需的任何其他数据,然后为特定流的所有块生成范围请求想.根据交错,最终,这可能根本不是很有效!
在下载数据时,您需要将其写回实际可以使用的文件,这意味着您可能需要编写一些自定义代码,或者欺骗FFMPEG为您编写数据.