Ich verwende die Ffmpeg4Android-Bibliothek, um Videos zu kodieren. Ich möchte Videos zusammenführen, indem ich sie auswähle. Das Problem, mit dem ich konfrontiert war, ist, wenn ein ausgewähltes Porträt Videos, das produzierte Video die gedrehten Videos hat. Um dieses Problem zu lösen, rotiere ich das Video basierend auf seinen Rotations-Metadaten, dann führe ich den Mischbefehl aus. Es dauert zu lange ca. 3-5 Minuten für 10 Sekunden HD-Video. Bitte machen Sie mir den schnelleren Weg ..Langsame Videodrehung in FFMPEG
Rotation Befehl:
String[] cmd= new String[]{"ffmpeg", "-y", "-i", orginalFilePath, "-strict", "experimental", "-vf", "transpose=" + transposeby, newFilePath};
// transposeby = 1 für 90degree cw
Merge Befehl:
String[] command = new String[]{"ffmpeg", "-y", "-i", files[0], "-i", files[1], "-strict", "experimental",
"-filter_complex", "[0:v]scale=640x480,setsar=1:1[v0];[1:v]scale=640x480,setsar=1:1[v1];[v0][0:a][v1][1:a] concat=n=2:v=1:a=1",
"-ab", "48000", "-ac", "2", "-ar", "22050", "-s", "640x480", "-r", "30", "-vcodec", "mpeg4", "-b", "2097k", newFilePath};
Kombinieren Sie die Befehle. Wenn '0: v' das gedrehte Video ist, verwenden Sie im Mischbefehl '[0: v] transpose = 1, scale = 640x480, setsar = 1 [v0]' mit Originalvideo. – Mulvya