我从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);
}
请告诉我“我怎么能这样做?”非常感谢
答案 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");