Как повернуть видео на 90 градусов — пошаговая инструкция
При съемке видео не всегда удается следить за расположением кадра, особенно с телефона, и снятые файлы могут оказаться перевернутыми не в ту сторону, куда надо.
Не стоит сразу расстраиваться и переснимать видео, ведь эту проблему можно исправить довольно легко.
Подбираем удобный софт для работы с видео
Среди множества программ, предназначенных для работы с видеофайлами, выделим, пожалуй, самый простой и многофункциональный софт – «ВидеоМОНТАЖ».
Программа ориентирована для манипуляций с видеофайлами всех возможных форматов.
Скачать ее можно на официальном сайте разработчика http://video-editor.su. Скачали? Приступим к редактированию!
Поворачиваем видео на 90 градусов с помощью «ВидеоМОНТАЖ»
«ВидеоМОНТАЖ» позволяет повернуть изображение видео на 90 градусов по часовой и против часовой стрелки.
Чтобы получить на выходе видеофайл, перевернутый в нужную вам сторону, достаточно пройти несколько простых шагов.
ШАГ 1. Заходим в программу «ВидеоМОНТАЖ» и нажимаем на раздел «Новый проект».
ШАГ 2. В открывшемся окне выбираем пропорции видео. Программа рекомендует остановиться на пункте «Широкоформатное видео», но можно ничего и не выбирать, и перейти к следующему шагу, нажав «Применить». В этом случае пропорции установятся автоматически.
ШАГ 3. Приступаем непосредственно к повороту видео. Находим нужный файл в открывшемся окне и жмем «Добавить».
ШАГ 4. Наше видео уже загрузилось в программу, и теперь выбираем пункт «Редактировать».
ШАГ 5. Последнее действие открывает еще несколько разделов, среди которых выбираем «Эффекты».
ШАГ 6. Теперь мы видим с левой стороны нужную нам функцию и можем повернуть видео на 90 градусов и сохранить его. Ставим галочку на подходящем для нас пункте: поворот «по часовой» или «против часовой» стрелки.
Остается только сохранить файл в нужном формате. Для этого:
ШАГ 7. Нажимаем на раздел «Создать».
ШАГ 8. Внимательно смотрим все открывшиеся пункты и выбираем тот, что нам подходит.
Для просмотра и последующего редактирования видео на ПК подойдут практически все форматы, но наиболее удобно воспроизводить файлы без сторонних программ в формате WMV. Его можно выбрать в последнем пункте окна «Создать видео в других форматах».
Если же нужен DVD-файл или AVI-видео, выбираем соответствующие разделы.
Для хранения и просмотра видео на смартфоне необходимо сохранить созданный файл в разделе «создать видео для устройств». Выбрав данный пункт, оказываемся в меню устройств, где нажимаем на нужный.
ШАГ 9. После того, как мы выбрали формат, жмем «далее», затем – «создать видео».
ШАГ 10. При желании переименовываем файл и сохраняем в нужном месте на компьютере – выбираем папку или рабочий стол и жмем «Сохранить».
100 + возможностей программы ВидеоМОНТАЖ
Теперь вы знаете, как повернуть видео на 90 градусов, также вы можете воспользоваться и другими функциями «ВидеоМОНТАЖа», чтобы изменить параметры видео.
Так, в том же разделе, где мы поворачивали видео, кроме пункта «Эффекты поворота», присутствуют и просто «Эффекты», с помощью которых можно менять вид изображения в видео.
Применив эффекты «Насыщенность» или «Цветной шум», получим более четкое изображение, а эффекты «Негатив», «Гравюра», «Рельеф», «Спрей» кардинально меняют картинку.
Также здесь можно отразить видео по горизонтали или вертикали, затемнить или осветлить изображение.
Рядом с разделом «Эффекты» находится пункт «Обрезать видео», где можно создать новый файл, убрав ненужные его части.
Можно обрезать как начало или конец, так и вырезать середину или любую другую часть видео.
В разделе «текст и графика» можно сопроводить файл любым текстом, а функция «замена звука» поможет убрать собственный звук видео и вместо него добавить новый. Это может быть любой аудиофайл или музыка.
Вы можете прямо сейчас скачать «ВидеоМОНТАЖ» и приступить к созданию собственных интересных видеофильмов, соединяя несколько файлов, добавляя звуки, поворачивая кадры и меняя изображения.
Разработчик:
http://video-editor.su/
Операционка:
XP, Windows 7, 8, 10
Интерфейс:
русский
Лицензия: Trial
Поворот изображения камеры на 90 градусов — конфигурация
SkyerCorp (СкайерКорп) #1 Есть ли в конфигурации способ повернуть изображение с универсальной IP-камеры на 90 градусов? У меня камера физически повернута на 90 градусов по причинам. Я ищу способ для Home Assistant повернуть изображение.
Спасибо. Любая помощь приветствуется.
На некоторых камерах можно указать поворот в URL-адресе изображения
Например: http://myserver/axis-cgi/jpg/image. cgi?rotation=90
SkyerCorp (СкайерКорп) #3В моей камере нет такого параметра; он только переворачивает и отражает; не вращать. Мне нужен способ сказать Home Assistant повернуть изображение.
1 Нравится
RobDYI #4Я использую сценарий Python, чтобы выбрать последние изображения с ftp-сайта, повернуть их, изменить размер и переместить в каталог www. Я использую crons для запуска этого скрипта каждые 10 минут (вы можете использовать HA), а затем изображения камеры HA указывают на каталог www. Мой скрипт Python очень персонализирован для моего приложения, но вот библиотеки, которые манипулируют изображениями и перемещают их.
оператор импорта импортный шутил импорт ОС импортировать глобус время импорта импортировать контекстную библиотеку из изображения импорта PIL
и это часть, которая вращает изображение.
с contextlib.suppress(OSError): img5 = Image.open("/Users/xxxx/ram/www/CAM3r.jpg") img5.LOAD_TRUNCATED_IMAGES = Истина img6 = img5.rotate(-90, expand=True)fquinto (финто) #5
Вы можете добавить extra_arguments к камере и добавить опцию транспонировать пример:
камера: - платформа: онвиф хост: 192.168.1.189 имя: IP-камера порт: 8000 имя пользователя: админ пароль: 123456 дополнительные_аргументы: -vf "транспонировать=2"
Число после транспонирования:
0 = 90 против часовой стрелки и вертикальное отражение (по умолчанию)
1 = 90 по часовой стрелке
2 = 90 против часовой стрелки
3 = 90 по часовой стрелке и вертикальное отражение
Чтобы повернуть на 180 градусов, вместо этого используйте «transpose=2,transpose=2»
Это будет работать для камер ONVIF и FFMPEG.
4 лайков
scstraus #6Дополнительные_аргументы должны работать со всеми камерами или только с определенными типами? Я попробовал это с mjpg, и, похоже, это не сработало:
- имя: Right Side Outdoor платформа: mjpeg mjpeg_url: !secret right_cam_url имя пользователя: !секретное имя пароль: !секрет hass_pass дополнительные_аргументы: -vf "транспонировать=2"финто (финто) #7
Привет, это только для этого:
Но для вашего типа камеры (mjpeg) выходит другая ссылка снаружи здесь:
- https://lb.raspberrypi.org/forums/posting.php?mode=quote&f=43&p =430605&sid=89b50d6184b452cbef33af010ee05f05
- https://3dprinting. stackexchange.com/questions/4822/how-to-rotate-camera-using-mjpg-streamer-experimental
Возможно, вашими «дополнительными_аргументами» могут быть: -rot 180
`extra_arguments: -rot 180`
Если все пройдет нормально, сообщите о результате всем нам.
1 Нравится
gurbina93 (Гурбина93) #8У меня это сработало на ffmpeg! Спасибо!
шстраус #9Я обнаружил, что Synology Surveillance Station также имеет эту функцию, поэтому я использовал ее вместо этого.
94Z28 (Джастин) #10Я не могу использовать ни один из этих методов для ротации моего потока. Я мог сделать это в настройках камеры, но отключил подключение к облаку, что было единственным способом изменить эти настройки.
Я надеялся изменить поток через ffmpeg или что-то в этом роде, но неважно extra_arguments в конфиге; он не поворачивается.
пататман (Пататман) #11 Так как я сам с этим боролся, то решил исправить из исходников и добавить опцию в стример octoprint mjpeg.
В моем случае я перевернул камеру, добавив -rot 270
на мой /boot/octoprint.txt
Строка, которую вы ищете: camera_usb_options="-r 640x480 -f 10 -rot 270"
p.s. Я знаю, что это старая тема, но она первая в гугле, и я не смог найти другие темы, связанные с ней.
4 «Нравится»
MiAutomations (Ми Автоматизация) #12Привет
Мне нужно повернуть изображение/видео потока с камеры на 90º бренд ОС камера Reolink
Я уже пробую интеграцию с ffmpeg, а также с интеграцией ONVIF, следуя примерам с камеры @fquinto
: - платформа: онвиф хост: 192.168.1.189 имя: IP-камера порт: 8000 имя пользователя: админ пароль: 123456 дополнительные_аргументы: -vf "транспонировать=1"
Или для FFMPEG
extra_arguments: -rot 90
Но я до сих пор не добился успеха в вращении …
Я использую карту изображения
Кто-нибудь использует это на камере reolink ?
Спасибо за вашу поддержку и с наилучшими пожеланиями
TDog №13Также, чтобы вскочить на это. У меня есть внутренние камеры Nest (ранее в HA с использованием интеграции, но теперь в HomeKit с использованием концентратора Starling… однако я планирую добавить их обратно в HA, чтобы они были в обоих… если это возможно).
Подойдет ли какой-либо из этих методов для поворота изображения на 90°? Приложение Nest позволяет вам сделать 180, но когда я спросил их поддержку о 90, они просто прислали мне инструкции сделать 180, потому что, очевидно, люди из службы поддержки не способны просто сказать: «Нет, это не может сделать это»!? Но я отвлекся….
Я использую следующий экземпляр камеры:
- платформа: ffmpeg имя: switch_cam ввод: rtsp://192. 168.1.90:554/
затем я использую следующую тележку в ловеласе для отображения камеры:
тип: элементы изображения Название: Садовая камера 02 camera_image: camera.switch_cam элементы: - тип: значок состояния действие: дополнительная информация сущность: camera.switch_cam значок: mdi: стрелка-расширить-все стиль: Топ-5% справа: 5% белый цвет непрозрачность: 0,5 преобразование: 'масштаб (1,5, 1,5)' camera_view: в прямом эфире
дополнительные_аргументы: -vf "transpose=1" - не работает
любое предложение о том, как повернуть вид?
владелец квартиры (владелец лада) №15 дополнительные_аргументы: -rot 180
нет радости для mjpeg
вращение — Вращение видео с FFmpeg
Задавать вопрос
спросил
Изменено 18 дней назад
Просмотрено 399 тысяч раз
Закрыто. Этот вопрос не о программировании или разработке программного обеспечения. В настоящее время ответы не принимаются.
Этот вопрос не относится к конкретной проблеме программирования, программному алгоритму или программным инструментам, которые в основном используются программистами. Если вы считаете, что вопрос будет актуален на другом сайте Stack Exchange, вы можете оставить комментарий, чтобы объяснить, где на этот вопрос можно ответить.
Закрыт 3 месяца назад.
Сообщество рассмотрело вопрос о повторном открытии этого вопроса 3 месяца назад и оставило его закрытым:
Исходные причины закрытия не были устранены
Улучшить этот вопрос
Я пытался понять, как поворачивать видео с помощью FFmpeg. Я работаю с видео на iPhone, снятыми в портретном режиме. Я знаю, как определить текущие градусы поворота с помощью MediaInfo (отличная библиотека, кстати), но сейчас я застрял на FFmpeg.
Из того, что я читал, вам нужно использовать vfilter опция. Судя по тому, что я вижу, это должно выглядеть так:
ffmpeg -vfilters "rotate=90" -i input.mp4 output.mp4
Однако я не могу заставить это работать. Во-первых, -vfilters больше не существует, теперь это просто -vf . Во-вторых, я получаю эту ошибку:
Нет такого фильтра: «повернуть» Ошибка при открытии фильтров!
Насколько я знаю, у меня есть сборка FFmpeg со всеми опциями. Запуск ffmpeg -filters показывает это:
Фильтры: anull Передать исходный код без изменений на выход. аспект Установите соотношение сторон кадра. кадрирование Обрезать входное видео до x:y:ширины:высоты. fifo Буферизация входных изображений и отправка их по запросу. формат Преобразование входного видео в один из указанных форматов пикселей. hflip Отразить входное видео по горизонтали. noformat Заставляет libavfilter не использовать ни один из указанных форматов пикселей. для входа в следующий фильтр. null Передать исходный код без изменений на выходе. pad Дополняет входное изображение до width:height[:x:y[:color]] (по умолчанию x и y: 0, цвет по умолчанию: черный). pixdesctest Проверка определения формата пикселей. pixelaspect Установите соотношение сторон в пикселях. масштаб Масштабируйте входное видео по ширине:размеру высоты и/или преобразуйте i магический формат. slicify Передайте изображения входного видео следующему видеофильтру как мульти дольки. unsharp Повышение резкости или размытие входного видео. vflip Отразить входное видео по вертикали. буфер Буферизируйте видеокадры и сделайте их доступными для filterchai. н. цвет Предоставляет однородно окрашенный ввод, синтаксис: [цвет[:размер[:ra тэ]]] nullsrc Пустой источник видео, никогда не возвращать изображения. nullsink Абсолютно ничего не делать с входным видео.
Варианты vflip и hflip — это прекрасно, но они не приведут меня туда, куда мне нужно. Мне нужна возможность поворачивать видео как минимум на 90 градусов. 270 градусов тоже было бы отличным вариантом. Куда пропали параметры поворота?
- ffmpeg
- вращение
- обработка видео
Повернуть на 90° по часовой стрелке:
ffmpeg -i in.mov -vf "transpose=1" out.mov
Для параметра транспонирования вы можете передать:
0 = 90° против часовой стрелки и вертикальное отражение (по умолчанию) 1 = 90° по часовой стрелке 2 = 90° против часовой стрелки 3 = 90° по часовой стрелке и переворот по вертикали
Используйте -vf "transpose=2,transpose=2"
для 180 градусов.
Убедитесь, что вы используете последнюю версию FFmpeg отсюда (статическая сборка будет работать нормально).
Обратите внимание, что это приведет к перекодированию аудио и видео частей . Обычно вы можете скопировать аудио, не касаясь его, используя -c:a copy
. Чтобы изменить качество видео, установите битрейт (например, -b:v 1M
) или посмотрите руководство по кодированию H.264, если вам нужны параметры VBR.
Также можно использовать этот удобный скрипт.
25 Если вы не хотите перекодировать ваше видео и ваш плеер может обрабатывать метаданные поворота, вы можете просто изменить поворот в метаданных с помощью FFmpeg с флагом display_rotation
со значениями 0
, 90
, 180
и 270
:
ffmpeg -display_rotation 90 -i input.mp4 -codec copy output .mp4
Более старые версии FFmpeg, которые не поддерживают флаг display_rotation
, могут изменять метаданные, используя следующие флаги:
ffmpeg -i input.mp4 -map_metadata 0 -metadata:s:v rotate="90" -codec copy output .mp416
Использовать транспонировать
. Например (из другого ответа):
ffmpeg -i input -vf transpose=2 output
Если вы используете старую версию, вам необходимо обновить FFmpeg, если вы хотите использовать функцию транспонирования, поскольку она была добавлена в октябре 2011 года.
Страница загрузки FFmpeg предлагает статические сборки, которые вы можете выполнять напрямую без компиляции. их.
9Чтобы повернуть изображение по часовой стрелке, вы можете использовать фильтр поворота, указывающий положительный угол в радианах. С 90 градусов соответствует π/2, вы можете сделать это так:
ffmpeg -i in.mp4 -vf "rotate=PI/2" out.mp4
Для против часовой стрелки угол должен быть отрицательным
ffmpeg -i in.mp4 -vf "rotate=-PI/2" out.mp4
Фильтр транспонирования одинаково хорошо работает для 90 градусов, но для других углов это более быстрый или единственный выбор.
1Я наткнулся на эту страницу, когда искал тот же ответ. Прошло уже шесть месяцев с тех пор, как об этом первоначально спросили, и с тех пор сборки много раз обновлялись. Тем не менее, я хотел добавить ответ для всех, кто встречается здесь в поисках этой информации.
Я использую Debian 6.0 (Squeeze) и версию FFmpeg из этих репозиториев.
На странице руководства для FFmpeg указано следующее использование:
ffmpeg -i inputfile.mpg -vf "transpose=1" outputfile.mpg
Ключевым моментом является то, что вы должны использовать не переменную степени, а предопределенную переменную настройки со страницы руководства.
0=90Против часовой стрелки и вертикальное отражение (по умолчанию) 1=90 по часовой стрелке 2=90Против часовой стрелки 3=90По часовой стрелке и вертикальное отражение3
ffmpeg -vfilters "rotate=90" -i input.mp4 output.mp4
не будет работать даже с последним исходным кодом…
Вы должны изменить порядок:
ffmpeg -i input. mp4 -vf vflip output.mp4
Работает нормально.
2Если вы получаете сообщение об ошибке «Кодек экспериментальный, но экспериментальные кодеки не включены», используйте это:
ffmpeg -i inputFile -vf «transpose=1» -c:a copy outputFile
Случилось со мной для некоторого файла .mov со звуком aac.
3 Дополнительное решение с подходом, отличным от последних упомянутых решений, состоит в том, чтобы проверить, поддерживает ли ваш драйвер камеры элементы управления камерой v4l2 (что очень распространено).
В терминале просто введите:
v4l2-ctl -L
Если ваш драйвер камеры поддерживает элементы управления камерой v4l2, вы должны получить что-то вроде этого (приведенный ниже список зависит от элементов управления, поддерживаемых вашим драйвером камеры):
контрастность (целое) : мин=0 макс=255 шаг=1 по умолчанию=0 значение=0 флаги=ползунок насыщенность (целое): мин=0 макс=255 шаг=1 по умолчанию=64 значение=64 флаги=ползунок оттенок (целое): мин=0 макс=359 шаг=1 по умолчанию=0 значение=0 флаги=ползунок white_balance_automatic (bool): по умолчанию = 1 значение = 1 флаги = обновление red_balance (int): мин=0 макс=4095 шаг=1 по умолчанию=0 значение=128 флаги=неактивно, ползунок blue_balance (int): мин=0 макс=4095 шаг=1 по умолчанию=0 значение=128 флаги=неактивно, ползунок экспозиция (целое): мин. =0 макс.=65535 шаг=1 по умолчанию=0 значение=885 флаги=неактивно, изменчиво gain_automatic (bool): по умолчанию = 1 значение = 1 флаги = обновление усиление (целое) : мин.=0 макс.=1023 шаг=1 по умолчанию=0 значение=32 флаги=неактивный, изменчивый Horizontal_flip (логическое значение): по умолчанию = 0 значение = 0 vertical_flip (логическое значение): по умолчанию = 0 значение = 0
И если вам повезет, он поддерживает horizontal_flip и vertical_flip .
Тогда все, что вам нужно сделать, это установить horizontal_flip по:
v4l2-ctl --set-ctrl horizontal_flip=1
Или vertical_flip по:
v4l2-ctl --set-ctrl vertical_flip=1
Затем вы можете вызвать свое видеоустройство, чтобы записать новое видео (см. пример ниже), и видео будет повернуто/перевернуто.
ffmpeg -f v4l2 -video_size 640x480 -i /dev/video0 -vcodec libx264 -f mpegts input. mp4
Конечно, если вам нужно обработать уже существующее видео, то этот метод не то решение, которое вы ищете.
Преимущество этого подхода в том, что мы переворачиваем изображение на уровне датчика, поэтому датчик драйвера уже дает нам перевернутое изображение, и это избавляет приложение (например, FFmpeg) от дальнейшей ненужной обработки.
2Этот сценарий выводит файлы со структурой каталогов в разделе «fixedFiles». На данный момент он привязан к файлам MOV и будет выполнять ряд преобразований в зависимости от исходного «поворота» видео. Он работает с видео, снятыми с iOS, на Mac под управлением Mac OS X v10.9.(Mavericks), но его должно быть легко экспортировать. Это зависит от установки как ExifTool, так и FFmpeg.
#!/бин/баш # Поворот на 90 градусов. Придется конкатенировать. #ffmpeg -i <исходный файл> -metadata:s:v:0 rotate=0 -vf "transpose=1" <целевой файл> #/VLC -I dummy -vvv2--sout='#transcode{width=1280,vcodec=mp4v,vb=16384,vfilter={canvas{width=1280,height=1280}:rotate{angle=- 90}}}:std{access=file,mux=mp4,dst=<выходной файл>}\' vlc://quit # Разрешить пробелы в именах файлов SAVEIFS=$ЕСЛИ IFS=$(echo -en "\n\b") # Битрейт БР=16384 # Где хранить фиксированные файлы FIXED_FILES_DIR="фиксированные файлы" #rm -rf $FIXED_FILES_DIR mkdir $FIXED_FILES_DIR # Медиаплеер VLC VLC_START="/Applications/VLC. app/Contents/MacOS/VLC -I пустышка -vvv" VLC_END="vlc://выйти" ############################################## # Обработка MOV в неправильной ориентации для f в `найти . -regex '\./.*\.MOV'` делать ROTATION=`exiftool "$f" |grep Rotation|cut -c 35-38` SHORT_DIMENSION=`exiftool "$f" |grep "Размер изображения"|cut -c 39-43|sed 's/x//'` BITRATE_INT=`exiftool "$f" |grep "Средний битрейт"|cut -c 35-38|sed 's/\..*//'` эхо Короткое измерение [$SHORT_DIMENSION] $BITRATE_INT если тест "$ROTATION" != ""; затем DEST=$(имя каталога ${f}) echo "Обработка $f с вращением $ROTATION в каталоге $DEST" mkdir -p $FIXED_FILES_DIR/"$DEST" если тест "$ROTATION" == "0"; затем cp "$f" "$FIXED_FILES_DIR/$f" elif test "$ROTATION" == "180"; затем # $(eval $VLC_START \"$f\" "--sout="\'"#transcode{vfilter={rotate{angle=-"$ROTATION"}},vcodec=mp4v,vb=$BR}:std {access=file,mux=mp4,dst=\""$FIXED_FILES_DIR/$f"\"}'" $VLC_END ) $(eval ffmpeg -i \"$f\" -vf hflip,vflip -r 30 -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR /$ф\") elif test "$ROTATION" == "270"; затем $(eval ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=2,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" ) еще # $(eval $VLC_START \"$f\" "--sout="\'"#transcode{масштаб=1,ширина=$SHORT_DIMENSION,vcodec=mp4v,vb=$BR,vfilter={холст{ширина=$ SHORT_DIMENSION,height=$SHORT_DIMENSION}:rotate{angle=-"$ROTATION"}}}:std{access=file,mux=mp4,dst=\""$FIXED_FILES_DIR/$f"\"}'" $VLC_END ) echo ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=1,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -метаданные:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" $(eval ffmpeg -i \"$f\" -vf "scale=$SHORT_DIMENSION:-1,transpose=1,pad=$SHORT_DIMENSION:$SHORT_DIMENSION:\(ow-iw\)/2:0" -r 30 -s "$SHORT_DIMENSION"x"$SHORT_DIMENSION" -metadata:s:v:0 rotate=0 -b:v "$BITRATE_INT"M -vcodec libx264 -acodec copy \"$FIXED_FILES_DIR/$f\" ) фи фи эхо эхо ================================================= ================= спать 1 сделанный ############################################## # Обработка файлов AVI для моего телевизора Panasonic # Используйте ffmpegX + QuickBatch. Битрейт 16384. Разрешение камеры 640x424. для f в `найти . -regex '\./.*\.AVI'` делать DEST=$(имя каталога ${f}) DEST_FILE=`эхо "$f" | sed 's/.AVI/.MOV/'` mkdir -p $FIXED_FILES_DIR/"$DEST" echo "Обработка $f в каталоге $DEST" $(eval ffmpeg -i \"$f\" -r 20 -acodec libvo_aacenc -b:a 128k -vcodec mpeg4 -b:v 8M -flags +aic+mv4 \"$FIXED_FILES_DIR/$DEST_FILE\" ) эхо эхо ================================================= ================= сделанный ЕСЛИ=$СОХРАНИТЬЕСЛИ
Поскольку команда транспонирования FFmpeg очень медленная, используйте приведенную ниже команду, чтобы повернуть видео на 90 градусов по часовой стрелке.
Быстрая команда (без кодирования):
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=270 output.mp4
Для полного кодирования видео (медленная команда, выполняет кодирование):
ffmpeg -i inputFile -vf "transpose=1" -c:a copy1
У меня была та же проблема, что и у ОП, я получил ошибку Нет такого фильтра: «поворот»
, хотя фильтр поворота отображается как поддерживаемый в --filters
.
Мне нужно было повернуть на произвольный угол , поэтому все текущие ответы, являющиеся альтернативой повороту на кратное 90 градусам, не сработали. Я понял, что синтаксис для -vf
требует пробелов вокруг токенов , что противоречит официальной документации.
Изменение:
-vf 'rotate=1.23'
на
-vf 'rotate = 1.23'
заставило его работать на меня.
Полный пример:
ffmpeg.exe -i input.mp4 -vf "rotate = 3.0 , урожая = 1920:1080" out.mp4
Для чего это стоит, это на FFmpeg версии 4.3.2.
По умолчанию фильтр поворота ffmpeg.exe может обрезать изображения. Чтобы сохранить исходную ширину и высоту окна, поверните 90° против часовой стрелки, можно использовать это:
ffmpeg.exe -i infilename -vf rotate=-PI/2:oh=iw:ow=ih outfilename
Добавляя :oh=iw:ow=ih
, он указывает, что [ширина выходного окна] = [высота входного окна], [ширина выходного окна] = [высота входного окна]. Это эквивалентно -vf transpose=2, поворот без обрезки изображения.
Здесь:
iw: ширина ввода ih: высота ввода вл: ширина вывода о: выходная высота
См. 11.210 повернуть .
Ответ Алекси почти сработал для меня, за исключением того, что я получил эту ошибку:
развертка 1/
не поддерживается стандартом MPEG 4, максимум допустимое значение для знаменателя временной развертки: 65535
Мне просто нужно было добавить в команду параметр (-r 65535/2733), и все заработало. Полная команда была такой:
ffmpeg -i in.mp4 -vf "transpose=1" -r 65535/2733 out.mp41
Смартфон: Записал видео в вертикальном формате
Мы хотим отправить его на веб-сайт, он был на 90° влево (против часовой стрелки, альбомный формат). Хм.
ffmpeg -i input.mp4 -vf "rotate=0" output.mp4
делает это. Я снова получил вертикальный формат.
Debian 10 (Buster): ffmpeg --version
Вывод:
ffmpeg версия 4.
Ваш комментарий будет первым