Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Цифровые технологии » Видео и аудио: обработка и кодирование » ffmpeg transpose

Ответить
Настройки темы
ffmpeg transpose

Ветеран


Сообщения: 2581
Благодарности: 245

Профиль | Отправить PM | Цитировать


Изменения
Автор: bredych
Дата: 24-07-2019
или я глючу, или что.

Задача примитивная: ролик снят в портретной ориентации на 1920*1080, при заливке лежит боком, нужно повернуть 90 по часовой и уменьшить до 720*1280.
Скрипт тож примитивнее некуда:
ffmpeg -i input.mp4 -vf "transpose=1,scale=720:-2" output.mp4

(единичка - на 90 по часовой, 2 - против)
Итог - отлько уменьшает, без поворота.

Если использую rotate=90 - поворачивает, да.
Но на примерно 60 градусов и потом уменьшает-обрезает вот такое косое видео.

Что-то я не понял, тут же негде ошибку сделать, всё просто как валенок. Или я всё-таки ухитрился? Где меня глючит?

Попробовал еще вариант transpose=clock - на обычном ландшафтном сработало, повернуло набок.
На требуемом - перевернуло на 180 вместо 90. Тот же код, с точностью до символа.
Ничего не понимаю.

Отправлено: 09:32, 24-07-2019

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6480
Благодарности: 1460

Профиль | Отправить PM | Цитировать


Попробуйте без кавычек.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 08:53, 25-07-2019 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 2581
Благодарности: 245

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Попробуйте без кавычек. »
поворачивает на 180. с transpose=1
и с transpose=2
c transpose=3 и 0 - не поворачивает.
С rotate=90 - поворот на 120 градусов
Скрытый текст

Последний раз редактировалось bredych, 25-07-2019 в 11:14.


Отправлено: 10:33, 25-07-2019 | #3


Deadooshka


Сообщения: 2478
Благодарности: 667

Профиль | Отправить PM | Цитировать


там passthrough ещё
Код: Выделить весь код
transpose=1:none,scale=720:-2

Отправлено: 12:20, 25-07-2019 | #4


Ветеран


Сообщения: 2581
Благодарности: 245

Профиль | Отправить PM | Цитировать


Цитата Sham:
transpose=1:none, »
и снова 180 поворот.

Отправлено: 16:48, 25-07-2019 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6480
Благодарности: 1460

Профиль | Отправить PM | Цитировать


bredych, я вводил ваши же параметры без кавычек, и у меня всё отрабатывает корректно.
Какая у вас версия ffmpeg?
Вот моя:
Цитата:
ffmpeg version N-94284-gf86f213a6d Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.1 (GCC) 20190621

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 16:54, 25-07-2019 | #6


Ветеран


Сообщения: 2581
Благодарности: 245

Профиль | Отправить PM | Цитировать


у меня
Цитата:
ffmpeg version N-94271-g2601eef850 Copyright (c) 2000-2019 the FFmpeg developers

built with gcc 9.1.1 (GCC) 20190621
- того же дня билд, ток у меня под винду.

вот для опытов кусочек вырезал без перекодирования, в зип загнал, чтоб не трогало точно.

https://ufile.io/uc6u6lm7

Последний раз редактировалось bredych, 26-07-2019 в 11:50.


Отправлено: 10:59, 26-07-2019 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6480
Благодарности: 1460

Профиль | Отправить PM | Цитировать


Понятно. ffmpeg здесь ни при чём, дело в том, что телефон при съёмке добавил в метаданные видеофайла вот такую информацию:
Код: Выделить весь код
    Metadata:
      rotate          : 90
      handler_name    : VideoHandle
    Side data:
      displaymatrix: rotation of -90.00 degrees
Плееры, видя это, сразу переворачивают видео как надо, ffplay не исключение. ffmpeg эти метаданные при повороте самого видео не трогает, поэтому и получается, что видео перевёрнуто само по себе + поворачивается метаданными.

Вот как можно управлять метаданными поворота:
Код: Выделить весь код
ffmpeg -i .\101.mp4 -metadata:s:v rotate="0" -c copy 102.mp4
https://stackoverflow.com/a/31683689

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 22:14, 26-07-2019 | #8


Ветеран


Сообщения: 2581
Благодарности: 245

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Вот как можно управлять метаданными поворота: »
увы, это дело я тоже пробовал, еще тогда добавив в код стейтмент (по принципу "обнуление поворота точно не повредит")
с тем же результатом..

Код: Выделить весь код
ffmpeg -i 20190720_200937.mp4 -vf transpose=1:none,scale=720:-2 -t 10 -metadata:s:v:0 rotate=0 -c:a copy -vcodec libx264 out.mp4
-t 10 добавлено в тестовых целях, чтоб делал только 10 секунд на пробу.

апд, при коде точно таком же, как в примере -
Код: Выделить весь код
ffmpeg -i 20190720_200937.mp4 -vf transpose=1:none,scale=720:-2 -t 10 -metadata:s:v rotate="0" -c:a copy -vcodec libx264 out.mp4
- точно так же на 180 вертит

Отправлено: 08:43, 31-07-2019 | #9


Аватара для yurfed

Ветеран


Сообщения: 20032
Благодарности: 3120

Профиль | Отправить PM | Цитировать


bredych, VirtualDubMod 1.5.10.2 не хотите попробовать? Простая и бесплатная.

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 12:35, 31-07-2019 | #10



Компьютерный форум OSzone.net » Цифровые технологии » Видео и аудио: обработка и кодирование » ffmpeg transpose

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FFmpeg декодирование с помощью GPU (видеокарты) 90azat Видео и аудио: обработка и кодирование 8 21-11-2021 16:18
Вырезать секунду рекламы с помощью ffmpeg Sisin Видео и аудио: обработка и кодирование 6 09-07-2017 17:32
CMD/BAT - bat - Обновление ffmpeg Sisin Скриптовые языки администрирования Windows 9 03-02-2017 12:13
Debian/Ubuntu - Установка ffmpeg semil Общий по Linux 6 10-08-2012 21:32
mencoder, ffmpeg, flvtool2 n_i_x Вебмастеру 1 19-06-2011 11:14




 
Переход