Skip to content

Latest commit

 

History

History
73 lines (53 loc) · 2.53 KB

video_frame_zh.md

File metadata and controls

73 lines (53 loc) · 2.53 KB

Video Frame

翻译:English

Important

  1. 必须导入 sketch-videosketch-video-ffmpeg 模块
  2. 仅支持 Android 平台

Sketch 支持解码视频帧,由以下 Decoder 提供支持:

注册

根据情况选择合适的 Decoder,然后注册它,如下:

// 在自定义 Sketch 时为所有 ImageRequest 注册
Sketch.Builder(context).apply {
    components {
        addDecoder(VideoFrameDecoder.Factory())
        //or
        addDecoder(FFmpegVideoFrameDecoder.Factory())
    }
}.build()

// 加载图片时为单个 ImageRequest 注册
ImageRequest(context, "file:///sdcard/sample.mp4") {
    components {
        addDecoder(VideoFrameDecoder.Factory())
        //or
        addDecoder(FFmpegVideoFrameDecoder.Factory())
    }
}

配置

ImageRequestImageOptions 支持一些视频帧相关的配置,如下:

ImageRequest(context, "file:///sdcard/sample.mp4") {
    // 提取 1000000 微秒处的帧
    videoFrameMicros(1000000)

    // 或提取 10000 毫秒处的帧
    videoFrameMillis(10000)

    // 或获取提取中间的帧
    videoFramePercentDuration(0.5f)

    // 设置指定时间处无法提取帧时的处理策略
    videoFrameOption(MediaMetadataRetriever.OPTION_CLOSEST)
}