Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将GIF转换为Mp4是可能的吗?_Android_Converter_Mp4_Gif - Fatal编程技术网

Android 如何将GIF转换为Mp4是可能的吗?

Android 如何将GIF转换为Mp4是可能的吗?,android,converter,mp4,gif,Android,Converter,Mp4,Gif,我在互联网上搜索过,发现了一个名为“ffmpeg”的库,它可以将GIF转换成MP4。我试过了,但没有成功,也有例外 如果有人知道如何在android平台上将GIF转换成MP4,请帮助我。谢谢 编辑 这就是我使用上面的ffmpeg库所做的 String path = Environment.getExternalStorageDirectory() + "/gif/wall.jpg"; String tmp = Environment.getExt

我在互联网上搜索过,发现了一个名为“ffmpeg”的库,它可以将GIF转换成MP4。我试过了,但没有成功,也有例外

如果有人知道如何在android平台上将GIF转换成MP4,请帮助我。谢谢

编辑

这就是我使用上面的ffmpeg库所做的

String path = Environment.getExternalStorageDirectory()
                + "/gif/wall.jpg";
        String tmp = Environment.getExternalStorageDirectory() + "/gif/tmp";
        System.out.println(path);
        Clip clip = new Clip(path);
        File f = new File(tmp);
        try {
            f.createNewFile();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        try {
            FfmpegController controller = new FfmpegController(this, f);
            controller.convertImageToMP4(clip, 5,
                    Environment.getExternalStorageDirectory()
                            + "/gif/mynew.mp4", new ShellCallback() {

                        @Override
                        public void shellOut(String shellLine) {
                            // TODO Auto-generated method stub

                        }

                        @Override
                        public void processComplete(int exitValue) {
                            // TODO Auto-generated method stub

                        }
                    });

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
获取以下异常

10-09 14:39:59.638: W/System.err(19460): java.lang.NullPointerException: taintedCommand[7] == null
10-09 14:39:59.638: W/System.err(19460):    at java.lang.ProcessManager.exec(ProcessManager.java:184)
10-09 14:39:59.638: W/System.err(19460):    at java.lang.ProcessBuilder.start(ProcessBuilder.java:195)
10-09 14:39:59.638: W/System.err(19460):    at org.ffmpeg.android.FfmpegController.execProcess(FfmpegController.java:138)
10-09 14:39:59.638: W/System.err(19460):    at org.ffmpeg.android.FfmpegController.execFFMPEG(FfmpegController.java:102)
10-09 14:39:59.638: W/System.err(19460):    at org.ffmpeg.android.FfmpegController.execFFMPEG(FfmpegController.java:112)
10-09 14:39:59.638: W/System.err(19460):    at org.ffmpeg.android.FfmpegController.convertImageToMP4(FfmpegController.java:620)
10-09 14:39:59.638: W/System.err(19460):    at com.example.demo.MainActivity.onCreate(MainActivity.java:36)
10-09 14:39:59.638: W/System.err(19460):    at android.app.Activity.performCreate(Activity.java:5231)
10-09 14:39:59.638: W/System.err(19460):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-09 14:39:59.638: W/System.err(19460):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
10-09 14:39:59.638: W/System.err(19460):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
10-09 14:39:59.638: W/System.err(19460):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
10-09 14:39:59.638: W/System.err(19460):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
10-09 14:39:59.638: W/System.err(19460):    at android.os.Handler.dispatchMessage(Handler.java:102)
10-09 14:39:59.638: W/System.err(19460):    at android.os.Looper.loop(Looper.java:136)
10-09 14:39:59.638: W/System.err(19460):    at android.app.ActivityThread.main(ActivityThread.java:5001)
10-09 14:39:59.638: W/System.err(19460):    at java.lang.reflect.Method.invokeNative(Native Method)
10-09 14:39:59.638: W/System.err(19460):    at java.lang.reflect.Method.invoke(Method.java:515)
10-09 14:39:59.638: W/System.err(19460):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
10-09 14:39:59.638: W/System.err(19460):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
10-09 14:39:59.638: W/System.err(19460):    at dalvik.system.NativeStart.main(Native Method)

这是ffmpeg将gif转换为mp4的语法:

ffmpeg -f gif -i infile.gif outfile.mp4
ffmpeg的android命令行版本将非常相似

解释如何使用
android ffmpeg
库在ffmpeg上运行命令


希望这会有所帮助

感谢jodes为您提供时间,但在android应用程序中,在何处输入此命令行,您是否有任何示例…?在我问题的上述库中,有一个方法名为“public Clip convertImageToMP4()”这和你在回答中写的是一样的,但它不起作用。你可以看到这个类有一个方法convertImageToMP4(),你尝试了什么?你试过使用这种方法吗?当你尝试时会发生什么?请发布代码,你有什么问题?@DjHacktorReborn还没有!