Как транслировать hls v4 / v5 в кодировку Chromecast? - PullRequest
0 голосов
/ 02 января 2019

У меня возникла проблема с передачей URL-адреса моего видео в Chromecast

Я не могу воспроизвести это видео

http://cdnlb.tvplayhome.lt/vod/eds/220830_test1/220830_test1/_/hls_v4/220830_test1.m3u8

, но если я переключусь на hls_v3или 2 или 1 он играет

http://cdnlb.tvplayhome.lt/vod/eds/220830_test1/220830_test1/_/hls_v3/220830_test1.m3u8

Это базовая реализация

            let url = URL.init(string: "http://cdnlb.tvplayhome.lt/vod/eds/220830_test1/220830_test1/_/hls_v4/220830_test1.m3u8")
        guard let mediaURL = url else {
            print("invalid mediaURL")
            return
        }

        let mediaInfoBuilder = GCKMediaInformationBuilder.init(contentURL: mediaURL)
        mediaInfoBuilder.streamType = GCKMediaStreamType.none;
        mediaInfoBuilder.contentType = "application/x-mpegURL"
        mediaInfoBuilder.metadata = metadata
        mediaInfoBuilder.mediaTracks = nil
        let mediaInformation = mediaInfoBuilder.build()

        let rmc = GCKCastContext.sharedInstance().sessionManager.currentCastSession?.remoteMediaClient


        let request = rmc?.loadMedia(mediaInformation)
        request!.delegate = self

, и я получаю это в консоли

cast connected
-[GCKMediaControlChannel didReceiveTextMessage:] - Received unexpected error: Invalid Request.
-[GCKMediaQueue request:didFailWithError:] - error fetching queue item IDs: Error Domain=com.google.cast.GCKError Code=4 "Invalid request" UserInfo={NSLocalizedDescription=Invalid request}
...