android exoplayer 直播流,使用exoplayer2 播放AES加密过的视频流。

本文介绍了如何在Android上使用ExoPlayer2播放AES加密的直播流。通过自定义DataSource实现解密,并针对播放过程中遇到的mp4格式头信息错误和无法seekto的问题提出了解决方案,包括使用QtFastStart工具和重写ParsableByteArray。同时讨论了CBC和CFB128加密模式在流加密中的适用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//google音视频播放框架

compile 'com.google.android.exoplayer:exoplayer:r2.5.4'

利用exoplayer自定义了DataSource来解密AES加密的流。

核心代码:

// 1.创建一个默认TrackSelector,测量播放过程中的带宽。 如果不需要,可以为null。

DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();

//从MediaSource中选出media提供给可用的Render S来渲染,在创建播放器时被注入

TrackSelection.Factory videoTrackSelectionFactory =

new AdaptiveTrackSelection.Factory(bandwidthMeter);

//自适应轨道

TrackSelector trackSelector =

new DefaultTrackSelector(videoTrackSelectionFactory);

//控制MediaSource缓存media

DefaultLoadControl loadControl = new DefaultLoadControl();

WeimsDataSourceFactory 复制 DefaultDataSourceFactory

核心方法:

public DataSource createDataSource() {

return new WeimsDataSource(context, listener, baseDataSourceFactory.createDataSource());

}

WeimsDataSource 复制 DefaultDataSource

核心方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值