# Loongnix-Desktop上编译EasyMedia ​ 在`loongnix-desktop`系统上编译`Easymedia`,依赖ffmpeg4.4-1.5.6版本。 ## 安装编译 **1. 安装系统依赖** ``` sudo apt install git maven openjdk-8-jdk ffmpeg libavutil-dev libswresample-dev libavdevice-dev libavfilter-dev libswscale-dev libavformat-dev libavcodec-dev ``` **2. 编译ffmpeg-4.4-1.5.6-linux-loongarch64.jar** ​ EasyMedia强依赖ffmpeg,loongson的maven仓库的版本是6.0,因此我们需要先编译ffmpeg的4.4版本。 - 下载javacpp-presets源码 ``` git clone https://github.com/bytedeco/javacpp-presets.git 切换至1.5.6版本 git checkout 1.5.6 ``` - 编辑pom.xml文件 ``` 添加架构, ${javacpp.platform}${javacpp.platform.extension} 添加 头文件路径, 在合适路径插入includePath linkPath org.bytedeco javacpp /usr/include/loongarch64-linux-gnu/ /usr/lib/loongarch64-linux-gnu/ ``` - 执行编译等到ffmpeg-linux-loongarch64.jar ``` cd ffmpeg mvn install -Djavacpp.platform=linux-loongarch64 -Djavacpp.cppbuild.skip=true 编译完成之后,jar在target下 loongson@loongson-pc:~/javacpp-presets$ ls -l ffmpeg/target/ 总用量 11592 drwxr-xr-x 3 loongson loongson 17 4月 23 13:36 classes -rw-r--r-- 1 loongson loongson 312987 4月 23 13:56 ffmpeg.jar -rw-r--r-- 1 loongson loongson 11132978 4月 23 13:56 ffmpeg-linux-loongarch64.jar -rw-r--r-- 1 loongson loongson 415600 4月 23 13:56 ffmpeg-sources.jar drwxr-xr-x 3 loongson loongson 25 4月 23 13:36 generated-sources drwxr-xr-x 2 loongson loongson 51 4月 23 13:57 javadoc-bundle-options drwxr-xr-x 2 loongson loongson 28 4月 23 13:56 maven-archiver drwxr-xr-x 3 loongson loongson 35 4月 23 13:36 maven-status drwxr-xr-x 3 loongson loongson 31 4月 23 13:56 moditect drwxr-xr-x 4 loongson loongson 33 4月 23 13:55 native ``` **3. 将ffmpeg-linux-loongarch64.jar手动安装到 Maven 本地仓库中** 因为EasyMedia依赖ffmpeg-linux-loongarch64.jar包,我们需要将这个包添加到EasyMedia源码中生成一个完整的jar包。 ``` mvn install:install-file \ -Dfile=/home/loongson/javacpp-presets/ffmpeg/target/ffmpeg-linux-loongarch64.jar \ -DgroupId=org.bytedeco \ -DartifactId=ffmpeg \ -Dversion=4.4-1.5.6 \ -Dclassifier=linux-loongarch64 \ -Dpackaging=jar # 安装后,JAR 会被复制到: ~/.m2/repository/org/bytedeco/ffmpeg/4.4-1.5.6/ffmpeg-4.4-1.5.6-linux-loongarch64.jar # 同时会生成 pom.xml 文件: ~/.m2/repository/org/bytedeco/ffmpeg/4.4-1.5.6/ffmpeg-4.4-1.5.6.pom 随后在编译Easym的时候会将该jar包引入。 ``` **4. 修改EasyMedia的pom文件** ``` 添加loongarch64架构,删除其他架构 org.bytedeco ffmpeg linux-loongarch64 ``` 添加龙芯的maven源 ``` z主要添加位置。 loongson Loongson Maven https://maven.loongnix.cn/loongarchabi1/maven/ true true loongson Loongson Maven https://maven.loongnix.cn/loongarchabi1/maven/ true true ``` **5. 编译生成EasyMedia的jar包** ``` mvn clean package -DskipTests -DskipTests 跳过测试 ```