LINUX.ORG.RU
ФорумMobile

Соединить два видео с телефона в ffmpeg

 ,


0

1

Есть два видео mp4 с одного смартфона андройд, одно видео с основной камеры, а другое с лицевой.
При склейке второе видео получаеся перевёрнутое на 180 или 90 градусов. Помогает только предварительное перекодирование.
Как соединить два таких видео без перекодирования ?
Это происходит исключительно если соединять видео с разных камер.
Склеивал такой командой ffmpeg -f concat -i video.txt -c copy output.mp4


У ффмпег есть ключ метадата, возможно оно чем-то поможет.

Посмотри свойства видео, вообще есть шанс, что у тебя видео реально перевернуто и это разруливается плейером при воспроизведении. Тогда при скелейке метаданные будут общие и ничего не сделать.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

проверил на трёх разных устройствах включая планшет и с разными проигрывателями, ведь это должно значить что у всех у вас тоже самое? отпишитесь плз.

kasec
() автор топика

ffmpeg -i video1.mp4
пишет в строке «displaymatrix: rotation of 90.00 degrees»
а в другом файле video2.mp4 пишет «-90.00»
так это что нужно поменять это число что бы перед склейкой оно было у всех файлов одинаковым? какой командой без перекодирования это можно сделать?

kasec
() автор топика
Ответ на: комментарий от kasec

какой командой без перекодирования это можно сделать?

командой оператору «снимай всё в одной ориентации», очевидно )

aol ★★★★★
()

Установи CapCut на телефон и склей на мобиле.

carasin ★★★★★
()

У тебя видео от разных камер. Только перекодирование.

ox55ff ★★★★★
()

Как соединить два таких видео без перекодирования ?

Повернуть без перекодирования (т.е. записать об этом в метаданных) можно только целое видео, вроде бы. Так что если повороты отличаются, склеить не получится, как минимум одну часть придётся перекодировать, чтобы параметры были одинаковые

TheAnonymous ★★★★★
()

ясно спс всем, просто наверно невозможно сделать в ffmpeg опцию поворота при склейке без перекодирования, это нужно выпускать новую версию формата mp4, где это станет возможно., имхо

kasec
() автор топика
11 ноября 2024 г.
Ответ на: комментарий от sparkie

Спасибо тебе, добрый человек, с твоим уместным советом, разрушившим у ТС веру в ЛОР.

Блокирован 23:32:45 Пн 11/11/2024 по причине: Выложил пароль

krasnh ★★★★★
()

Вот тебе от ChatGPT:

Для устранения проблемы с переворотом видео при склейке можно использовать команду ffmpeg, чтобы корректировать метаданные ориентации вместо полного перекодирования.

Проверьте следующий подход:

  1. Убедитесь, что оба видео имеют одинаковые параметры ориентации (например, «rotate» в метаданных). Это можно сделать с помощью команды:

    ffmpeg -i input1.mp4 -i input2.mp4 -hide_banner
    

    Найдите строку с rotate в выводе, чтобы увидеть, какое видео имеет «неправильную» ориентацию.

  2. Удалите ориентацию у одного из видео (если нужно), чтобы они совпадали:

    ffmpeg -i rotated_input.mp4 -metadata:s:v rotate=0 -c copy rotated_output.mp4
    
  3. После этого используйте rotated_output.mp4 и второе видео для склейки:

    ffmpeg -f concat -i video.txt -c copy output.mp4
    

Это должно сохранить исходное качество без перекодирования и устранить поворот видео.

romanlinux ★★★
()
Последнее исправление: romanlinux (всего исправлений: 1)

Да, глядя на удаленные, все заиграло другими красками, @sparkie пострадал безвинно. ) Был неправ, спасибо модераторам, восстановившим справедливость.

krasnh ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.