LosslessCut — компактный графический интерфейс к ffmpeg, который решает одну задачу: вырезать из видео или аудио нужные фрагменты, не перекодируя остальной материал. Здесь нет таймлайна с эффектами, переходов и цветокоррекции, как в Kdenlive или Shotcut. Зато часовой ролик режется за считанные секунды, а картинка и звук остаются ровно такими, какими были в исходнике. Ниже — практическое руководство: установка, первый разрез, работа с сегментами, типичные ошибки и диагностика, когда результат не совпадает с ожиданием.

Почему нарезка без перекодирования работает

Видео сжато группами кадров. Полный кадр, ключевой или I-frame, хранит изображение целиком, а следующие за ним зависят от предыдущих. Поэтому разрез возможен только по ключевому кадру: ffmpeg копирует поток командой -c copy и начинает вывод с ближайшего I-frame. Отсюда главная особенность инструмента — граница может «уехать» на несколько секунд назад. Чем длиннее GOP, тем заметнее расхождение. Проверить, где находятся ключевые кадры, можно ещё до открытия файла в программе.

ffprobe -v error -select_streams v:0 -skip_frame nokey \
  -show_entries frame=pts_time -of csv=p=0 input.mp4

Вывод — список меток времени в секундах. Если ближайший ключевой кадр стоит за две секунды до нужной точки, LosslessCut начнёт фрагмент именно там. Для интервью, лекций и записей экрана это обычно не критично, а для монтажа под музыку — заметно.

Установка в Linux

Проще всего поставить Flatpak из Flathub: зависимости и ffmpeg уже внутри, система остаётся чистой. Второй вариант — AppImage с официальной страницы релизов; он не требует установки, но и обновлять его придётся вручную. Оба способа дают одинаковую функциональность, различается только интеграция с рабочим столом.

flatpak install flathub no.mifi.losslesscut
flatpak run no.mifi.losslesscut

После первого запуска откройте настройки и проверьте язык интерфейса, папку для экспорта и тему оформления. Если приложение установлено через Flatpak, доступ к произвольным каталогам ограничен песочницей: сохраняйте результат в домашнюю папку, а внешние диски подключайте осознанно.

Первый разрез

Перетащите файл в окно или нажмите «Open». Внизу появится шкала с волной звука. Поставьте курсор в начало фрагмента и нажмите клавишу для создания точки, затем отметьте конец. Справа появится сегмент с автоматическим именем. Кнопка Export предлагает режимы: сохранить каждый сегмент отдельным файлом, склеить выбранные сегменты в один или извлечь только дорожки. Перед экспортом проверьте, что выбраны нужные сегменты, а не весь файл.

Эквивалент на ffmpeg выглядит так: параметр -ss указывает начало, -t — длительность, а -map 0 переносит все дорожки, включая субтитры и несколько аудиопотоков.

ffmpeg -ss 00:01:23.000 -i input.mp4 -t 00:03:33.000 \
  -map 0 -c copy -avoid_negative_ts make_zero output.mp4

Ключ -avoid_negative_ts make_zero помогает плеерам, которые спотыкаются о смещённые метки времени после быстрого поиска. Если видео открывается, но звук отстаёт, причина обычно в переменном кадровом ритме исходника, а не в LosslessCut.

Сегменты, метки и пакетная работа

Несколько фрагментов удобно готовить заранее: отметьте начало и конец каждого, подпишите сегменты осмысленными именами и только потом запускайте экспорт. Метки помогают не перепутать дубли, а список сегментов можно выгрузить в CSV и использовать как черновик монтажного плана. При экспорте в режиме отдельных файлов имена формируются из названия исходника и подписи.

Если нужно собрать фрагменты обратно, LosslessCut умеет склеивать сегменты одного файла. Вручную то же самое делается через concat-демультиплексор: важно, чтобы куски совпадали по кодекам, разрешению и параметрам потока.

printf "file '%s'\n" part1.mp4 part2.mp4 > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy merged.mp4

Склейка разных источников через -c copy почти всегда даёт рассинхрон. В таком случае либо приводите файлы к единому профилю, либо перекодируйте итог — но это уже другая задача и другое время.

Smart cut: точность против скорости

В настройках есть режим точной нарезки, который перекодирует небольшой участок вокруг границы, а остальное копирует. Это компромисс: стык становится ровным, но появляется несколько секунд повторного сжатия и риск артефактов на первых кадрах. Для архивов и исходников лучше оставить копирование, а для коротких клипов под публикацию можно включить точный режим и глазами проверить стык.

Отдельно стоит помнить о HEVC и AV1: не все плееры и не все контейнеры дружат с вырезанными фрагментами. Если файл не открывается на телевизоре, проверьте контейнер и профиль, а не только битрейт.

Ещё один нюанс — открытые GOP. Некоторые кодировщики строят группы кадров так, что первые кадры после точки разреза ссылаются на предыдущую группу. Копирование формально работает, но на стыке возможны артефакты. Именно поэтому после экспорта полезно проиграть первые секунды каждого фрагмента, а не проверять только середину.

Дорожки, звук и кадры

LosslessCut умеет извлекать аудио и субтитры без потерь, а также делать стоп-кадр. Эти же операции удобно держать под рукой в терминале — они пригодятся для пакетной обработки десятков файлов.

ffmpeg -i input.mp4 -vn -c:a copy audio.m4a
ffmpeg -i input.mp4 -map 0 -c copy -an silent.mp4
ffmpeg -ss 00:00:10 -i input.mp4 -frames:v 1 shot.png

Команда с -an убирает звук, сохраняя видеопоток. Для формата AAC расширение .m4a подходит лучше, чем .aac: это контейнер, а не «голый» поток.

Когда что-то идёт не так

  • Файл не открывается. Проверьте, читает ли его ffmpeg: ffmpeg -i file.mkv. Если ошибка на уровне демуксера, графический интерфейс тоже не поможет.
  • Экспорт завершился, файла нет. У Flatpak проверьте права на папку и путь сохранения; попробуйте домашний каталог.
  • После склейки нет звука. Дорожки отличаются по кодеку или частоте. Сравните параметры через ffprobe и приведите их к одному виду.
  • Картинка дёргается. Вероятен переменный кадровый ритм. Помогает пересборка в постоянный ритм с перекодированием.
  • Операция идёт долго. Скорее всего, включён точный режим или исходник лежит на медленном сетевом диске.
ffprobe -v error -show_entries stream=codec_name,width,height,r_frame_rate \
  -of default=noprint_wrappers=1 input.mp4

Для проверки целостности контейнера полезно прогнать ffmpeg -v error -i output.mp4 -f null -. Команда не создаёт файл, но показывает ошибки декодирования, если они есть.

Итог

LosslessCut выигрывает там, где нужно быстро и без потерь отделить нужное от лишнего: запись вебинара, лекция, игровой фрагмент, звуковая дорожка. Он не заменяет монтажную программу и не исправляет огрехи съёмки, зато честно делает одну вещь и делает её предсказуемо. Достаточно помнить про ключевые кадры, проверять стыки и не ждать от копирования потока чудес.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте