MediaMetadataRetrieverCompat - 获取视频信息与缩略图兼容方案
2017-05-27 20:07
239 查看
转载请注明出处:
http://blog.csdn.net/aa464971/article/details/72784142
Android交流群:146262062
Github地址:
https://github.com/dengyuhan/MediaMetadataRetrieverCompat
基于FFmpegMediaMetadataRetriever,体积大但取帧速度快
基于原生API,不会增加apk体积但取帧慢
Android交流群:146262062
http://blog.csdn.net/aa464971/article/details/72784142
Android交流群:146262062
Github地址:
https://github.com/dengyuhan/MediaMetadataRetrieverCompat
简介
MediaMetadataRetrieverCompat 内部有两种实现,各有特点FFmpegMediaMetadataRetriever
基于FFmpegMediaMetadataRetriever,体积大但取帧速度快
MediaMetadataRetriever
基于原生API,不会增加apk体积但取帧慢
示例apk
效果演示
快速开始
compile 'com.dyhdyh.compat.mmrc:media-metadata-retriever-compat:1.0.6' //可选(如果不引入则只使用原生API) compile 'com.github.wseemann:FFmpegMediaMetadataRetriever:1.0.14'
初始化(三种模式)
//自动 - 推荐 MediaMetadataRetrieverCompat mmrc = new MediaMetadataRetrieverCompat(); //FFmpeg //MediaMetadataRetrieverCompat mmrc = new MediaMetadataRetrieverCompat(MediaMetadataRetrieverCompat.RETRIEVER_FFMPEG); //原生API //MediaMetadataRetrieverCompat mmrc = new MediaMetadataRetrieverCompat(MediaMetadataRetrieverCompat.RETRIEVER_ANDROID);
设置路径
mmrc.setDataSource(path);
获取Metadata信息
String width = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_VIDEO_WIDTH); String height = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_VIDEO_HEIGHT); String rotation = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_VIDEO_ROTATION); String numTracks = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_NUM_TRACKS); String title = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_TITLE); String album = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_ALBUM); String albumArtist = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_ALBUMARTIST); String author = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_AUTHOR); String duration = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_DURATION); String framerate = mmrc.extractMetadata(MediaMetadataRetrieverCompat.METADATA_KEY_CAPTURE_FRAMERATE); ...
获取缩略图
//获取第一帧原尺寸图片 mmrc.getFrameAtTime(); //获取指定位置的原尺寸图片 注意这里传的timeUs是微秒 mmrc.getFrameAtTime(timeUs, option); //获取指定位置指定宽高的缩略图 mmrc.getScaledFrameAtTime(timeUs, MediaMetadataRetrieverCompat.OPTION_CLOSEST, width, height); //获取指定位置指定宽高并且旋转的缩略图 mmrc.getScaledFrameAtTime(timeUs, MediaMetadataRetrieverCompat.OPTION_CLOSEST, width, height, rotate);
Android交流群:146262062
相关文章推荐
- android 获取网络视频缩略图【完美兼容各版本】
- android MediaMetadataRetriever获取的缩略图有些是全黑的
- 获取视频和图片缩略图 与媒体信息
- android 获取网络视频缩略图【完美兼容各版本】
- 如何获取youtobe中的视频的缩略图等相关信息(调用API返回)?
- 获取视频网站上视频的缩略图以及其他信息
- 获取视频和图片缩略图 与媒体信息
- 获取视频和图片缩略图 与媒体信息
- 获取视频和图片缩略图 与媒体信息
- Iphone开发 获取视频缩略图
- 获取Android手机上的图片和视频缩略图
- 获取SD卡视频文件缩略图
- 获取图片和视频缩略图Thumbnails ThumbnailUtils
- 获取视频缩略图
- 获取手机图片和视频的缩略图
- java调用ffmpeg获取视频信息函数代码
- Android 获取SDCard上图片和视频的缩略图
- 获取Android手机上的图片和视频缩略图
- android获取音频、视频、图片信息
- Android 获取视频缩略图以及获取视频分辨率