String[] code = new String[]{"ffmpeg", "-i","D:/ffmpeg/20170201_164127.mp4",
"-i","D:/ffmpeg/cc.png", "-filter_complex",
"[0:v][1:v]overlay=main_w-overlay_w-5:main_h-overlay_h-5",
"drawtext=fontfile=/ffmpeg/Arial.ttf:text='TESTING'[email protected]:fontsize=70:x=10:y=H-th-10:box=1:[email protected]:boxborderw=5:x=10:y=H-th-10",
"[out]","-map", "[out]", "-map", "2:0",
"-acodec","mp3", "D:/ffmpeg/test7.mp4"};
Process processDuration = new ProcessBuilder(code).redirectErrorStream(true).start();
StringBuilder strBuild = new StringBuilder();
try (BufferedReader processOutputReader = new BufferedReader(new InputStreamReader(processDuration.getInputStream(), Charset.defaultCharset()));) {
String line;
while ((line = processOutputReader.readLine()) != null) {
strBuild.append(line + System.lineSeparator());
}
processDuration.waitFor();
}
String outputJson = strBuild.toString().trim();
System.out.println(outputJson);
}
Когда я использую только изображения, код верен. Но когда я использую весь код это происходит:Как вставить изображения и текст в видео с помощью ffmpeg - java
[NULL @ 00000000006abe60] Не удалось найти подходящий формат для 'DrawText = fontfile =/FFmpeg/Arial.ttf: текст =' TESTING'fontcolor = белый @ 1.0: fontsize = 70: x = 10: y = H-th-10: box = 1: [email protected]: boxborderw = 5: x = 10: y = H-th-10 ' drawtext = fontfile = /ffmpeg/Arial.ttf:text='TESTING'[email protected]:fontsize=70:x=10:y=H-th-10:box=1:[email protected]:boxborderw=5:x= 10: у = Н-м-10: Недопустимый аргумент
Пожалуйста, добавьте дополнительную информацию: что произойдет, если вы попытаетесь запустить эту команду в CMD? Из чего это сообщение (исключение выбрано, стандартный поток вывода, поток ошибок)? –
Вы говорите 'ffmpeg', что фильтр drawtext является выходным файлом. Я не пользователь Java, но, скорее всего, это проблема с цитированием, запятой и/или выпуском строки. Показывая фактическую команду 'ffmpeg', созданный код покажет, где находится проблема. Кроме того, используйте aac вместо mp3 для MP4: некоторые мейнстримные, дерьмовые игроки имеют проблемы с декодированием этой комбинации. – LordNeckbeard
Когда я пытаюсь с кодом CMD в порядке, программа работает по-разному. Но когда я пытаюсь с java не работать. – MaF