Pantomime 0.1.3

Pantomime 0.1.3

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2016 年 8 月
SPM支持 SPM

Thomas Christensen 维护。



Pantomime 0.1.3

  • Thomas Christensen

Pantomime

Pantomime 是一个为 iOS、OSX 和 tvOS 开发的轻量级框架,可以读取和解析 HTTP Live Streaming 清单。

最新构建

安装

通过 Swift Package Manager

要将 Pantomime 作为 Swift Package Manager 包使用,只需在您的 Package.swift 文件中添加以下内容。

import PackageDescription

let package = Package(
    name: "HelloWorld",
        dependencies: [
            .Package(url: "https://github.com/thomaschristensen/Pantomime", majorVersion: 0)
        ]
    )


使用方法

要使用解析器,请按如下操作

import Pantomime

let builder = ManifestBuilder()
if let url = NSURL(string: "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8") {
    let manifest = builder.parse(url)
}

ManifestBuilder 的 parse 方法期望在 URL 的另一端找到主播放列表清单。解析完成后,主播放列表中引用的所有媒体播放列表清单也将被检索和解析。

核心类

ManifestBuilder

清单构建器可以解析主和媒体播放列表清单。您可以选择让 ManifestBuilder 解析主和它的媒体播放列表,或者只解析主或媒体播放列表。

MasterPlaylist

表示主播放列表,它包含对媒体播放列表对象的引用列表

MediaPlaylist

媒体播放列表对象包含所有视频片段的列表以及其他属性,如目标持续时间(每个片段的最大持续时间)、路径、版本、带宽、程序 ID 和起始媒体序列号。

MediaSegment

此对象保留对实际视频文件(路径)的引用,它的实际持续时间,序列号和可选的标题。

辅助类

BufferedReader

这是一种定义如何逐行读取这些文本表现文档的协议。该协议的多种实现存在,有助于从文件、URL或字符串中读取文档。这些实现包括FileBufferedReader、URLBufferedReader和StringBufferedReader。

ReaderBuilder

是一个工具类,可以使用它根据需要的类型来构建实际的BufferedReader实现。(此类已弃用。直接使用BufferedReader的实现)

NSURLExtension

对NSURL类进行了扩展,以协助在给各种表现文件中相对路径时构建正确的URL。

let masterManifest = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"
let mediaManifest = "gear1/prog_index.m3u8"

if let masterManifestURL = NSURL(string: masterManifest) {
    let mediaManifestURL = masterManifestURL.URLByReplacingLastPathComponent(mediaManifest)
    // mediaManifestURL now = http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8
}

许可证

Pantomime框架在MIT许可证下发布。

待办事项

  • 构造主和媒体播放列表对象,并将它们作为文件写入