FFmpeg - объединяйте видео с разным вращением - PullRequest
1 голос
/ 01 октября 2019

Я работаю с FFmpeg на Android. У меня есть 2+ видео - с фронтальной камеры и основной камеры. И я хочу объединить их в одно видео.

Но видео с фронтальной камеры перевернуто. Ротация видео с fr.camera - 270, с основного - 90.

Как правильно их объединить? Теперь я использую это:

val inputCommand = arrayListOf<String>()
    inputCommand.add("-noautorotate")
    inputCommand.add("-i")
    inputCommand.add(videoPath)
    inputCommand.add("-map_metadata")
    inputCommand.add("0")

    if (angle.equals("270", true)) {
        inputCommand.add("-metadata:s:v:0")
        inputCommand.add("rotate=180")
    }

    inputCommand.add("-codec")
    inputCommand.add("copy")
    inputCommand.add("-preset")
    inputCommand.add("ultrafast")
    inputCommand.add("-b:v")
    inputCommand.add("1500k")
    inputCommand.add(outputFile.path)
    inputCommand.add("-y")

Но это не работает. -метаданные: s: v: 0 rotate = 180 ничего не делает. Я также пытался использовать -vf transpose = 1, transpose = 1 , но это тоже не имеет эффекта.

Что делать?

ffmpeg версия n4.0-39-gda39990

Метаданные ввода и вывода не изменяются.

Metadata:
  rotate          : 270
...