项目中需要使用FFmpeg这个库对音视频进行处理,例如合成、裁剪、拼接等;
在其他系统中,使用ffmpeg-kit,则可以直接使用,例如我直接构建如下命令,即可对音频修改采样率、比特率操作:
/**
* 修改音频采样率、比特率
* 命令样例
* ffmpeg -y -i input.mp3 -ar 44100 -ab 128k -ac 2 output.mp3
* 修改比特率
* 修改采样率
*/
public static String CMD_CHANGE_VOICE_AB = " -y -i %s -ar 44100 -ab 128k %s";
String cmdText = String.format(FFmpegUtils.CMD_CHANGE_VOICE_AB, inputFile, outputFile);
FFmpegKit.executeAsync(cmdText, new FFmpegSessionCompleteCallback() {
@Override
public void apply(FFmpegSession session) {
}
}, new LogCallback() {
@Override
public void apply(com.arthenica.ffmpegkit.Log log) {
}
}, new StatisticsCallback() {
@Override
public void apply(Statistics statistics) {
}
});
但在HarmonyOS 中,thirdparty/FFmpeg库需要通过应用hap包方式集成,且无使用范例,不知怎么集成与使用,所以希望能有一个使用范例指导。谢谢!
参考库:
ijkplayer是OpenHarmony环境下可用的一款基于FFmpeg的视频播放器,是HarmonyOS已经封装好的三方开源库:
https://gitee.com/openharmony-sig/ohos\_ijkplayer/tree/2.0.3-rc.0
可以直接依赖。
要使用HarmonyOS 编译这个库参考如下文档,看是否满足需求
提供编译好的ffmpeg,Ubuntu 20.04(推荐) 环境下使用 OpenHarmony SDK 编译 c/c++ 库教程:
https://gitee.com/openharmony-sig/tpc\_c\_cplusplus/blob/master/lycium/doc/ohos\_use\_sdk/OHOS\_SDK-Usage.md\#%E7%BC%96%E8%AF%91%E9%9D%9E-cmake-%E6%9E%84%E5%BB%BA%E7%9A%84%E5%BA%93