Android ffmpeg 输出错误

标签 android video ffmpeg

我正在使用

https://github.com/writingminds/ffmpeg-android-java

在 android 上运行 ffmpeg 命令。我正在尝试在视频上叠加图像。出于某种原因,当我执行此命令时出现以下错误。

ffmpeg -i input.mp4 strict -2 -i overlay.jpg -filter_complex [0:v][1:v] overlay=25:25:enable='between(t,0,4)' output.mp4

Output file #0 does not contain any stream

谁能帮帮我?提前致谢!

最佳答案

我遇到了同样的问题,我的问题是:我以错误的方式调用了 execute 方法。我传递的字符串数组是这样的:

final String[] cmd = new String[] { "-i input.mp4 strict -2 -i overlay.jpg -filter_complex [0:v][1:v] overlay=25:25:enable='between(t,0,4)' output.mp4" };

不过,创建此数组的正确方法是将命令拆分为单独的字符串:

final String[] cmd = new String[]{ "-i", "input.mp4", "strict", "-2", "-i", "overlay.jpg", 
                "-filter_complex", "[0:v][1:v]", "overlay=25:25:enable='between(t,0,4)'", "output.mp4"};

然后调用执行:

try {
    final FFmpeg ffmpeg = FFmpeg.getInstance(context);
    ffmpeg.execute(cmd, new FFmpegExecuteResponseHandler() {
        @Override
        public void onSuccess(String message) {

        }

        @Override
        public void onProgress(String message) {

        }

        @Override
        public void onFailure(String message) {

        }

        @Override
        public void onStart() {

        }

        @Override
        public void onFinish() {

        }
    });
} catch (FFmpegCommandAlreadyRunningException e) {

}

我在 lauffenp 对这个问题的评论中找到了这个解决方案:https://github.com/WritingMinds/ffmpeg-android-java/issues/88

关于Android ffmpeg 输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833323/

相关文章:

Android:使调用服务线程安全

android - 从图像创建视频

facebook - 如何从视频 ID 获取 Facebook 视频缩略图?

ffmpeg - 如何修复 FFmpeg 中的 "PES packet size mismatch"错误?

ffmpeg concat最后一个图像持续时间不正确

video - FFMPEG:将 WebM VP8/VP9 多分辨率视频转换为 MP4 (H.264)

android - Android Studio 中的可搜索 Activity

android - 只装饰 RecyclerView 的绝对第一项

java - 如何在绘制之前获取调整大小的自定义 View 的宽度和高度

c# - 从图库中选择视频时应用程序崩溃