2017-09-26 41 views
0

AWS에서 트랜스 코딩 프로세스를 설정하는 데 시간을 소비 한 후, 비디오로드 시간이 HLS (m3u8)에서 예상대로 낮아지지 않았습니다.m3u8 재생 목록을 재생할 때 AVPlayer가 자동으로 조정됩니까?

AVPlayer를 AVPlayerViewController없이 직접 사용하고 있다면 비디오 스트림 품질을 직접 관리해야 할 수도 있습니다. 나의 이해는 내가 m3u8을 가졌다면 그 일들이 자동으로 수행되고 네트워크 상태/장치/기타에 따라 최상의 품질이 사용될 것인가?

AVPlayer를 그대로 사용하는 경우 m3u8없이로드 시간이 같지 않은 것처럼 보입니다.

나는 무슨 일이 벌어지고 있는지 더 잘 이해하기 위해 몇 가지를 시도해 왔습니다.

1)이 일을하는 것은 로딩 시간을 단축하기 위해 노력하고 있지만하지 wfifi에 때, 난 그냥 모든 방법을 낮추고보다 조금 더 많은 일을하는 것을 선호 :

self.player?.currentItem?.preferredPeakBitRate = 1 

이 나에게 꽤을 줄 것으로 보인다 저품질 비디오이지만 꽤 빨리로드됩니다. 나는 실제 비트율을 어떻게 감지 할 지 아직 결정하지 못했다. (이 값을 설정하면 로딩 시간이 크게 늘어났기 때문에 AVPlayer가 자체적으로 조정을 처리하지 않는다고 가정 할 것인가?).

self.player.automaticallyWaitsToMinimizeStalling = false 

3) 내가 처리 할 수있는 타사 라이브러리를 사용하여 문을 열어주는 말들 :

2) 또한,()는 preferredPeakBitRate 1로 설정해도 함께, 무한 회 발생과 운이 없었어요 이 중 일부를 수행 할 수있는 VKVideoPlayer라는 것을 찾았습니까?

감사합니다.

답변

1

이제 iOS8부터 가능합니다.

애플의 documentation로부터 카피 :

원하는 제한, 초당 비트, 네트워크 대역폭의 소비를이 항목에 대한. SWIFT : var에 preferredPeakBitRate : 더블 목적-C : @property (세분화)을 두 번 preferredPeakBitRate 비 제로

설정 preferredPeakBitRate 플레이어 그 비트 레이트에 항목의 재생을 제한하려고 시도해야 함을 표시하기 위해, 당 비트 표현 둘째.

preferredPeakBitRate를 충족시키기 위해 네트워크 대역폭 소비를 줄이지 못하면 항목을 계속 재생하는 동안 가능한 한 줄입니다.

+1

안녕하세요, 저는이 변수를 이미 사용하고 있지만 비트율 값을 얻는 방법에 대해서는 여전히 확신이 없습니다 (실제 비트 전송률이 실제로 사용되고 있는지 확인하기 위해 검사하고 있습니다). – JasonAddFour