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

时间:2014-09-01 20:35:11

标签: android ffmpeg

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

这是我输入的命令行:

./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

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

./ffmpeg: 1: Syntax error: "(" unexpected

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

- 更新

我找到了newer version,我想我已经错过了这个错误。

但是现在,对于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

这是什么意思?

1 个答案:

答案 0 :(得分:1)

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

实际上,我并没有自己编译整个FFmpeg。相反,我使用并配置了他在his GitHub page分发的SampleFFmpegApp

最后的提示:在真实设备中测试它。这是我真正能够让它运作良好的唯一地方。