Android 获取mp4文件中任意时间点的帧图片(MediaMetadataRetriever )
来源:互联网 发布:netflix hystrix源码 编辑:程序博客网 时间:2024/06/06 18:47
#
工作中遇到,需要获取一个本地mp4文件任意时间点的图片。刚开我始是使用 Android 提供的 MediaMetadataRetriever 来实现,不过鼓捣一阵发现,其实系统的这个类并不能满足我的需求,因为
MediaMetadataRetriever 只能获取 你指定时间的附近的关键帧(Key frame)
一开始的代码如下
java
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(renderOutputFilePath);
mmr.getFrameAtTime(1*1000*1000,OPTION_CLOSEST_SYNC );//获取1秒附近的关键帧
即使我把 getFrameAtTime 的第二个参数指定为 OPTION_CLOSEST 其实也获取不到精确位置的图片。
最后还是在stackoverflow找到了封装了ffmpeg的库可以满足我的需要,并且所提供的API 和 Android 的 MediaMetadataRetriever是一样的,github地址。 需要注意的是,这个库导进去还是比较大的,我仅仅导入了 armeabi-v7a 架构的库,也使得我的库增加了 将近5MB。如果后续有更好的方式,会在这边更新。
0 0
- Android 获取mp4文件中任意时间点的帧图片(MediaMetadataRetriever )
- Android MediaMetadataRetriever 从视频中截取某一帧图片
- android 获取MP4文件的图片大小
- android MediaMetadataRetriever获取的缩略图有些是全黑的
- 获取mp4文件的帧率fps
- Android之使用MediaMetadataRetriever类获取视频第一帧
- MP4文件中h264的 SPS、PPS获取
- MP4文件中h264的 SPS、PPS获取
- Android中播放MP4文件
- 如何从mp4文件中获取帧率信息
- ArcGIS中任意选点获取栅格点的行列号
- MediaMetadataRetriever根据指定时间截取帧
- 用 MediaMetadataRetriever 获取VideoView当前帧
- MediaMetadataRetriever获取视频第一帧失败
- Android获取图片任意一点的RGB值
- Android在屏幕任意点移动图片
- android应用开发中获取amr文件的播放时间
- Android之使用MediaMetadataRetriever类获取视频第一帧及用法
- 电脑一直重复弹出adb.exe已停止工作
- HTTP method GET is not supported by this URL
- wechall php系列之Training: PHP LFI
- CUDA中grid、block、thread、warp与SM、SP的关系
- Oracle基本查询
- Android 获取mp4文件中任意时间点的帧图片(MediaMetadataRetriever )
- Android Studio自定义模板 做开发竟然可以如此轻松
- Qt——乱码最有效的解决办法
- 数据可视化
- mybatis+spring 整合配置延迟加载
- Android 6.0 运行时权限处理解析
- 喊山
- 美团二面
- Python的一些技巧