gpt4 book ai didi

swift - 在 swift cocoa 中将 m3u8 视频保存到磁盘

转载 作者:可可西里 更新时间:2023-11-01 02:05:10 30 4
gpt4 key购买 nike

我正在尝试将任何 m3u8 流播放列表作为视频保存到磁盘作为 1 个完整的视频文件,类似于 vlc。我可以创建一个 AVAsset 并在 AVPlayer 中正常播放它,但是我尝试过的 m3u8 链接都从 asset.isExportable 返回 false,因此使用 AVAssetExportSession 不起作用。我认为有可能将链接作为 InputStream 打开,然后将其写入 OutputStream,但不知道如何执行此操作。这是一个可行的选择还是它只会返回实际的 m3u8 文件而不是 .ts 视频链接?任何正确方向的指导将不胜感激。我很好地研究了如何使用不同的类,我只是有点迷失了从这里去哪里。

谢谢,菲尔

最佳答案

根据 m3u8 文件,从 m3u8 播放列表中的所有流构建单个视频实际上可能无法满足您的需求。

这是因为 m3u8 播放列表可以包含单个视频的多个比特率版本 - 因此,如果您将它们全部添加在一起,您将获得一个接一个具有不同质量级别(比特率)的相同视频。

同样值得注意的是,一些视频流将被加密,事实上大多数高值(value)流(如 Netflix 等)将被加密,因此下载它们将不允许您播放它们,除非您作为提供商自己的一部分这样做'下载即用”服务。

最后,某些服务可能会要求与视频流 URL 并行的某种形式的身份验证,从而使您难以访问流。

假设以上所有内容都很好或不适用于您的情况,那么视频文件本身可以使用 HTTP 下载功能作为文件下载。存在很好的例子,例如:https://stackoverflow.com/a/35510812/334402

关于swift - 在 swift cocoa 中将 m3u8 视频保存到磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445004/

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