我正在尝试在 Android 上构建 ffmpeg。有很多教程。有些已经很旧了。 所以我想尝试一个可以使用较新版本的 ffmpeg 和 Android NDK 的工具。 经过长时间的搜索,我找到了一个,guardianproject / android-ffmpeg
该项目是在几个月前更新的。 使用NDK r8。 ffmpeg是从网上找来的,所以是最新版本。
在遵循所有说明后,我很困惑应该使用哪个结果以及如何使用它。 自述文件提到了测试,例如:
# embedding metadata into a matroska video /data/local/ffmpeg -y -i test.mp4 \
-attach attach.txt -metadata:s:2 mimetype=text/plain \
-acodec copy -vcodec copy testattach.mkv
首先,我找不到路径:/data/local 其次,这是一个命令。我将如何在 Android 中使用它?
完全困惑。 有光吗?
最佳答案
我认为您已经成功构建了 ffmpeg 可执行文件,并了解构建中静态库和共享库之间的区别。如果没有,您应该在尝试在 android 中的 CLI 上执行它之前先阅读该内容。
我认为作者在 cli 上使用 ffmpeg,使用 system.exec 或 processbuilder 技术来运行和执行位于手机上的 ./data/local/$yourSubDir...
参见here有关 android 中 cli 上的 ffmpeg 的讨论,请注意,很多人更喜欢使用完整的 JNI 路由,利用 java 接口(interface)来包装对 ffmpeg.main() 的调用。 IMO 对于您打算分发的应用程序来说,JNI 路线更加强大。但它可以在 cli 上运行。
让您感到困惑的测试只是使用 ffmpeg 的表达式,需要使用您喜欢的方法( system.exec 或 processbuilder )在 android 中调用。您只需在开发环境中的 windows/linux 中运行 ffmpeg 即可熟悉 cli 测试。在那里获取一个 shell 并使用 ffmpeg 常见问题解答中提到的示例。
您可以查看 git 上的 halfninja 项目,了解有关 JNI 方法的更多示例。
关于android-ndk - 如何使用guardian-ffmpeg-Android的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800432/