如何使用Android上的ffmpeg jar执行FFMPEG

问题描述 投票:0回答:2
I添加了org.bytedeco.javacpp的ffmpeg-2.3-0-9.jar(

Https://www.versioneye.com/java/java/org.bytedeco.javacpp-presets:ffmpeg/ffmpeg/2.3-0.9),我需要能够在我的Android应用程序内执行命令,例如:

ffmpeg -ss 00:00:00 -t 00:00:15 -i in.mp4 -codec copy out.mp4
,“ FFMPEG”不是该罐子暴露的类或方法。一些帖子表明,在处理FFMPEG本机代码时,我应该使用EXEC方法,但是您如何执行此操作(如果与此库有关的话,这是正确的事情)?
我正在尝试以下命令而没有成功。

Process p=Runtime.getRuntime().exec("/libs/ffmpeg-2.3-0.9 -i -i in.mp4 -codec copy out.mp4");

任何建议?
    

我决定使用ffmpeg4android。它比使用JNI的任何东西都更加用户友好,并且能够在异步中接受FFMPEG命令。进口是:

java android ffmpeg
2个回答
0
投票

doinbackground代码是:

    PowerManager powerManager = (PowerManager) Main.this.getSystemService(Activity.POWER_SERVICE);
    PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VK_LOCK");
    wakeLock.acquire();
    String commandStr = "ffmpeg -ss 00:00:00 -t 00:00:15 -i "+fullInVideoPath+" -codec copy " + fullOutVideoPath;
    LoadJNI vk = new LoadJNI();
    try {
    vk.run(GeneralUtils.utilConvertToComplex(commandStr), scishotfolder, getApplicationContext());
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    finally
    {
    if (wakeLock.isHeld()) wakeLock.release();
    }
我希望这对某人有帮助。唯一的问题是它会产生无法在视频中播放的损坏视频!不幸的是,另一个流行的替代品也会产生类似损坏的MP4文件。

讨论迟到了8年,但是有人在那里得到答案:

https://bytedeco.org/javacpp-presets/ffmpeg/apidocs/org/bytedeco/ffmpeg/ffmpeg/ffmpeg.html,

您可以运行本机可执行文件通过您想要的所有参数。

0
投票

© www.soinside.com 2019 - 2025. All rights reserved.