1. Нам нужно записывать скриншоты в видео со скоростью 2-3 кадра в секунду. Качество - минимально возможный текст на экране, читаемый, 256 цветов. Важно максимально уменьшить размер выходного видеофайла.запись на экране и кодирование видео с помощью ffmpeg
2.we've сделал много испытаний, и в настоящее время наиболее подходящий способ сделать скриншоты каждый 300-500msec, сохранять их в формате PNG, а затем запустить FFmpeg кодировать H.267 с этим Params:
ffmpeg -f image2 -i "C:\png5min\image%04d.png" -y -an -vcodec libx264 -preset veryfast -crf 30 "C:\output.mp4"
3.Есть ли это лучший способ получить минимальный размер выходного файла с помощью скринкаста 2-3fps?
4. выходной файл воспроизводится очень быстро, кодек по умолчанию касается того, что изображения представляют 25 кадров в секунду. Но они на самом деле 2fps. Хорошо, но если мы попытаемся уменьшить выходную частоту кадров, размер выходного файла увеличивается примерно в два раза! (от 3 мб до 6 мб для видео 3 м: 26 с). И если мы устанавливаем частоту кадров выходного сигнала в 2 - видео не воспроизводится кадров на всех или играет только 2 кадров для 3mins ...:
-r 2 -f image2 -i "C:\png5min\image%04d.png" -y -an -vcodec libx264 -preset veryfast -crf 30 -r 2 "C:\image5min_2fps_crf30_test__R2-2.mp4"
так, как мы можем просто добавить некоторую задержку после каждого кадра без увеличения размер выходного файла ???
Кстати, если попытаться записать экран непосредственно с FFmpeg, мы получаем гораздо больше выходного файла: FFmpeg -f DShow -r -i 2 видео = "экран захвата-рекордер" -vcodec libx264 -crf 30 - preset ultrafast c: \ output3.mkv так, похоже, что кодек работает намного лучше сжимает предопределенный набор изображений, да? –
http://stackoverflow.com/a/43464269/6180077 Посетите эту ссылку для работы с программой FFMPEG C++ mp4. –