VideoDeduplicator: Удаляем дубликаты кадров из видео
Цитата: Антон от 10.09.2025, 19:49Привет, сообщество! Я создал простой BAT-скрипт на Windows под названием VideoDeduplicator, который помогает очищать видео от повторяющихся кадров. Идеально для обработки записей экрана, где много статичных моментов (типа презентаций или геймплея), чтобы сократить длину файла без потери качества.Как это работает? Скрипт использует FFmpeg. Просто перетаскиваете видео-файл на .bat — и он автоматически:
Анализирует видео на дубликаты с помощью фильтра mpdecimate (удаляет кадры, которые идентичны предыдущим). Перестраивает таймстампы с setpts=N/FRAME_RATE/TB для плавного воспроизведения.- Кодирует в H.264 с CRF 20 и VFR (variable frame rate).
- Выводит обработанный файл с суффиксом _d в ту же папку. Прогресс отображается в консоли с таймером.
Минус на старте: Сейчас скрипт полностью удаляет аудио (-an), потому что я не разобрался, как синхронизировать звук красиво. Хотелось бы, чтобы звук "обрезался" только в местах, где вырезаются кадры (или чтобы дубликаты не удалялись, если есть речь/звуки). Но как это реализовать в FFmpeg — не знаю.
Жду ваших рекомендаций и пожеланий! Если кто-то доработает идею (например, фикс с аудио) — буду очень рад!
-
Анализирует видео на дубликаты с помощью фильтра mpdecimate (удаляет кадры, которые идентичны предыдущим).
-
Перестраивает таймстампы с setpts=N/FRAME_RATE/TB для плавного воспроизведения.
- Кодирует в H.264 с CRF 20 и VFR (variable frame rate).
- Выводит обработанный файл с суффиксом _d в ту же папку. Прогресс отображается в консоли с таймером.
Минус на старте: Сейчас скрипт полностью удаляет аудио (-an), потому что я не разобрался, как синхронизировать звук красиво. Хотелось бы, чтобы звук "обрезался" только в местах, где вырезаются кадры (или чтобы дубликаты не удалялись, если есть речь/звуки). Но как это реализовать в FFmpeg — не знаю.
Жду ваших рекомендаций и пожеланий! Если кто-то доработает идею (например, фикс с аудио) — буду очень рад!
Цитата: 𝐓𝐇𝐎𝐑𝐭𝐢𝐤 от 11.09.2025, 00:38Привет. Попробуй так:
start /b "" "!FFMPEG!" -i "!INPUT!" -vf "mpdecimate,setpts=N/FRAME_RATE/TB" -c:v libx264 -preset slow -crf 20 -vsync vfr -c:a copy -progress "!PROGRESS_FILE!" -loglevel error -y "!OUTPUT!"Для кодирования без потерь:
-c:v libx264 -preset ultrafast -crf 0(Быстрее, но файл больше).
Привет. Попробуй так:
Скопированоstart /b "" "!FFMPEG!" -i "!INPUT!" -vf "mpdecimate,setpts=N/FRAME_RATE/TB" -c:v libx264 -preset slow -crf 20 -vsync vfr -c:a copy -progress "!PROGRESS_FILE!" -loglevel error -y "!OUTPUT!"
Для кодирования без потерь: Скопировано-c:v libx264 -preset ultrafast -crf 0 (Быстрее, но файл больше).
Цитата: amazon от 17.09.2025, 14:54Привет. есть байтник видео 60 кадров делает? или эту сбропку добавить
Привет. есть байтник видео 60 кадров делает? или эту сбропку добавить