Skip to content

ProbeMediaInfo

chriszeng87 edited this page Jul 26, 2017 · 3 revisions

获取视频信息(时长、缩略图等)

短视频SDK提供ProbeMediaInfoTools工具类,用于获取任意视频的时长、缩略图等信息,比如你可以用该工具类获取录制后视频或者合成后视频的信息

1. 获取缩略图

/**
 * @brief 获取视频的缩略图,可设置缩略图的输出宽高以及所需缩略图的具体时间点
 *
 * @param url 视频地址
 * @param seekTime 单位: 毫秒(MS)
 *                 该值为0,则以视频首帧为缩略图
 *                 若大于0,则会取离该时间点最近的一个关键帧为缩略图
 *                 该值大于视频时长时,以视频首帧为缩略图
 * @param width 输出缩略图的宽,0时按照原始视频分辨率输出
 * @param height 输出缩略图的高,0时按照原始视频分辨率输出
 *
 * @return 缩略图
 */
public Bitmap getVideoThumbnailAtTime(String url, long seekTime, int width, int height)

2. 获取视频时长等信息

可得到该视频的文件封装格式、视频编码格式、视频宽高、音频编码格式、采样率、声道数等信息
该接口为异步调用,通过回调ProbeMediaInfoListener来返回视频信息

   /**
     * 获取视频信息
     * @param url 需要获取的视频的url
     * @param listener 返回视频的信息
     */
    public void probeMediaInfo(String url, ProbeMediaInfoListener listener)

    public interface ProbeMediaInfoListener {
        void probeMediaInfoFinished(MediaInfo info);
    }

      public class MediaInfo {
        public String url; //视频url
        public long duration;   //视频时长
        public KSYProbeMediaInfo.KSYMediaFormat format;  //视频格式
        public int bitrate;  //视频码率
        public int videoStreamNum = 0;  //视频流个数
        public ArrayList<KSYProbeMediaInfo.KSYProbeMediaData> videoStreams; 
        public int audioStreamNum = 0; //音频流个数
        public ArrayList<KSYProbeMediaInfo.KSYProbeMediaData> audioStreams;
    }
Clone this wiki locally