介绍

videoCompressor是一款ohos高性能视频压缩器。

目前实现的能力:

  • 支持视频压缩

使用本工程

有两种方式可以下载本工程:

  1. 开发者如果想要使用本工程,可以使用git命令
git clone https://gitee.com/openharmony-sig/ohos_videocompressor.git --recurse-submodules
  1. 点击下载按钮,把本工程下到本地,再把third_party_bounds_checking_function代码下载后,放入videoCompressor/src/cpp/boundscheck目录下,这样才可以编译通过。

下载安装

ohpm install @ohos/videocompressor

OpenHarmony ohpm
环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包

使用

1、视频压缩接口展示

let videoCompressor = new VideoCompressor();
videoCompressor.compressVideo(getContext(),this.selectFilePath,CompressQuality.COMPRESS_QUALITY_HIGH).then((data) => {
    if (data.code == CompressorResponseCode.SUCCESS) {
        console.log("videoCompressor HIGH message:" + data.message + "--outputPath:" + data.outputPath);
    } else {
        console.log("videoCompressor HIGH code:" + data.code + "--error message:" + data.message);
    }
    }).catch((err) => {
        console.log("videoCompressor HIGH get error message" + err.message);
    })

支持的视频规格

支持的解封装格式:

媒体格式

封装格式

视频

mp4、mpeg.ts

支持的视频解码格式:

视频解码类型

AVC(H.264)

支持的音频解码格式:

音频解码类型

AAC

支持的视频编码格式:

视频编码类型

AVC(H.264)

支持的音频编码格式:

音频编码类型

AAC

支持的封装格式:

媒体格式

封装格式

视频

mp4

接口说明

方法名

入参

接口描述

compressVideo(context: Context, inputFilePath: string, quality: CompressQuality): Promise

context:上下文,inputFilePath: 需要压缩的视频路径, quality: 压缩视频质量

视频压缩接口

单元测试用例详情见TEST.md

约束与限制

在下述版本验证通过:

DevEco Studio: (5.0.0.122), SDK: API12 (5.0.0.17)

DevEco Studio: 4.1 Canary(4.1.3.317), SDK: API11 (4.1.0.36)

DevEco Studio: Release(4.0.3.513), SDK: API10 (4.0.10.10)

目录结构

|----ohos_videocompressor
|     |---- entry  # 示例代码文件夹
|     |---- videoCompressor  # ohos_videocompressor库文件夹
|           |---- index.ets  # 对外接口
|     |---- README_CN.md  # 使用说明文档