只从流媒体视频下载音频

download ONLY audio from a streaming video?

本文关键字:音频 视频下载 流媒体      更新时间:2023-09-26

我明白我可以为流媒体网络视频下载特定时间范围的范围请求。

我想知道现在是否有可能从视频中只请求MP3或AAC音频流,以便在我的服务器上,我只下载音频。

从我听说这是可能的,但我还没有找到任何合法的解决方案或方法在网上做这件事,所以我真的不知道从哪里开始。

假设您正在讨论HTTP上的流,这实际上是不可行的。我真的不建议你尝试它,除非你有一个非常特殊的需求和大量的时间在手。

有可能吗?也许吧。首先,您必须有一个支持范围请求的HTTP服务器。如果是这样,那么您必须了解容器格式。为此,你必须开始下载文件并弄清楚。

大多数容器将流交错在一起。也就是说,您将有一个用于视频的字节块,一个用于音频的字节块,以及用于任何其他流的字节块。为了演示,假设一个视频只有音频流和视频流,每个块包含1秒的内容。这个交错看起来像这样:

HEADERS A V A V A V A V A V A V A V ...

HEADERS是容器用于设置流的所有内容。A为音频流块,V为视频流块。

如果你只想下载一个流,你必须能够自己解析容器格式,下载容器头和容器所需的任何其他数据,然后为你想要的特定流的所有块发出范围请求。根据交错,最终,这可能不是很有效!

当您下载数据时,您需要将其写回您可以实际使用的文件,这意味着您可能需要为此编写一些自定义代码,或者欺骗FFMPEG为您编写。