Обрізання відео

Обрізач відео — обрізання, підрізання, розділення і злиття відео онлайн — вирізайте небажані частини, розділяйте кліп на кілька фрагментів або зливайте кілька відеофайлів в один. Уся обробка виконується локально у вашому браузері, тож ваші файли ніколи не вивантажуються на жоден сервер, а конфіденційність повністю захищена.
Підтримуваний вхід: відео, що використовують відкриті кодеки без роялті, як-от VP8/VP9/AV1/MPEG-4/FFV1 (контейнери WebM, MKV, MP4, MOV, AVI). Формат виводу і кодеки обираються нижче; кожен вивід перекодовується локально у вашому браузері.
Перше використання завантажує рушій обробки відео приблизно 30 МБ у поточний браузер. Він кешується і використовується далі, тож будьте терплячі.
🎥
Натисніть, щоб вибрати, або перетягніть відеофайл
Підтримуються WebM, MKV, MP4, MOV, AVI та інші поширені формати; рекомендовано до 500 МБ
Обрізання: залиште лише частину відео між початковим і кінцевим часом (формат ГГ:ХХ:СС або просто секунди, напр. 00:00:05 або 5). Вибраний фрагмент перекодовується в новий файл.
Розділення: поділіть відео на кілька частин. Перелічіть моменти часу (через кому, напр. 00:00:10,00:00:20) або розділіть на рівну кількість частин. Кожна частина завантажується окремо.
Злиття: додайте два або більше відеофайлів, упорядкуйте їх і злийте в один файл. Усі вхідні дані перекодовуються з однаковими налаштуваннями, тож несумісні кодеки обробляються, але для найкращого результату тримайте схожу роздільну здатність і налаштування аудіо.
Що таке ключові кадри і GOP? Чому обрізати відео складніше, ніж здається

Обрізання відео звучить як видалення шматка байтів, але стиснене відео не зберігає повних зображень. Стиснений потік — це ланцюжок, що починається з повністю самодостатнього зображення (ключового кадру, I-кадру), за яким ідуть десятки кадрів, що зберігають лише те, що змінилося відносно попереднього. Ви не можете декодувати кадр 47, поки не декодували кадри з 1 по 46. Цей ланцюжок залежностей — один ключовий кадр плюс усі кадри, що на нього спираються, — називається GOP (Group of Pictures, група зображень). Тому обрізання — це узгодження зі структурою GOP: обріжте по ключовому кадру, і можна копіювати байти; обріжте будь-де інакше, і щось доведеться відтворити.

П'ять фактів, на які спирається решта сторінки:
• I-кадр (ключовий кадр) = повне зображення, декодується окремо; P-кадр = зміни відносно попереднього кадру; B-кадр = зміни, інтерпольовані між двома кадрами
• GOP = один ключовий кадр плюс залежні від нього; типова довжина: 1–2 секунди (при 30 к/с це 30–60 кадрів)
• обрізання по ключовому кадру = копіювання наявних GOP, миттєве і без втрат, але розріз прив'язується до найближчого ключового кадру (зсув до довжини GOP)
• точне по кадру обрізання = саме той кадр, який ви обрали, але граничний GOP потрібно перекодувати
• розмір залежить від бітрейту: 60-секундний кліп при 12 Мбіт/с — це 12×60/8 = 90 МБ незалежно від того, що зображено
Кадри I, P і B

I-кадр («intra») — повне зображення того моменту, схоже на JPEG; він великий, але нічого іншого не потребує. P-кадр («predicted») зберігає лише різницю з попереднім кадром — статичний кадр з нерухомої камери робить P-кадри майже безкоштовними, тому відео з розмовою так добре стискається. B-кадр («bidirectional») передбачається з попереднього і наступного кадрів одночасно, вловлюючи об'єкти, що з'являються й знову зникають; він найдешевший для зберігання, але найскладніший для редагування, бо порядок декодування більше не збігається з порядком показу. Редактори приховують цю складність; формат файлу — ні.

Чому обрізання по ключовому кадру миттєве і без втрат

Обрізання по ключовому кадру вибирає цілі GOP і копіює їхні стиснені байти в новий контейнер — без декодування й перекодування, закінчуючи приблизно за час запису файлу. Ціна — точність: запитувана вхідна точка може потрапити лише туди, де справді є ключовий кадр. При GOP з 2 секунд і 30 к/с (60 кадрів на GOP) найближчий ключовий кадр може бути за 59 кадрів, тож кліп може початися помітно раніше або пізніше, ніж ви позначили. Стримери кодують з інтервалами ключових кадрів 1–2 с саме для того, щоб перемотування лишалося чутливим; відеозапис з GOP по 10 секунд сумно відомий «стрибками» при перемотуванні.

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

Припустімо, ідеальний початковий кадр — це P-кадр посеред GOP. Його стиснені байти кажуть «так само, як попередній кадр, за винятком...» — марно без кадрів перед ним. Щоб зробити його самостійним, обрізач має декодувати весь GOP до цього кадру, перетворити вибраний кадр на новий ключовий і перекодувати його (та все після, аж до наступного початкового ключового кадру). Цю ціну платить лише граничний GOP: решта кліпу все ще копіюється побайтово. Тому точне по кадру обрізання повільніше, але лише трохи гірше за якістю — один GOP проходить друге стиснення, решта не чіпається.

Поширені хибні уявлення
  • «Обрізання просто видаляє ділянку файлу». Майже жоден кадр у стисненому потоці не стоїть окремо; кожну точку розрізу спершу треба узгодити зі структурою GOP.
  • «Кожне обрізання перекодовує і коштує якості». Обрізання по ключових кадрах ніколи не перекодовують. Навіть точне по кадру обрізання перекодовує лише один граничний GOP; усе, що скопійовано після нього, побітово ідентичне.
  • «Точка розрізу — рівно там, де я перетягнув маркер». У режимі ключових кадрів вона прив'язується до найближчого ключового кадру; лише режим точного кадру дотримується точного кадру — і це вибір режиму, а не помилка.

Пов'язані інструменти: Відео в MP4 для основ контейнера і кодека, Витягування кадрів відео, щоб витягти точні кадри як зображення, і Додавання / витягування субтитрів для розрізнення м'яких і вбудованих субтитрів.