android - Android 上的 FFmpeg 命令行

标签 android video command-line ffmpeg format

我正在尝试在 Android 上使用这个 ffmpeg 命令行:

ffmpeg -i /sdcard/DCIM/video.mp4 -s 480x320 /sdcard/output.mp4

我有 ffmpeg 的可执行文件(在这个路径上:/data/local/tmp/ffmpeg/和 chmod 751),正如我所读,我试图使用以下方式调用它:

Runtime.getRuntime().exec("/data/local/tmp/ffmpeg -i /sdcard/DCIM/video.mp4 -s 480x320 /sdcard/output.mp4");

但是我在这次调用后没有得到任何结果,所以我尝试了相同的命令但使用的是 android 终端,我确信 ffmpeg 可以工作,因为我得到了很多输出,比如视频数据。但它没有执行我想要的操作,我收到了这条消息:

Unable to find a suitable output format for '/sdcard/output.mp4'

我不知道这可能是什么问题...... 感谢帮助!!

最佳答案

它可能不应该工作,因为 ffmpeg 将引用/usr/lib 以查找已安装的库。但这是 android 这种方法行不通。

可能你应该将 ffmpeg 编译成一个像 libffmpeg.so 这样的库并编写 c - wrapper,它将从你的应用程序位置加载它,如/data/data/com.myapp/lib/libffmpeg.so 并将参数传递给它图书馆。

因此:您将通过 jni 加载包装器并传递 ffmpeg 参数,然后包装器将加载实际的 ffmpeg 并将参数传递给它。

我在一个项目中尝试过,它有效

关于android - Android 上的 FFmpeg 命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19068716/

相关文章:

java - android-无法加载多个YouTube视频

android - Samsung S4 (Android 4.4.2) 上 WebView 中的 HTML5 视频问题

command-line - SAS 显示管理器命令

android - Android 的 OpenStreetMap 离线地理编码

javascript - react native 相对图像路径加载

python - 在 Linux 上的网络摄像头视频捕获期间获取静止帧

php - Yii 命令行不自动加载模型

postgresql - 使用命令行参数运行 PostgreSQL .sql 文件

java - 如何使用 "android.animation"包为平板电脑创建基本图像动画

java - 在 ListView 中显示 POJO 对象的多个字段