Android获取视频中任意时间点的帧数据转为Bitmap

        我是廷轩,老规矩先说结论:使用这个库 CLMediaMetadataRetriever,传入微秒,即可获取对应的视频帧Bitmap。

一. 视频拆帧需求

        近日频繁进行物体识别视频追踪算法验证,如何保证验证过程,输入数据的稳定性成为了重中之重。如果每次都是用相机获取帧数据进行算法验证,每次的手法、距离等都会成为干扰因素,所以考虑通过视频的方式,拆帧并模拟相机取帧延迟来进行数据验证测试。

二. 视频拆帧方案调查试验

1. Android官方的MediaMetadataRetriever

        使用官方的MediaMetadataRetriever,无需导入第三方包,直接通过 getFrameAtTime() 方法,传入微秒,以及一个找帧的方式参数,即可获取对应的视频帧Bitmap。关键代码如下:

private var retriever: MediaMetadataRetriever? = null // 视频拆帧器

...

retriever = MediaMetadataRetriever()
retriever?.setDataSource(context, uri)
...

// 关键方法
val bitmap = retriever?.getFrameAtTime(GET_FRAME_TIME_USE_AT_TIME * 1000,
                MediaMetadataRetriever.OPTION_CLOSEST)</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值