Потоковое видео HSL растянулось через некоторое время на IOS 15

#ios #swift5 #http-live-streaming #azure-media-services

Вопрос:

Во-первых, это ссылка на Youtube, показывающая проблему: растянутое видео. Видео на Youtube отредактировано, чтобы удалить ненужные части, я показываю только важные части. Как вы можете видеть, через некоторое время видео растягивается.

  • Исходное видео было загружено в службы мультимедиа Azure и закодировано с помощью Azure media с использованием встроенной предустановки «Адаптивное потоковое воспроизведение».
  • Я использую динамическую упаковку HLS с этим URL-адресом:
  • Я тестирую его на Iphone 12 pro max, IOS 15.0.1, swift 5.0
  • Я использую AVPlayerViewController, это код:
 import Foundation
import SwiftUI 
import AVKit 

struct VideoPlayerView: UIViewControllerRepresentable { 
    var player: AVPlayer 
    @Binding var gravity: AVLayerVideoGravity 

    func makeUIViewController(context: UIViewControllerRepresentableContext<VideoPlayerView>) -> AVPlayerViewController { 
        let controller = AVPlayerViewController() 
        controller.player = player 
        controller.showsPlaybackControls = false 
        controller.videoGravity = gravity 
        return controller 
    }     

    func updateUIViewController(_ uiViewController: AVPlayerViewController, context: UIViewControllerRepresentableContext<VideoPlayerView>) { 
        uiViewController.videoGravity = gravity 
    } 

    func dismantleUIViewController(_ uiViewController: AVPlayerViewController, coordinator: Self.Coordinator) { 
        //print("dismantleUIViewController (uiViewController)") 
    } 
} 
 

Моя гипотеза:

  • Avplayer неправильно переключается на правильную пропускную способность
  • Носитель Azure не отправляет правильные варианты в начальный список воспроизведения
  • Может быть, у меня нет правильных параметров для preferredMaximumResolution и preferredForwardBufferDuration? но я не знаю, какие ценности должны быть правильными.
  • Динамическая упаковка azure media теперь доступна в версии 7, возможно, не поддерживается IOS?

Я пытался исправить это, изменив свой вид, чтобы иметь фиксированные значения высоты и ширины, но это не работает. Я уже 2 недели пытаюсь разобраться в этом, но ничего не получается, у вас есть какие-нибудь идеи?

Как я уже сказал, видео растягивается через некоторое время, не является последовательным. Иногда это происходит сразу, а иногда занимает больше времени, но случается.

Ответ №1:

Я все еще на iOS 14 на iPhone 8 — и он отлично работает для меня… так что сейчас это может быть проблемой iOS 15.0.1.

Комментарии:

1. Думаю, вы правы. Мне пришлось использовать версию 4 динамической упаковки HLS: формат=m3u8-aapl, чтобы устранить проблему. Вот ссылка: docs.microsoft.com/en-us/azure/media-services/latest/…

2. попробуйте версию CMAF еще раз в официальном выпуске 15.0.1 на аппаратном обеспечении. Я обновил свой iPhone 8 до 15.0.1, и он отлично работает для меня.

3. Я пытался … но иногда воспроизводится звук, но видео имеет черный экран, и видео растягивается. Я убежден, что это не проблема azure…is о том, как Avplayer обрабатывает CMAF. На данный момент версия 4 работает лучше, чем CMAF. Может быть, в будущем это будет работать лучше