如何分析出问题时播放的是哪支视频文件?该文件的容器格式和编码格式等基本信息

当播放器APP使用平台的MediaPlayer接口来播放视频时,可以参考下面的说明来查看播放的是哪支视频文件,该文件的容器格式和编码格式等基本信息。
如果播放器没有调用平台的MediaPlayer接口来播放视频,例如在播放时间点前后,搜索不到MediaPlayer的log,那么可能就是没有使用MediaPlayer接口,具体是否有log来说明这些信息,要看播放器有没有打印。

查看播放的哪支视频文件:

使用eng版本抓取log,在main log中搜索setDataSource,会打印类似下面的log:

D MediaPlayerService: line:943 setDataSource fd=8 (/storage/emulated/0/Movies/test.mp4), offset=0, length=576460752303423487

这个log说明播放的是/storage/emulated/0/Movies/test.mp4文件

查看文件的容器信息

在main log中搜索"Autodetected media content as",会打印类似下面的log:

D MediaExtractor: Autodetected media content as ‘video/mp4’ with confidence 0.40

这个log说明所播放的文件是MPEG4类型

查看文件的编码信息

将GenericSource.cpp文件的ALOGV替换成ALOGI,在main log搜索initFromDataSource,打印类似下面的log:

06-27 09:21:48.400229 500 2944 I GenericSource: initFromDataSource track[0]: video/avc
06-27 09:21:48.404787 500 2944 I GenericSource: initFromDataSource track[1]: audio/mp4a-latm
06-27 09:21:48.406415 500 2944 I GenericSource: initFromDataSource mSources.size(): 2 mIsSecure: 0 mime[0]: video/avc

这几句log说明该视频文件包含video流、audio流,video是avc编码格式,也就是H.264,audio是mp4a-latm编码格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值