1

Если я использую:

ffmpeg -i in.mov -vf "transpose=1" out.mov

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

Как я могу автоматически определить поворот или ориентацию видео во время загрузки и повернуть, если необходимо, чтобы все файлы .mov воспроизводились в правильной ориентации? Как я могу получить метаданные о текущей степени поворота моего видео?

2 ответа2

1

Применительно к вашему вопросу, в конкретных терминах, вы можете получить поворот следующим образом: ffprobe -loglevel error -select_streams v:0 -show_entries stream_tags=rotate -of default=nw=1:nk=1 -i in.mov

Условные обозначения:

-loglevel error: показывать только поле поворота, никакой другой информации.

-select_streams v:0: обрабатывать первый видеопоток (игнорировать, если присутствует несколько видеопотоков)

-show_entries stream_tags=rotate: возвращает информацию о повороте из входного видео

-of default=nw=1:nk=1: использовать формат вывода по умолчанию и больше ничего не показывать, то есть без упаковщиков (nw) и без ключа (nk)

1

Используйте ffprobe, вот так.

ffprobe -i in.mov

Это должно привести к отображению поля «rotate:» где-нибудь в выходных данных, если такое поле присутствует в файле.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .