如何在android上使用ffmpeg的命令

时间:2014-02-21 04:43:59

标签: android ffmpeg

我从http://ffmpeg.gusari.org/static/下载ffmpeg static并运行命令

./ffmpeg -i inputFile.mp4 -vf drawtext="fontsize=60:fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf:fontcolor=green:text=AAAA:x=(w-max_glyph_w)/2:y=h/2-ascent" outputFile.mp4 

它在我的桌面上正常工作。 我想用这个命令在android中运行。我将ffmpeg文件复制到我的Android应用程序以运行命令,但它不起作用。

public ProcessRunnable create() {
        if (inputPath == null || outputPath == null) {
            throw new IllegalStateException("Need an input and output filepath!");
        }   

        final List<String> cmd = new LinkedList<String>();
         public ProcessRunnable create() {
        if (inputPath == null || outputPath == null) {
            throw new IllegalStateException("Need an input and output filepath!");
        }   

        final List<String> cmd = new LinkedList<String>();

        cmd.add(mFfmpegPath);
        cmd.add("-i");
        cmd.add(inputPath);
        cmd.add("-vf");
        cmd.add("drawtext=\"fontsize=60:fontfile=/system/fonts/DroidSans.ttf:fontcolor=green:text=AAAA:x=(w-max_glyph_w)/2:y=h/2-a
        cmd.add(mFfmpegPath);
        cmd.add("-i");
        cmd.add(inputPath);
        cmd.add("-vf");
        cmd.add("drawtext=\"fontsize=60:fontfile=/system/fonts/DroidSans.ttf:fontcolor=green:text=AAAA:x=(w-max_glyph_w)/2:y=h/2-ascent\"");
        cmd.add(outputPath);
        Log.w("Command", cmd.toString());
        final ProcessBuilder pb = new ProcessBuilder(cmd);
        return new ProcessRunnable(pb);
    }
请告诉我“我怎么能这样做?”非常感谢

1 个答案:

答案 0 :(得分:1)

从代码中删除\",如下所示:

cmd.add("drawtext=fontsize=60:fontfile=/system/fonts/DroidSans.ttf:fontcolor=green:text=AAAA:x=(w-max_glyph_w)/2:y=h/2-ascent");