gpt4 book ai didi

ios - 如何将 HLS 流下载到本地机器?

转载 作者:行者123 更新时间:2023-11-29 11:47:21 26 4
gpt4 key购买 nike

有时将流下载到我们的本地机器很有用。

原因可能是

  • 手动修改 list
  • 用于在网络不佳的情况下快速访问服务器的文件。

如果我们尝试使用 curlwget 下载流 URL 指向的 Assets ,我们最终会下载一个小文本文件。它肯定不是视频 Assets 。

那么我们如何下载流本身呢?

最佳答案

下载的实际脚本在我的答案底部的链接中给出。但在继续介绍操作方法之前,让我们先了解下载流的步骤。

无需过多赘述,指向流的 URL 通常以 m3u8 扩展名命名。该文件称为流的 list ,实际上是一个文本文件,其中包含一个对列表:比特率和匹配播放列表的相应 URL文件。以下是 list 文件的摘录:

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=380600,CODECS="avc1.4d00c,mp4a.40.2",RESOLUTION=320x180http://f24hls-i.akamaihd.net/hls/live/221193-b/F24_EN_LO_HLS/master_250.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=655600,CODECS="avc1.77.30,mp4a.40.2",RESOLUTION=640x360http://f24hls-i.akamaihd.net/hls/live/221193/F24_EN_LO_HLS/master_500.m3u8

播放列表文件是另一个文本文件,它告诉播放器要在播放头的每个位置播放哪个 TS 文件。

这是一个典型的播放列表文件的开头:

#EXTM3U#EXT-X-VERSION:3#EXT-X-TARGETDURATION:10#EXT-X-MEDIA-SEQUENCE:303165#EXTINF:10.000,20170216T114458/master_500/00151/master_500_01165.ts#EXTINF:10.000,20170216T114458/master_500/00151/master_500_01166.ts

因此,在为每个比特率下载播放列表文件后,我们可以开始下载以每个可能的比特率播放流所需的 TS 文件。

所有这些都是使用我放在 GitHub 中的一个非常简单且不言自明的脚本完成的:https://github.com/ishahak/HLS_Downloader

我希望它对其他人有用。

关于ios - 如何将 HLS 流下载到本地机器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com