使用AVPlayer流式传输视频时调整质量

问题描述:

如何使用AVPlayer将流式传输视频设置为低质量或高质量视频?使用AVPlayer流式传输视频时调整质量

我的代码如下:

self.videoPlayerItem = [AVPlayerItem playerItemWithURL:videoUrl]; 

    videoPlayer = [AVPlayer playerWithPlayerItem:self.videoPlayerItem]; 
    videoPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 
    CGRect frame = self.frame; 
    videoPlayerLayer = [AVPlayerLayer layer]; 
    [videoPlayerLayer setPlayer:videoPlayer]; 
    [videoPlayerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; 

感谢您的时间

+0

我想这只是一个可能的解决方案来切换网址:http://*.com/questions/24790126/avplayer-switching-stream-quality-while-playing – Injectios

+0

@Injectios,我没有单独的URL低质量 我只有一个网址。 – user2526811

您可以通过设置AVPlayerItempreferredPeakBitRate降低视频质量/比特率。

将其重新设置为零以获得通常的“由您的连接支持的最高质量/比特率”行为。

N.B.小于或等于preferredPeakBitRate的比特率必须可用于使其工作,例如,在HLS流中。

+0

我试图设置它,但没有影响。 我试着用1的值,它与最高相同 – user2526811

+0

你能解释我这个吗? 表示码率是2368563.665595 observerd码率为690212.603009 首选码率为100000.000000 – user2526811

+0

我不认为'preferredPeakBitRate'可以召唤实际上未由服务器提供的比特率。您的流中有哪些比特率可用? –