首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android FFMPEG:无法从Java代码执行ffmpeg

Android FFMPEG:无法从Java代码执行ffmpeg
EN

Stack Overflow用户
提问于 2013-08-14 00:10:35
回答 2查看 1.4K关注 0票数 0

我正在开发一个Android应用程序,我想从静态图像列表中创建一个视频。在网上搜索后,我意识到使用"FFMPEG“是完成这件事的方法。所以我获得了这个站点:https://github.com/guardianproject/android-ffmpeg-java,我从这个站点下载了C库和Java包装器。我能够编译C库-当然不是指令布局的方式-但我仍然能够在/external/android-ffmpeg/ffmpeg目录下获得"ffmpeg“可执行文件。我将该可执行文件复制到当前目录中,然后将其复制到Android下的一个目录中,我的应用程序可以在该目录中访问它。然后,我调用了提供的Java包装器,但我在日志文件中看到一些错误,如下所示:

代码语言:javascript
复制
08-13 11:55:37.848: D/FFMPEG(29598): /data/data/com.sample/app_bin/ffmpeg -y -loop 1 -i /storage/emulated/0/usersnapshot/ffmpeg/image%03d.jpg -r 25 -t 2 -qscale 5 /storage/emulated/0/video/snapshot-video.mp4 
08-13 11:55:37.898: I/ShellCallback : shellOut()(29598): /data/data/com.sample/app_bin/ffmpeg[1]: syntax error: '(' unexpected
08-13 11:55:37.938: I/ShellCallback : processComplete()(29598): 1

以下是代码片段(其中targetDirectoryForFFMPEG =存储图像的目录):

代码语言:javascript
复制
FfmpegController ffmpegController = new FfmpegController(this, targetDirectoryForFFMPEG);
String out = videoOutPutFile.getPath();
        MediaDesc mediaIn = new MediaDesc();
        mediaIn.path = targetDirectoryForFFMPEG+"/image%03d.jpg";
        mediaIn.videoFps =  "25";   
        ffmpegController.convertImageToMP4(mediaIn, 2, out,new ShellCallback() {

            @Override
            public void shellOut(String shellLine) {
                Log.i("ShellCallback : shellOut()", shellLine);
            }

            @Override
            public void processComplete(int exitValue) {
                Log.i("ShellCallback : processComplete()", exitValue+"");
            }
        });

以前有人实现过这一点吗?如果是,你能告诉我我做错了什么吗?如果需要,我会提供更多的信息。

EN

回答 2

Stack Overflow用户

发布于 2013-08-16 22:00:40

你的设备上有root吗?

安装'/data‘,然后在shell中输入相同的'ffmpeg’命令,看看错误是否相同。

尝试使用shell测试不同的命令表达式。

尝试单独使用'ffmpeg‘,并且只有一个输入文件。查看这些命令是否产生预期的输出。

我的猜测是,调用与构建细节相关的'ffmpeg.main()‘会有问题。

票数 0
EN

Stack Overflow用户

发布于 2013-09-23 21:37:10

您的ffmpeg可能没有为arm正确编译。当我没有使用正确编译的ffmpeg时,我得到了同样的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18214068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档