MediaChef

MediaChef Обрезать видео

Обрезать видео без потери качества

Бросьте видео в MediaChef, выберите «Обрезать без перекодирования», впишите начало и конец в формате ЧЧ:ММ:СС, нажмите старт. Кусок появится рядом с оригиналом. Ничего не пересчитывается — поток копируется как есть, поэтому картинка побитово та же, а задача заканчивается за сотые доли секунды: по нашим измерениям 0,03 секунды, что для куска в пять секунд, что для пятнадцати. Единственная оговорка — разрез возможен только по опорному кадру, и об этом ниже.

Что нужно
MediaChef 0.8.5 — одна загрузка, FFmpeg уже внутри
Работает офлайн
Да, полностью — сеть не задействована вообще
Потеря качества
Нулевая. Ничего не перекодируется, поток копируется
Формат времени
ЧЧ:ММ:СС. Пустой конец — резать до конца файла
Скорость
Около 0,03 с, и она не растёт с длиной куска
Что получится
clip.trim.mp4 рядом с исходником; оригинал сохраняется

Бесплатно и с открытым кодом — код на GitHub Все файлы и заметки о релизе

Как вырезать кусок из видео

  1. Скачайте MediaChef

    Один файл на macOS, Windows или Linux. FFmpeg едет внутри загрузки — отдельно ничего ставить не нужно и в PATH ничего дописывать тоже.

  2. Бросьте видео на доску

    MediaChef читает файл через ffprobe и оставляет только подходящие рецепты. Карточка обрезки появляется у любого видео, каким бы ни был исходный формат.

  3. Выберите «Обрезать без перекодирования» и впишите время

    Начало и конец в формате ЧЧ:ММ:СС — 00:01:30 это полторы минуты. Если оставить конец пустым, кусок пойдёт от начальной точки до конца файла.

  4. Нажмите старт и заберите кусок

    Результат ляжет рядом с оригиналом как clip.trim.mp4, а оригинал останется нетронутым. Работа заканчивается быстрее, чем вы успеете отвести взгляд.

MediaChef готов к конвертации: поле ждёт видеофайл, справа очередь задач.
Поле, на которое падает видео. Рецепты появляются, когда MediaChef прочитает файл.

Насколько это быстро на самом деле

Поскольку ничего не пересчитывается, работа сводится к копированию нужных байтов. Время не зависит от длины куска — измерено на источнике 1080p длиной 20 секунд.

ВырезалиРезультатЗаняло
00:00:02 → 00:00:075,2 с0,03 с
00:00:00 → 00:00:1010,1 с0,03 с
00:00:05 → 00:00:2015,0 с0,04 с

Для сравнения: перекодирование того же источника заняло от 1,3 до 2,0 секунды — примерно в пятьдесят раз дольше, да ещё с потерей качества. Если нужен только фрагмент, начинать стоит с этого рецепта.

Почему разрез иногда уезжает

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

ИсточникОпорные кадры наПросили начать сНачало вышло на
Редкие опорные кадры0 с, 8,33 с, 16,67 с5 с0 с — на пять секунд раньше
Редкие опорные кадры0 с, 8,33 с, 16,67 с9 с8,33 с — на 0,67 с раньше
Частые опорные кадрыкаждую секунду5 с5 с — точно
Частые опорные кадрыкаждую секунду9 с9 с — точно

Насколько может уехать разрез — свойство файла, а не MediaChef: записи с телефона и с программ съёмки экрана обычно ставят опорные кадры примерно раз в секунду, а файлы, подготовленные для стриминга, могут разносить их на восемь секунд и больше. Если разрез обязан быть покадровым, нужен видеоредактор — он ради этого перекодирует.

Что меняется, а что остаётся как было

Почти ничего не меняется, и в этом весь смысл рецепта. Список короткий, потому что копирование мало к чему прикасается.

СвойствоПосле обрезкиЗамечание
Качество картинкиИдентичноНаружу пишутся те же закодированные кадры. Потери поколения не возникает никогда.
ВидеокодекБез измененийH.264 на входе — H.264 на выходе. Что было в исходнике, то и сохраняется.
РазрешениеБез измененийДля меньшего числа пикселей есть рецепт изменения размера.
ЗвукКопируется, не перекодируетсяДорожка сохраняет исходный кодек и битрейт.
КонтейнерMP4Результат пишется в MP4 независимо от контейнера исходника.
ОригиналНе тронутРядом пишется новый файл, ничего не перезаписывается.

Как писать время

Оба поля принимают часы, минуты и секунды через двоеточие. Больше всего вопросов вызывает поле конца.

Что нужноНачалоКонец
Первые тридцать секунд00:00:0000:00:30
С 1:30 и до конца файла00:01:30оставить пустым
Минута из середины длинной записи01:12:0001:13:00
Последняя часть, начиная с 2:0500:02:05оставить пустым

Конец — это позиция на шкале, а не длительность: чтобы получить десять секунд начиная с первой минуты, пишите 00:01:00 и 00:01:10, а не 00:00:10.

Почему обрезать у себя

Наверх ничего не уходит. Обрезка обычно первое, что делают с сырым материалом, — то есть ровно с тем, который ещё никому не показывали. Он остаётся на диске.

Ждать не приходится вообще. Веб-инструменту сначала нужно получить файл целиком, чтобы вырезать из него десять секунд. Здесь работа заканчивается за сотые доли секунды на файле любого размера.

Качество ничего не стоит. Большинство онлайн-обрезчиков перекодируют, и каждый разрез отнимает поколение качества. Копирование потока не отнимает ничего, и один файл можно резать сколько угодно раз.

Нет ограничения на размер. Двухчасовая запись здесь не проблема, а это ровно тот размер, который веб-инструменты не берут.

Сразу несколько. Бросьте целую папку: очередь пройдёт её и скажет, где какой кусок лёг.

Когда нужен другой рецепт

Копирование потока — то, что делает этот рецепт быстрым и без потерь, и оно же его ограничивает. Вот случаи, где лучше подойдёт что-то другое.

  1. Разрез обязан попасть в конкретный кадр.

    Как измерено выше, начало откатывается к ближайшему опорному кадру, а на некоторых файлах это несколько секунд. Покадровый разрез требует перекодирования — этим и занимается видеоредактор.

  2. Нужно вырезать кусок из середины.

    Этот рецепт достаёт один непрерывный фрагмент. Убрать середину означает сделать два куска и склеить их, а это уже монтаж, а не обрезка.

  3. Вы всё равно собираетесь сжимать.

    Тогда сначала обрежьте, потом сжимайте — такой порядок стоит одного перекодирования вместо двух, а сама обрезка остаётся бесплатной.

  4. На выходе нужен другой формат.

    Результат — MP4 с исходными потоками внутри. Если нужен WebM, гифка или только звук, берите соответствующий рецепт: они перекодируют по своей природе.

Вопросы

Теряется ли качество при обрезке?

Нет, совсем. Закодированные кадры переносятся нетронутыми, поэтому картинка в куске побитово та же, что была в оригинале. Этим рецепт и отличается от большинства онлайн-обрезчиков, которые перекодируют и отнимают поколение качества на каждом разрезе.

Почему разрез начался раньше, чем я просил?

Потому что начать можно только с опорного кадра — кадра, сохранённого целиком, — а в вашем файле его в запрошенной точке не оказалось. Мы это измерили: на файле с опорными кадрами каждые 8,33 секунды запрос «начать с 5-й секунды» дал кусок, начинающийся с нулевой. На файле с опорными кадрами каждую секунду тот же запрос попал точно. Это свойство файла, а не приложения.

Как сделать покадровый разрез?

Без перекодирования никак — нужного кадра просто не существует в файле в виде готовой картинки. Если точность важнее скорости и качества, нужен видеоредактор: он декодирует и кодирует заново, чтобы дать вам любой кадр, на который вы покажете.

Сколько это занимает времени?

По нашим измерениям около 0,03 секунды, и время не растёт с длиной куска: пять секунд и пятнадцать заняли одинаково. Перекодирование того же источника заняло от 1,3 до 2,0 секунды — примерно в пятьдесят раз дольше.

Как писать начало и конец?

В формате ЧЧ:ММ:СС — часы, минуты, секунды. 00:01:30 это полторы минуты. Конец — это позиция, а не длительность: чтобы получить десять секунд начиная с первой минуты, пишите 00:01:00 и 00:01:10.

Что будет, если оставить конец пустым?

Кусок пойдёт от вашей начальной точки до конца файла. Это самый быстрый способ отрезать длинный хвост — например, запись, которая продолжалась после окончания встречи.

Можно вырезать середину и оставить остальное?

Одним шагом нет. Этот рецепт делает один непрерывный кусок. Убрать середину означает получить два куска и склеить их, а это работа для редактора, а не для обрезки.

Меняется ли исходный файл?

Нет. Кусок пишется рядом как clip.trim.mp4, а исходник не меняется, не переименовывается и не удаляется. Из одного файла можно вырезать несколько разных кусков подряд.

Что происходит со звуком?

Он копируется вместе с картинкой, сохраняя исходный кодек и битрейт. Ни одна из дорожек не перекодируется.

Есть ограничение на длину или размер?

Нет. MediaChef его не ставит, а поскольку работа — копирование, а не вычисление, двухчасовой файл режется не медленнее двухминутного. Ограничение — свободное место на диске, и приложение проверяет его перед стартом.

Какие форматы можно обрезать?

Всё, что читает FFmpeg: MP4, MKV, MOV, WebM, AVI, TS и остальные. Результат пишется в MP4 с исходными видео- и аудиопотоками внутри.

Можно обрезать несколько видео сразу?

Да, но начало и конец у всех будут одинаковыми. Бросьте их все на доску, добавьте рецепт — очередь выполнит их одно за другим.

Работает без интернета?

Да, полностью. FFmpeg едет внутри загрузки, поэтому обрезка не касается сети ни разу. Одноразовая загрузка модели нужна только для расшифровки, а это другой рецепт.

Есть водяной знак или платная версия?

Нет. MediaChef с открытым кодом под GPL-3.0, платной версии нет, и раз ничего не перекодируется, водяному знаку тут негде было бы взяться даже в принципе.

Работает на Windows и Linux?

На всех трёх системах. Для Windows есть установщик, для Linux — AppImage и .deb, для macOS — DMG под Apple Silicon. Рецепт ведёт себя одинаково везде.

Вырежьте нужный кусок

MediaChef 0.8.5 — бесплатно, открытый код, macOS · Windows · Linux.

Бесплатно и с открытым кодом — код на GitHub Все файлы и заметки о релизе

MediaChef — молодой проект: сборки пока без подписи Apple и Microsoft, поэтому первый запуск попросит подтверждение — простая инструкция лежит внутри каждого архива.

Что-то не работает или чего-то не хватает? Напишите: hello@mediachef.app