Состоялся релиз открытого проекта LosslessCut 3.66. Это графический интерфейс для редактирования мультимедийных файлов без перекодирования содержимого. Например, востребованной функцией в LosslessCut является кадрирование и обрезка видео и звука для сокращения размера больших файлов, снятых на экшн‑камеру или камеру квадрокоптера. Предыдущая версия LosslessCut вышла в марте 2025 года.
Проект LosslessCut позволяет выбрать в файле актуальные фрагменты записи и отбросить лишнее, без проведения полного перекодирования и сохранив исходное качество материала. Так как обработка выполняется путём копирования имеющихся данных, а не перекодирования, операции выполняются очень быстро.
Исходный код LosslessCut написан на языке JavaScript с использованием платформы Electron и является надстройкой над пакетом FFmpeg.
Наработки проекта распространяются под лицензией GPLv2. Сборки подготовлены для Linux (snap, flatpak), macOS и Windows.
Без перекодирования LosslessCut также может решать такие задачи как прикрепление звукового трека или субтитров к видео, вырезание отдельных сцен из роликов (например, вырезание рекламы из записей телепередач), раздельное сохранение фрагментов, привязанных к меткам/главам, перегруппировка частей видео, разделение звука и видео по разным файлам, изменение типа мультимедийного контейнера (например, из MKV в MOV), сохранение в форме изображений отдельных кадров видео, создание миниатюр, экспорт фрагмента в отдельный файл, изменение метаданных (например, данных о местоположении, времени записи, горизонтальной или вертикальной ориентации). Присутствуют средства для определения и автоматического вырезания пустых областей (чёрный экран на видео и фрагменты без звука в звуковых файлах), а также привязки к изменениям сцены.
В LosslessCut возможно соединение фрагментов из разных файлов, но файлы должны быть закодированы с использованием идентичного кодека и параметров (например, сняты одной камерой без изменения настроек). Возможно редактирование отдельных частей с выборочным перекодированием только изменяемых данных, но с оставлением в исходном видео остальной информации, не затронутой при редактировании.
По информации OpenNET, в процессе редактирования в LosslessCut поддерживается откат изменений (undo/redo) и показ лога команд FFmpeg (можно повторить типовые операции из командной строки без использования LosslessCut).
Основные изменения и доработки в LosslessCut 3.66:
реализованы маркеры для размещения закладок на временной шкале, которые могут быть экспортированы в форме скриншотов. Технически маркеры оформлены как сегменты видео, не имеющие времени окончания, исключаемые при экспорте и отображаемые по иному;
добавлена возможность одновременного воспроизведения нескольких звуковых дорожек;
обеспечено сохранение состояние выделенных сегментов внутри файлов «.llc»;
добавлен режим разделения временной шкалы на основе размера контента. Например, файл, размером 4 ГБ может быть экспортирован в форме 4 файлов по 1 ГБ;
добавлена поддержка программного изменения сегментов, используя выражения на JavaScript;
реализовано запоминание параметров диалогов;
добавлена возможность выбора дорожек со звуком и видео для определения областей с тишиной и пустотой;
добавлены новые комбинации клавиш: shift+alt+up, shift+alt+down, shift+alt+pageup и shift+alt+pagedown для перемещения между сегментами;
улучшена отрисовка визуализации звуковой волны;
обновлена версия платформы Electron 38;
обновлён мультимедийный пакет FFmpeg 8.0. Значительно повышена производительность воспроизведения с использованием кодеков из FFmpeg;
повышена производительность интерфейса пользователя;
добавлены переменные CUT_DURATION, CUT_FROM_NUM и CUT_TO_NUM, которые можно подставлять при формировании имён файлов;
добавлены новые действия, к которым можно привязывать комбинации клавиш:
toggleDarkMode (включение/выключение тёмного режима),
toggleStripCurrentFilter (переключение треков, используя текущий фильтр),
toggleStripAll (оставить или исключить любые треки),
toggleStripSubtitle (оставить или исключить все треки с субтитрами),
toggleStripVideo (оставить или исключить все треки с видео).
добавлена начальная поддержка импорта формата OTIO (OpenTimelineIO);
добавлен экспериментальный режим кодирования с потерями, включаемый через опцию «—lossy-mode», например ‘—lossy-mode «{ videoEncoder: ‘libx264’ }»‘.
Источник: habr.com