2

В моем проекте C # я делаю снимки экрана через равные промежутки времени (с таймером). Затем я должен преобразовать изображения в одно видео с помощью FFmpeg, поэтому я использую эту команду:

"-f image2 -framerate 9 -i E:\\REC\\Temp\\%06d.jpeg -r 30 E:\\REC\\Video\\" + s + ".mkv"

Это работает, но размер выходного видео большой, около 8 МБ всего за 1 минуту видео. Как я могу сделать видео меньше по размеру, не жертвуя качеством?

1 ответ1

2

Из того, что я знаю, MKV является контейнером, вам нужно использовать сжатие для видеопотока, например так:

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

В этом примере каждое изображение будет иметь продолжительность 5 секунд (обратная сторона 1/5 кадров в секунду). Видеопоток будет иметь частоту 30 кадров в секунду, дублируя соответствующие кадры.

Для получения дополнительной информации см. Эту статью на вики FFmpeg.

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