mit einem Klick
upgrade-ffmpeg
将新编译的 FFmpeg 库升级到 SkyPlayer 项目中
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
将新编译的 FFmpeg 库升级到 SkyPlayer 项目中
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
| name | upgrade-ffmpeg |
| version | 0.3.0 |
| description | 将新编译的 FFmpeg 库升级到 SkyPlayer 项目中 |
参考 ffmpeg_build_reference.md
将 android/arm64-v8a/libskyffmpeg.so 复制到 jniLibs/arm64-v8a/ 目录
如果新版 FFmpeg 链接了 C++ 库(如 Whisper.cpp),需要将 NDK 中的 libc++_shared.so 复制到 jniLibs/arm64-v8a/ 目录:
NDK_ROOT=~/Library/Android/sdk/ndk/27.0.12077973
cp "$NDK_ROOT/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so" \
skymediaplayer/src/main/jniLibs/arm64-v8a/
错误症状:如果运行时出现 dlopen failed: library "libc++_shared.so" not found 错误,说明需要添加此库。
将 ffmpeg 编译产物目录下 include/ 目录下的依赖更换到 SkyPlayer 项目 skymediaplayer/src/main/cpp/ffmpeg/include/
注意事项:
需要保留的目录(不替换):
compat/ - 兼容性头文件libpostproc/ - 后处理库(新版可能不包含)以下头文件不在 FFmpeg 安装的 include/ 目录中,但被 cmdutils.c 等文件引用,需要从 FFmpeg 源码中复制:
| 文件 | 源位置 | 目标位置 |
|---|---|---|
getenv_utf8.h | FFmpeg 源码 libavutil/ | ffmpeg/include/libavutil/ |
libm.h | FFmpeg 源码 libavutil/ | ffmpeg/include/libavutil/ |
fopen_utf8.h | FFmpeg 源码 fftools/ | ffplay/ |
将 ffmpeg 编译产物目录的 config.h 文件替换到 ffmpeg/include/ 目录下
./gradlew :skymediaplayer:assembleDebug 确保编译通过CONFIG_WHISPER、CONFIG_NETWORK 等)| 文档 | 说明 |
|---|---|
| ffmpeg_build_reference.md | FFmpeg 编译产物目录结构和替换命令 |
| gpu_acceleration.md | Whisper GPU 加速支持(位于 develop-player) |