vrep源码编译-Android中通过FFmpeg命令进行音视频编辑和处理(开源)

如何免费获取C++音视频学习资料:关注音视频开发T哥,点击“链接”免费获取2023年最新C++音视频开发进阶专属免费学习大礼包!

3.如何使用3.1添加依赖

implementation 'com.devyk.ffmpeglib:AVFFmpegCore:1.0.1'

3.2 函数API介绍

「回调处理」

public interface ExecuteCallback {
  /**
  *开始处理
  */
    void onStart(Long executionId);
    /**
     * 如果外部传递了当前操作视频的时长,那么返回的是百分比进度,反之返回的是操作视频对应的微妙时长
     *
     * @param v
     */
    void onProgress(float v);
  /**
  *处理成功
  */
    void onSuccess(long executionId);
  /**
  *处理失败
  */
    void onFailure(long executionId, String error);
  /**
  *取消处理
  */
    void onCancel(long executionId);
  /**
  * ffmpeg 执行的 log
  */
    void onFFmpegExecutionMessage(LogMessage logMessage);
}

“AV编辑器”

4.FFmpeg编译方法

vrep源码编译-Android中通过FFmpeg命令进行音视频编辑和处理(开源)

有时候我们在Github上发现一些基于FFmpeg的好项目vrep源码编译,比如ijkplayer、RxFFmpeg等,我们想基于它们做二次开发,因为我们不知道如何编译vrep源码编译,也不知道需要哪些节点打开编译FFmpeg。 这个时候我想拿一个单独项目的编译脚本,基于它进行二次编译。 一般来说,有些项目不会开源编译FFmpeg脚本。 这时候我们就可以获得开源项目的静态或者动态库了。 这里我以RxFFmpeg为例。 你可以看看我是否得到了它的编译脚本。

1.首先克隆RxFFmpeg

git clone https://github.com/microshow/RxFFmpeg.git

2.关联librxffmpeg-core.so

通过这个so我们知道应该是FFmpeg编译的动态库,现在我们通过cmake将其与这个so关联起来

cmake_minimum_required(VERSION 3.4.1)
#JNI 路径
set(FFMpeg_include_PATH ${CMAKE_SOURCE_DIR})
include_directories(${FFMpeg_include_PATH}/include/)
add_library(RxFFmpeg SHARED IMPORTED)
set_target_properties(RxFFmpeg PROPERTIES IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/../../../libs/${CMAKE_ANDROID_ARCH_ABI}/librxffmpeg-core.so)
find_library(
        log-lib
        log)
FILE(GLOB JNI_ALL_C ${JNI_PATH}/*.cpp)
add_library(
        ffmpeg-tools
        SHARED
        ${JNI_ALL_C}
)
target_link_libraries(
        ffmpeg-tools
        RxFFmpeg
${log-lib}
)

3.编写JNI函数并获取编译后的脚本

//
// Created by DevYK on 2020-10-02.
//
#include 
extern "C"
{
#include "libavutil/avutil.h"
}
#include 
#define  AV_TAG   "AVLOG"
#define LOGE(format, ...)  __android_log_print(ANDROID_LOG_ERROR, AV_TAG, format, ##__VA_ARGS__)
int JNI_OnLoad(JavaVM *javaVM, void *pVoid) {
    const char *config = avutil_configuration();
    LOGE("FFMPEG VERSION%s n", av_version_info());
    LOGE("FFMPEG configuration %s n", avutil_configuration());
    return JNI_VERSION_1_6;
}

vrep源码编译-Android中通过FFmpeg命令进行音视频编辑和处理(开源)

通过debug查看config指针指向的显存中的信息如下:

好了,收到它的编译信息后,我们就可以基于它来构建我们项目的编译了。 我们可以编译比它更多的函数。 就像一开始的介绍一样,我添加了一些市面上常用的C++库,基本上达到了万能。

5. 总结

vrep源码编译-Android中通过FFmpeg命令进行音视频编辑和处理(开源)

项目地址:AVFFmpegLib

这里就不介绍如何编译了。 如果你有兴趣,可以看看mobile-ffmpeg项目。 我也是基于它进行二次封装开发。

6. 参考资料

原文链接:Android中通过FFmpeg命令进行音视频编辑处理(开源)

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 vrep源码编译-Android中通过FFmpeg命令进行音视频编辑和处理(开源) https://www.wkzy.net/game/152871.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务