Как сместить видео по горизонтали в ffmpeg?
Я пытаюсь сделать несколько 360° видео, где самая левая сторона должна быть подключена к крайней правой стороне в интерактивном плеере.
Вместо того, чтобы устанавливать это в проигрывателе, как я могу сдвинуть контент на 50 пикселей вправо и заполнить новый пробел с левой стороны самым правым столбцом в 50 пикселей, который сдвинулся за кадр после сдвига?
Это похоже на функцию смещения в Photoshop, но я не мог сделать это правильно с ffmpeg.
1 ответ
Примеры Мандельброта: нормаль и смещение вправо на 50 пикселей.
Вы можете использовать overlay
видео фильтр:
ffmpeg -i input.mp4 -filter_complex \
"[0:v][0:v]overlay=50:0[bg]; \
[bg][0:v]overlay=50-W,format=yuv420p[out]" \
-map "[out]" -map 0:a -codec:v libx264 -crf 23 -preset medium -c:a copy out.mp4
format=yuv420p
будет гарантировать, что ваш вывод будет использовать схему подвыборки цветности, которая может воспроизводиться игроками, не основанными на FFmpeg.Аудио будет скопировано в поток, а не перекодировано.
Убедитесь, что вы используете последнюю сборку
ffmpeg
, См. Страницу загрузки FFmpeg для ссылок на сборки для Linux, OS X и Windows.См. Руководство по кодированию FFmpeg и x264 для получения дополнительной информации о получении хорошего качества вывода.