Использование avconv (ffmpeg) для объединения нескольких .bmps в видео mkv / avi

4966
slhck

Попытка выяснить, как заставить avconv объединить кучу .bmps вместе в видеофайл.

Вот что у меня так далеко:

avconv -f image2 -i Capture/%d.bmp -vcodec mpeg4 -r 24 -b:v 20M Capture.mkv 

Хотя это работает, качество ужасное - есть тонны артефактов, которые видны, цвета искажены и все размыто.

Я просмотрел документацию для avconvи ffmpeg, но не могу найти ничего, что повышает качество.

Любые идеи относительно того, как я могу получить качество, максимально приближенное к оригинальным bmp?

2
Я даже не смог заставить это работать ... Команда, которую я использую, похоже, перезаписывает исходное растровое изображение: та же команда, что и у вас, за исключением того, что я использую `-i output_ .bmp` user3728501 9 лет назад 0

3 ответа на вопрос

4
slhck
-vcodec mpeg4 

Это может быть вашей проблемой. MPEG-4 - неплохой кодек, но его легко превзойти, если использовать h.264 - x264, который является популярным примером кодера h.264. Я не уверен, какую большую роль играет битрейт, но это поможет просто попробовать x264. Поэтому используйте

-c:v libx264 

чтобы изменить кодер. * Чтобы настроить качество, установите коэффициент постоянной скорости на уровень по вашему выбору. Значения в здравом уме - от 19 до 24, где более низкие значения означают лучшее качество.

avconv -f image2 -i Capture/%d.bmp -c:v libx264 -r 24 -crf 21 Capture.mkv 

Если вы по-прежнему видите артефакты, возможно, вы захотите дать нам больше информации и обновить свое сообщение, указав полный, неразрезанный вывод консоли из вашей avconvкоманды.

* -c:vэто новый синтаксис, используемый вместо vcodec, аналогично -b:v. Старайтесь придерживаться этого.

0
Sprunky

I had a similar problem. To get the best match to your BMP, I suggest doing what I did: convert to TIF or JPEG since avconv doesn't handle BMP very nicely - no matter many high quality settings I discovered and set.

A visual way to do this is simply get GIMP and BIMP (which is an excellent batch program anyway) and do a batch conversion of your BMPs to JPEGs at 100% quality or TIF (you could use TIF compression).

Now try the same avconv action. I used avconv -f image2 -r 15 -i animation%04d.jpg -r:v 15 -c:v h264 -crf 1 -an "animation_test.mov" but it should be fine with your mkv action now.

-1

Попробуйте использовать другой видеокодек. Он может работать только в файлах QuickTime (не Matroska), но qtrleэто видеокодек без потерь, хотя он не очень хорошо сжимается.

Похожие вопросы