Почему Handbrake принудительно уменьшает размер кадра моего видео?

Почему Handbrake принудительно уменьшает размер кадра моего видео?

Краткое содержание:У меня есть старый фильм, который я скачал с YouTube несколько лет назад, сохраненный как flv. Я хочу извлечь из него 13-минутный клип. Для этого я использовал ffmpeg, чтобы преобразовать его в mp4, чтобы загрузить его в DaVinci, где я извлек клип. Затем я использовал Handbrake, чтобы сжать его. Но когда я это сделал, HandBrake значительно уменьшил размер кадра, и сжатый клип получился несколько размытым по сравнению с оригиналом.

Почему HandBrake принудительно уменьшает размер кадра и как мне заставить его выводить кадры правильного размера?

Подробности:

Файл flv имеет размер 268 МБ, продолжительность 107 минут, размер кадра 318x240, частота кадров 25:

введите описание изображения здесь

Theкоманда ffmpegЯ использовал конвертацию в mp4:

ffmpeg -i input.flv -c copy output.mp4

Это заняло около секунды. Результат — 264 МБ:

введите описание изображения здесь

Я загрузил его в DaVinci, извлек клип, затем сгенерировал его в формате mp4, H.265, 318x240, 25 кадров в секунду:

введите описание изображения здесь

Результат — 51,4 МБ, 13:19 мм:сс. MediaInfo сообщает, что это HEVC, что, как я понимаю, означает, что это H.265, как я и просил:

введите описание изображения здесь

Соотношение размера и времени намного больше, чем у полного фильма:

  • Фильм: 264 МБ / 107 минут = 2,5 МБ/мин.
  • Клип: 51,4 МБ / 13,33 мин. = 3,9 МБ/мин.

Когда я загружаю клип в HandBrake, он сообщает мне, что источник 318x240, 25 кадров в секунду. Несмотря на то, что он в H.265, HandBrake сообщает мне, что он в H.264. Затем HandBrake также противоречит своей исходной информации, указывая в разделе «Треки», что он 30 кадров в секунду и что размер 234x174.

введите описание изображения здесь

========================

На вкладке «Видео» Handbrake кодер отображается как H.264, а частота кадров — 30. Частота кадров — 22:

введите описание изображения здесь

========================

Я изменил это на 265 и 25:

введите описание изображения здесь

========================

На вкладке «Размеры» снова указано, что размер 318x240, но затем говорится, что:

Масштабированный размер и конечный размер хранилища составляют 234x174. Я пробовал нажимать на несколько вещей, но не могу заставить его изменить этот выходной размер.

введите описание изображения здесь

========================

Когда я это запускаю, вывод составляет 22 МБ, что является приятным сокращением размера файла:

  • Сжатый клип: 22 МБ / 13,33 мин. = 1,7 МБ/мин.

Но размер кадра 234x174:

введите описание изображения здесь

Видео несколько размыто по сравнению с оригиналом, что, по-видимому, может быть вызвано уменьшенным размером кадра.

Оригинальный flv-файл: введите описание изображения здесь

Mp4, преобразованный Ffmpeg: введите описание изображения здесь

Клип создан DaVinci.

Это может дать ключ к решению проблемы. Изображение занимает меньше, чем полное окно проигрывателя. Уменьшил ли DaVinci масштаб видео?

введите описание изображения здесь

Клип, сжатый HandBrake: введите описание изображения здесь

Почему HandBrake принудительно уменьшает размер кадра и как мне заставить его выводить кадры правильного размера?

решение1

Редактировать от спрашивающего: Я принял этот ответ, потому что он дал мне то, что мне было нужно. Но см. дальнейшие подробности в дополнительном ответе, который я также дал.



Может быть полезно помнить, что Handbrake в значительной степени является оболочкой для FFMPEG с некоторыми относительно удобными для пользователя предустановками. Ваш процесс в настоящее время идет FFMPEG > DaVinci > FFMPEG, без какой-либо реальной причины, которую мы можем видеть для дополнительных шагов. Так что пропустите все промежуточные шаги и просто используйте FFMPEG для обрезки видео. Вот еще один вопрос, который может охватывать основы вашей потребности:https://stackoverflow.com/questions/21420296/how-to-extract-time-accurate-video-segments-with-ffmpeg

Укажите время начала клипа с помощью -ss 00:00:00и время окончания с помощью -to 00:00:00. Как в этом примере из вопроса, ссылку на который я привел чуть выше:

ffmpeg -y -i [INPUT.file] -ss 00:42:42 -to 00:84:84 -codec copy [OUTPUT.file]

Делая это, вы исключаете все возможные проблемы, вызванные многочисленными шагами, которые вы в настоящее время используете.

решение2

Я принимаю ответ от "music2myear", потому что он дал мне то, что мне было нужно. Но по какой-то причине он предположил, что мне не важен размер выходного файла. Но мне это важно, поэтому я и запустил HandBrake.

Поэтому я изменил codecпараметр в этом ответе. Вот сводка моих результатов:

  • Клип из DaVinci в формате H.265: 51,4 МБ

  • Клип DaVinci, затем HandBrake: 22,0 МБ (размыто)

  • Клип из FFmpeg с -codec copy: 29,5 МБ

  • Клип из FFmpeg с -codec:v hevc -codec:a copy: 15.2 МБ

Оба результата FFmpeg, похоже, имеют хорошее качество. Тот, что с кодеком, copyзанял около секунды, тот, что с hevc, около минуты.

Результат использования mFFmpeg с кодеком hevcдал очень хорошее уменьшение размера файла:

  • Фильм: 264 МБ / 107 минут = 2,5 МБ/мин.
  • Клип от DaVinci: 51,4 МБ / 13,33 мин. = 3,9 МБ/мин.
  • Клип из FFMpeg с кодеком hevc: 15,2 МБ / 13,33 мин = 1,1 МБ/мин.

Итак, у меня нет ответа на вопрос, почему HandBrake (или комбинация DaVinci и HandBrake) уменьшал размер кадра. Но у меня есть ответ на вопрос, как получить качественный вывод с правильным размером кадра (и эффективным размером файла), а именно:использовать FFmpeg напрямую.

решение3

Это обходной путь, а не точный ответ: выполните весь процесс за один шаг, используя графический интерфейс, который обеспечивает полный контроль над сохранением выходных данных.

Два бесплатных видеоредактора с открытым исходным кодом,ВырезкаиOpenShot(обе версии доступны в Linux, Mac и Windows, и оба приложения для Windows работают под управлениемвино, также на этой машине Ubuntu), например, может открывать видеофайлы FLV, редактировать их и сохранять отредактированный вывод в различных форматах и ​​с регулируемым разрешением и качеством. Существует многоальтернативные видеоредакторы, слишком.

Диалоговое окно экспорта видео OpenShot

Скриншот выше взят изЭкспорт видео OpenShotдиалог иShotCutпредлагает еще более детальный контроль вывода. Вы выбираете сегменты для редактирования, применяете фильтры, такие какРезкость, если необходимо, и экспортирует с цветовой гаммой (например, Broadcast, MPEG или JPEG), разрешением, частотой кадров, сжатием и т. д. под контролем пользователя, все с помощью одного инструмента. Ни одна из программ не пугает в использовании, поскольку разумные значения по умолчанию уже установлены.

Связанный контент