2014-08-18 2 views
3

Я использую следующие FFMPEG команда для слияния mp4 видео в android. Но видео вращается 90 градусов после слияния.Проблема с командой FFMPEG для слияния видео mp4 в android

Я застрял от двух дней. Если бы какая-либо идея была бы высоко оценена.

Спасибо заранее!

complexCommand = new String[] { 
       "ffmpeg", 
       "-y", 
       "-i", 
       recordpath + "Vid1.mp4", 
       "-i", 
       recordpath + "Vid2.mp4", 
       "-strict", 
       "experimental", 
       "-filter_complex", 
       "[0:v]scale=w=640:h=480[v1]; [1:v]scale=w=640:h=480[v2]; [v1][0:a][v2][1:a] concat=n=2:v=1:a=1 [v] [a]", 
       "-map", "[v]", "-map", "[a]", "-b", "2097k", "-vcodec", 
       "mpeg4","-ab","64k","-ac","2","-ar","22050", recordpath + "Outputnew.mp4"}; 
+0

любые решения ?? Я пробовал вашу команду, но он дает мне java.io.IOException: Нет такого файла или каталога –

+0

Проверьте, правильно ли указан путь к файлу. Он не получает ваш видеофайл. Такая же команда отлично работает с моей стороны. – DJtiwari

+0

Я непосредственно выполнял команду перед загрузкой двоичного файла ffmpeg в android –

ответ

1

Ниже рабочая команда для объединения двух видео и поддержания соотношения сторон как

complexCommand = new String[]{"-y", "-i", file1.toString(), "-i", file2.toString(), "-strict", "experimental", "-filter_complex", 
       "[0:v]scale=iw*min(1920/iw\\,1080/ih):ih*min(1920/iw\\,1080/ih), pad=1920:1080:(1920-iw*min(1920/iw\\,1080/ih))/2:(1080-ih*min(1920/iw\\,1080/ih))/2,setsar=1:1[v0];[1:v] scale=iw*min(1920/iw\\,1080/ih):ih*min(1920/iw\\,1080/ih), pad=1920:1080:(1920-iw*min(1920/iw\\,1080/ih))/2:(1080-ih*min(1920/iw\\,1080/ih))/2,setsar=1:1[v1];[v0][0:a][v1][1:a] concat=n=2:v=1:a=1", 
       "-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "1920x1080", "-vcodec", "libx264", "-crf", "27", "-q", "4", "-preset", "ultrafast", rootPath + "/output.mp4"}; 
Смежные вопросы