1

Я хотел бы обрезать и повернуть видео, а затем закодировать его в mp4 или mkv.

mencoder video.mp4 -vf rotate=1,crop=720:1280:0:0 -oac pcm -ovc x264 -x264encopts preset=veryslow:tune=film:crf=15:frameref=15:fast_pskip=0:threads=auto -lavfopts format=matroska -o test.mkv

Но когда я делаю описанное выше кодирование, частота кадров слишком высокая. Я нашел варианты кодирования, так что я не знаю, в этом ли проблема.

Вопрос

Все, что я хочу, это обрезать и вращать видео, и поддерживать качество аудио / видео как можно лучше.

Кто-нибудь пробовал это?

1 ответ1

4

пример ввода повернутая и обрезанная версия
Оригинальная и транспонированная и обрезанная версия

Использование ffmpeg

Вы можете сделать это в ffmpeg. По умолчанию входная частота кадров используется для выходной частоты кадров.

Пример поворота на 90 ° по часовой стрелке с помощью transpose фильтра и crop (по центру) до размера 720x1280:

ffmpeg -i input -vf "transpose=1,crop=720:1280" -c:v libx264 -c:a copy out.mkv

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

Повернуть при воспроизведении

Другим вариантом является поворот и обрезка во время воспроизведения. Таким образом, вам не нужно перекодировать и потенциально снижать качество. Любой игрок, которого стоит использовать, должен позволить вам сделать это. Пример использования ffplay:

ffplay -vf "transpose=1,crop=720:1280" -i input

Также см:

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