Чтобы повернуть видео прямо из командной строки, нужно воспользоваться командами фильтров. Чтобы их включить нужно в строке указать ключ -vf и в кавчках (обязательно только так) добавить команды фильтра
ffmpeg -i входное.видео -vf "команды фильтра" выходное.видео
** сразу замечу, что все входные видео, которые мы хотим использовать - обязательно должны использовать префикс в виде ключа -i **
Фильтров- очень много и каждый выполняет свои функции, но мы расскажеи сегодня только о transpose и то не полно.
Фильтр transpose выполняет поворот видео в определенных направлений. Их всего = 8 и номеруются они от 0 до 7. Здесь мы коснемся только - 4, остальными практически редко кто пользует, ибо мало практики в их использовании
Итак это поворот на 90о с/без дополнительным вертикальным переворотом и если Ты укажешь
* transpose = 0 - против часовой стрелки с вертикальным переворотом
* transpose = 1 - по часовой стрелке
* transpose = 2 - против часовой стрелки
* transpose = 3 - пл часовой стрелке с вертикальным переворотом
// остальные варианты я сам лично не проверял, поэтому постить не буду
Итак чтобы повернуть видео к примеру на лево от вертикального положения смартфона то вводим команду так
ffmpeg -i XXXX.3gp -vf "transpose=2" -c copy XXXX.mp4
Так как указаны разные форматы видео, на входе и выходе, то будет произведена перекодировка формата параллельно с поворотом, и чтобы облегчить работу утилите мы явно указали ключ -c copy, который говорит утилите, что производится простое копирование данных, без какого либо преобразования форматов