iOS 的 Exoplayer 等效 - 类似于 TikTok 的视频流

Exoplayer equivalent for iOS - Video streaming similar to TikTok

是否有播放视频的 iOS 等效的 exoplayer?

或者谁能帮我知道 TikTok 如何流式传输视频?它使用哪个视频播放器?我正在尝试从 firebase 数据库在我的应用程序中流式传输视频,我正在使用 Swift 但我一直在选择正确的流式传输视频方式。有人可以帮助我或告诉我如何开始吗?

iOS中的原生播放器是AVPlayer

与 Google 的 ExoPlayer 是 Android 中通常的默认设置相同(另请参阅下面评论中@Manuel 的出色注释),AvPlayer 是 [=30 中的通常默认设置=] 并且您可以使用它来播放您的流式视频,对于 Apple 设备,这些视频通常采用 HLS .m3u8 文件流格式。 Android 设备的流通常是 DASH .mpd 文件流格式。

此时 Apple 还添加了一个新的 UI 跨设备框架,包括 iOS - 如果您正在使用它,那么值得搜索一些 AVPlayer 集成的好例子,例如:

https://medium.com/@chris.mash/avplayer-swiftui-b87af6d0553

如果您使用的是更传统的 UIKit,那么 Apple 会提供一些您可以测试的简单示例,在下面的代码中替换您的测试流(来自:https://developer.apple.com/documentation/avfoundation/media_assets_playback_and_editing/creating_a_basic_video_player_ios_and_tvos?language=objc):

@IBAction func playVideo(_ sender: UIButton) {
    //Substitute your video stream URL here to test
    guard let url = URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8") else {
        return
    }
    // Create an AVPlayer, passing it the HTTP Live Streaming URL.
    let player = AVPlayer(url: url)

    // Create a new AVPlayerViewController and pass it a reference to the player.
    let controller = AVPlayerViewController()
    controller.player = player

    // Modally present the player and call the player's play() method when complete.
    present(controller, animated: true) {
        player.play()
    }
}