HarmonyOS thirdparty/FFmpeg这个库的使用指导?

项目中需要使用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包方式集成,且无使用范例,不知怎么集成与使用,所以希望能有一个使用范例指导。谢谢!

参考库:

https://github.com/arthenica/ffmpeg-kit

阅读 657
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进