如何从ExoPlayer2中的实时视频获得比特率

我需要从exoplayer中找到流式视频比特率,但是这段代码似乎没有显示真正的比特率

bitrateEstimate = bandwidthMeter.bitrateEstimate
jinzuo5698 回答:如何从ExoPlayer2中的实时视频获得比特率

Exoplayer提供了BandwidthMeter事件here的侦听器。

'John@Gıthub.com'.toLowerCase() === 'John@Github.com'.toLowerCase()
     

定期调用以表明已传输字节或   估算的比特率已更改。注意:估计的比特率是   通常来自更多的信息,而不仅仅是字节和经过的Ms。

     

参数:

void onBandwidthSample(int elapsedMs,long bytesTransferred,long bitrateEstimate)

您可以在代码中使用它,例如:

elapsedMs - The time taken to transfer bytesTransferred,in milliseconds. This is at most the elapsed time since the last callback,but may be less if there were periods during which data was not being transferred.
bytesTransferred - The number of bytes transferred since the last callback.
bitrateEstimate - The estimated bitrate in bits/sec.
,

虽然可接受的答案可能有用,但通过在VideoRendererEventListener类中覆盖onVideoInputFormatChanged(),可以找到一种更简单明了的解决方案。

override fun onVideoInputFormatChanged(format: Format) {
      doSomethingWith(format.bitrate)
}
本文链接:https://www.f2er.com/2914072.html

大家都在问