ffmpeg transpose
или я глючу, или что.
Задача примитивная: ролик снят в портретной ориентации на 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. Тот же код, с точностью до символа. Ничего не понимаю. |
Попробуйте без кавычек.
|
Цитата:
и с transpose=2 c transpose=3 и 0 - не поворачивает. С rotate=90 - поворот на 120 градусов |
там passthrough ещё
Код:
transpose=1:none,scale=720:-2 |
Цитата:
|
bredych, я вводил ваши же параметры без кавычек, и у меня всё отрабатывает корректно.
Какая у вас версия ffmpeg? Вот моя: Цитата:
|
у меня
Цитата:
вот для опытов кусочек вырезал без перекодирования, в зип загнал, чтоб не трогало точно. https://ufile.io/uc6u6lm7 |
Понятно. ffmpeg здесь ни при чём, дело в том, что телефон при съёмке добавил в метаданные видеофайла вот такую информацию:
Код:
Metadata: Вот как можно управлять метаданными поворота: Код:
ffmpeg -i .\101.mp4 -metadata:s:v rotate="0" -c copy 102.mp4 |
Цитата:
с тем же результатом.. Код:
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 апд, при коде точно таком же, как в примере - Код:
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 |
bredych, VirtualDubMod 1.5.10.2 не хотите попробовать? Простая и бесплатная.
|
у меня вообще без transpose повернуло на 90!
upd: с transpose=1:portrait то же самое |
Цитата:
Вам поговорить или просто попробовать без лишней болтовни? Оригинал можете заархивировать в случае неудачи или переписать в другое место. |
bredych, вы сначала уберите метаданные, а потом поворачивайте, не надо всё за один раз делать.
Цитата:
Если уж пользоваться программкой с GUI для обсуждаемого случая, лучше взять AVIDemux. |
DJ Mogarych, ffmpeg учитывает эти метаданные безо всяких transpose. Проверено на файле ТСа.
|
Да, конечно, учитывает. ffplay просто играет его уже в правильном положении, я об этом уже упоминал:
Цитата:
|
Цитата:
Цитата:
ок, попробую завтра... Просто удивило, почему оно не желает удалять флаг заодно с поворотом.. |
зачем удалять метаданные?
Код:
ffmpeg -i 101.mp4 -vf transpose=1:portrait,scale=720:-2 -c:a copy -vcodec libx264 101_.mp4 |
Цитата:
Цитата:
и итоговый файл на каких полметра толще оригинала. Это, конечно, немного для 1.4 гига, но всё-таки что-то добавилось, значит. |
Время: 11:30. |
Время: 11:30.
© OSzone.net 2001-