LINUX.ORG.RU

ffmpeg «учетверяет» каждый пиксель при записи видео

 , ,


0

1

Собственно, тестирую запись видео с основного монитора на Mac OS X. Видео записываю с помощью ffmpeg, на Mac OS X использую входное устройство avfoundation:

ffmpeg -y -v error -hide_banner -f avfoundation -i 1:none -threads 0 -f mp4 -vcodec mpeg4 -r 25/1 -qscale:v 1 output.mp4

Проблема в том, что в результирующем видеофайле размер растра всегда вчетверо больше, чем разрешение экрана (т. е. при разрешении в 1920x1200 я получаю видео в разрешении 3840x2400, и так для каждого из разрешений, доступных через стандартные настройки системы (ну т. е. если не использовать утилиту screenresolution и прочие извращения)).

Скриншоты творящегося безобразия здесь.

Вопросов, как водится на Руси, два:

  • Какого хрена?
  • Что делать, чтобы размер растра видео всегда точно совпадал с разрешением экрана? Суб-самплинг (-vf scale=...) включать не хочу.

Заранее спасибо.

★★★★★

Суб-самплинг -vf scale включать не хочу

А если его указать перед -i (параметр -s 1920:1200)?

anonymous ()
ffmpeg -f x11grab -s `xrandr | grep '*' | awk '{print $1}'` -r 25 -i :0.0 -vcodec libx264 -an -crf 20 output.mkv

это оптимальный вариант вес/качество

amd_amd ★★★★ ()
Ответ на: комментарий от amd_amd

Дружище, спасибо. x11grab работает и так.

Речь именно об avfoundation под макосью.

Bass ★★★★★ ()
Ответ на: комментарий от amd_amd

Оптимальный вариант ищется для каждой конкретной системы, да ещё и исходя из задачи. Далеко не каждая система может записать свой экран с 30фпс не отбирая ресурсов у какой то другой задачи.

x11grab

Спрашивают то не про линукс... Кстати, почему здесь задают довольно сложные вопросы по максои?

kirill_rrr ★★★★★ ()

А собственно почему бы просто не дать команду сжать вдвое? По ресурсам ничего не стоит, а на фоне потерь от кодирования h264 возможные неточности от масштабирования должны быть меньше минимума.

kirill_rrr ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.