无法在 iOS 14(模拟器和设备)上使用 VideoPlayer 播放 HEVC

Can't play HEVC with VideoPlayer on iOS 14 (emulator and device)

我正在制作一个可以播放电视频道直播视频的应用。有些频道是 HEVC 格式,有些是 h.264。 H.264 播放得很好,但 HEVC 不行。我在真实设备(iPhone 6s 和 iPhone 8 with iOS 14)和模拟器(iPhone 8, 11, 12 with iOS 14)上都试过了.我在网上看到,只有 iPhones 7 及更高版本支持 HEVC,所以它在 iphone 6s 上不起作用也就不足为奇了。
直播流由 HLS over HTTPS 提供。 HEVC 和 h.264 在 VLC 中播放(媒体 -> 开放网络流),因此它不应该是流的问题。
由于无法提供url流(仅限内部使用),我将提供VLC的屏幕截图。
这是 url 的样子:https://domain.example.com/api/stream/some_token/10
建立连接后,它重定向到:http://1xx.xx.xx.xx:85/stream/some_token/stream.m3u8
我在 Info.plist ()

中允许 HTTP

正在工作的 h.264 流编解码器信息

不工作 HEVC 流编解码器信息

现在是我尝试使用的代码。我在 AVPlayerVideoController 和 VideoPlayer(来自 AVKit,ios14+)和 none 播放 HEVC 中进行了尝试。

import SwiftUI
import AVKit

struct SUIVideoPlayer: View {
    private let player = AVPlayer(url: URL(string: "https://domain.example.com/api/stream/some_token/10")!)
    
    var body: some View {
        VideoPlayer(player: player)
            .onAppear() {
                player.play()
            }
            .onDisappear() {
                player.pause()
            }
    }

}

我在尝试播放 HEVC 或 h.264 流时没有遇到任何错误。一个有效,另一个无效。

找到答案了。 iOS 不支持也不会支持 TS 文件。您必须使用 fMP4。 苹果官方在其论坛的回复:https://developer.apple.com/forums/thread/132291