Flutter_ffmpeg concat демультиплексор | видео с передней камеры перевернуты или поврежденыAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Flutter_ffmpeg concat демультиплексор | видео с передней камеры перевернуты или повреждены

Сообщение Гость »


В настоящее время я записываю несколько клипов в формате mp4 (используя пакет камеры Flutter), а затем использую демультиплексор ffmpeg concat для создания одного видео:

await _flutterFFmpeg.execute('-f concat -safe 0 -i ${txtFile.path} -c copy ${outputClipPath.path}'); Это корректно работает с любым видео с задней камеры. Когда я также объединяю видео с передней камеры, они перевернуты, поскольку кажется, что ffmpeg не обнаруживает поворот их метаданных.

В настоящее время мне удалось определить, снято ли видео с передней или задней камеры, следующим образом:

final FlutterFFprobe flutterFFprobe = FlutterFFprobe(); MediaInformation mediaInformation = ждут flutterFFprobe.getMediaInformation(this.path); Карта mp = mediaInformation.getAllProperties(); int Rotation = mp['streams'][0]['side_data_list'][0]['rotation']; если (поворот == 90) { // Видео перевернуто и снято с передней камеры } Вопрос в том, нужно ли мне самому поворачивать видео перед его объединением? Если да, то как лучше всего это сделать с помощью flutter_ffmpeg?

Мне удалось повернуть видео с помощью следующей команды:

await _flutterFFmpeg.execute('-noautorotate -i ${this.path} -metadata:s:v Rotate="0" -vf "transpose=2" ${outputClipPath.path}'); Но если я это сделаю, результат объединения будет испорчен. Как сохранить кодировку и поток после поворота?

Спасибо.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»