在Android中运行FFmpeg可执行二进制文件

Die*_*ehl 6 android ffmpeg

ffmpeg在我的/data/data/APP/files文件夹中为ARM Android编译了一个可执行文件,具有执行权限.我正在尝试基于从FFmpeg站点提取的示例执行命令.

这是我输入的命令行:

./ffmpeg -loop 1 -i /mnt/sdcard/com.example.test/image.png -c:v libx264 -t 30 -pix_fmt yuv420p /mnt/sdcard/com.example.test/video.mp4
Run Code Online (Sandbox Code Playgroud)

我的目标是从我的应用程序执行它,但即使在命令行,我收到此错误:

./ffmpeg: 1: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

有谁知道是什么以及如何解决它?

- 更新

我发现了一个更新的版本,我想我已经通过了这个错误.

但是现在,对于任何ffmpeg可执行文件的调用,我都会收到如下错误:

# ./ffmpeg -loop 1 -i /mnt/sdcard/com.example.teste/imagem.png -c:v libx264 -t 30 -pix_fmt yuv420p /mnt/sdcard/com.example.teste/video.mp4
[1] + Stopped (signal)        ./ffmpeg -loop 1 -i /mnt/sdcard/com.example.teste/imagem.png -c:v libx264 -t 30 -pix_fmt yuv420p /mnt/sdcard/com.example.teste/video.mp4
[1]   Segmentation fault      ./ffmpeg -loop 1 -i /mnt/sdcard/com.example.teste/imagem.png -c:v libx264 -t 30 -pix_fmt yuv420p /mnt/sdcard/com.example.teste/video.mp4
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

Die*_*ehl 1

我通过在Cross Compiling FFmpeg with x264 for Android上使用 @HiteshSondhi 的提示和文件解决了我的问题。

事实上,整个FFmpeg并不是我自己编译的。相反,我使用并配置了SampleFFmpegApp他在GitHub 页面上分发的内容。

最后的提示:在真实设备中进行测试。这是我真正可以让它正常工作的唯一地方。