В даний час я використовую цю команду для витягування зображень:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_% 03d.jpeg
Але як я можу покращити якість зображення JPEG?
В даний час я використовую цю команду для витягування зображень:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_% 03d.jpeg
Але як я можу покращити якість зображення JPEG?
Відповіді:
-qscale:v
Використовуйте -qscale:v
(або псевдонім -q:v
) як вихідний варіант. Ефективний діапазон JPEG становить 2-31, причому 31 є найгіршою якістю. Я рекомендую спробувати значення 2-5.
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg
ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg
Це працюватиме з будь-яким відеовходом. Дивіться нижче, якщо ваш вхід MJPEG.
Якщо ваш вхід MJPEG (Motion JPEG), зображення можна витягувати без втрати якості.
Вихід ffmpeg
або ffprobe
консоль може повідомити, чи є ваш вхід MJPEG:
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg
Потім ви можете витягти кадри за допомогою mjpeg2jpeg
фільтра бітового потоку :
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg
-qmin 1 -qmax 1
крім того, щоб -q:v 1
подвоїти розмір файлу. І я, здається, також бачу дуже незначне поліпшення.
-qmin 1 -qmax 1
призвів до більшого файлу, але дає мені точно таке ж зображення. Я підтвердив це через Photoshop, 2 шари та фільтр різниці. Пікселі однакові.
-qmin 1 -q:v 1
.
Виведіть зображення у форматі без втрат, наприклад PNG:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_%03d.png
Потім скористайтеся іншою програмою (де ви можете більш точно вказати якість, підсистемування та метод DCT - наприклад, GIMP) для перетворення PNG, які ви хочете, в JPEG.
Таким чином можна отримати трохи чіткіші зображення у форматі JPEG, ніж це можливо, -qmin 1 -q:v 1
та виводити безпосередньо у форматі JPEG ffmpeg
.
ffmpeg
виводить PNG8
файли, які використовують лише 256 кольорів (те саме, що і GIF). тож насправді це дуже втрачає.
ffmpeg
команда], я отримую високу якість PNG - х , які мають однакову якість з оригінальним відео.» Яку версію ffmpeg
ви використовуєте, що виводить PNG8
файли, і який ваш формат введення?
identify image.png
дає результат "8-бітний", коли насправді це не один одноканальний 8-розрядний, але 8-розрядний для R, G і B. IDK, як identify
повинен розуміти середній користувач що тхо.