8 февраля 2016 8.02.16 55 68K

Гайд по конвертации / исправлению / пред-обработке видео

+181
Этот пост — для «своих».
Так что никакие претензии к оформлению или структуре — не принимаются.

Гайд по конвертации / исправлению / пред-обработке видео

(включая записи стримов, скачанное с твича и ютуба, ваши приватные хоум-видео, и т.д., и т.п.)

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

1. Перегонка видео из одного формата в другой

1.1. Как сменить контейнер для видеопотока? (FLV -> MP4 и наоборот)
1.2. Как узнать, получится ли просто скопировать видеопоток из имеющегося контейнера в нужный мне?
1.3. Что делать, если целевой контейнер не поддерживает этот кодек?
1.4. Так в какой формат, каким кодеком, и с какими настройками мне надо кодировать?

2. Меняем содержимое файла

2.0. Как перемещаться по шкале времени в Avidemux?
2.1. Как собрать несколько фрагментов записи (стрима) в один файл?
2.2. Как обрезать запись, оставив лишь нужную часть?
2.3. Как заменить аудиодорожку?
2.4. У меня упал OBS, файл записи не проигрывается. Можно его починить?

3. Меняем/исправляем само изображение/звук

0. Софт, который должен быть всегда

Половина проблем с обработкой видео решается после выполнения лишь этого пункта.
Вкратце — суть такова:
1. Установи K-Lite Codec Pack в самом полном его виде: в издании Mega и с пресетом Lots of stuff.
2. Перед установкой убедись, что никакие из тех кодеков, что включены в K-Lite, у тебя не дублируются в системе ни сами по себе, ни в других паках. Проще говоря — удали любые другие кодеки, которые у тебя установлены, если только они не супер-специализированные (вроде DNxHD).
3. Поставь Avidemux и любые конвертации/преобразования/подрезки видео делай в нём, если он справляется.

Да, он бесплатный, легковесный и опенсорсный.
Нет, Adobe Media Encoder, конвертилка от Xilisoft или любые другие платные софтины — не лучше.
Сильно не лучше.
Потому что.

Подробно — вот пошаговые инструкции:

0. Если уже установлен K-Lite старой версии, лезь в папку с ним и забэкапь куда-нибудь файлы с расширением ini из папок MPC-HC и MPC-HC64.
Если их нет — поздравляю! Настройки плеера в реестре, хрен ты их оттуда выковыришь.
Удаляй K-Lite через «установку и удаление».

1. Если в системе есть любые другие кодеки или пакеты кодеков, кроме K-Lite и официального QuickTime — удаляй и их тоже.

2. Ставь QuickTime, если не стоит.

3. Ставь K-Lite свежей версии.

4. Ставь Avidemux, соответствующий разрядности твоей операционки (64 либо 32 бит). Если не знаешь разрядность — жми на клаве Win+Pause и смотри там.

Всё, на что я не обратил внимание — оставляй по дефолту.

Вуаля! Самый полный комплект кодеков установлен.

1. Перегонка видео из одного формата в другой

Сперва — давай кое-что проясним.
Для того, чтобы преобразовать, допустим, FLV в MP4, далеко не всегда надо конвертировать сам видеопоток, который находится внутри этих контейнеров. Довольно часто (а на деле — почти всегда) можно сохранить видеофайл в другой формат, скопировав видеопоток без изменений.

Что это нам даёт?
• Во-первых, такая конвертация — значительно быстрее. По сути, она происходит с той же скоростью, что и просто копирование файла.
• Во-вторых, раз видео не пережимается — то и качество не теряется, и конвертированный файл не весит больше.

Один нюанс: целевой контейнер должен поддерживать тот формат, которым сжат видеопоток. Но, к счастью, в эпоху HD почти всегда у нас видео сжато кодеком h264 — а значит, его можно спокойно перегонять в FLV, MP4, MKV и даже QuickTime'овский MOV.

Зная это, теперь мы понимаем, что на самом деле тебе почти наверняка не нужно именно конвертировать видео. Достаточно лишь сменить контейнер.

!!! ВНИМАНИЕ !!!
Когда сохраняешь файлы Avidemux-ом — ВСЕГДА сохраняй их под другим именем. Avidemux не может одновременно читать и писать в один и тот же файл. А если даже сможет — поломает тебе нафиг всю запись.
Если мало места на винте — лучше сперва освободи, прежде, чем браться за любые решения из этого гайда.

1.1. Как сменить контейнер для видеопотока? (FLV -> MP4 и наоборот)

И вот именно из-за такой возможности Avidemux нагибает любые другие платные софты для конвертации.

Как обычно:
• Drag-n-drop в окошко Avidemux
• Ctrl+O
• Кнопка вверху на панельке
• Пункт в меню «File»

• Оставляешь дефолтный режим кодирования аудио и видео — Copy.
• Выбираешь нужный контейнер. В случае с mp4 — лучше сперва пробовать MP4v2 Muxer. И если с ним не заработает — тогда просто MP4.
• Просто сохраняешь файл под новым именем.

1.2. Как узнать, получится ли просто скопировать видеопоток из имеющегося контейнера в нужный мне?

Самое простое — попробовать пересохранить через Avidemux в нужный формат. Ваш Кэп :)
Если же что-то не выходит,

• Открываешь своё видео в Media Player Classic Home Cinema (MPC, он поставился вместе с K-Lite).
• Shift + F10

Здесь указан кодек, которым закодирован видеопоток.

• А дальше гуглишь, поддерживается ли этот кодек в том контейнере, в который ты пытаешься сохранить. В данном случае — исходное видео скачано с ютуба в flv (самое низкое качество), в котором оно сжато кодеком Flash Video 1 (также известным как Sorenson Spark). И, увы, в mp4 этот кодек не поддерживается.

1.3. Что делать, если целевой контейнер не поддерживает этот кодек?

Увы, всё-таки придётся перекодировать. По идее, в 90% случаев тебе не придётся сталкиваться с этой проблемой.
Но если всё же столкнёшься,

• Вместо «Copy» выбираешь для видео подходящий кодек.
• Настраиваешь ему параметры качества.
• Опять же, выбираешь нужный контейнер.
• Если аудиокодек тоже не поддерживается — делаешь с ним то же самое.
• Сохраняешь.

1.4. Так в какой формат, каким кодеком, и с какими настройками мне надо кодировать?

Сейчас самый ходовой формат видео — это h264 (он же — AVC — Advanced Video Coding). А самый «кошерный» контейнер для него — это MP4. Но он держит не все форматы аудио.
Самый же универсальный контейнер — это MKV. Он держит вообще все форматы — как аудио, так и видео. Но, увы, не все программы для монтажа могут с ним нормально работать.
Так что ориентируйся на связку mp4/h264, а аудио — mp3. К счастью, на ютубе аудио всегда в mp3 — так что его перекодировать не требуется, даже если придётся пережимать видео (хотя и это актуально только для очень низких разрешений).
Как ты мог заметить, если нужно перекодировать, то в Avidemux'е есть 2 кодера в AVC: H264 (ff/nvidia) и Mpeg4 AVC (x264).

Жми на Configure — и поймёшь, зачем он нужен.
Он тупо более простой в настройке — и всё. Два этих поля означают то же самое, что и в OBS. 3000 / 9000 — это абсолютный минимум для стрима в 720p. Качественный битрейт надо подбирать.
И именно поэтому я рекомендую использовать не данный кодек, а следующий.

Нажимаешь Configure — и…
БЕЗ ПАНИКИ!
Спокойно!
Да, настроек овер дофига. Но на самом деле, они все — для «адвансед юзеров». А всё, что от нас требуется — это выбрать пресет и покрутить один-единственный ползунок.
• В самом верху выбираешь пресет — fast, veryFast, ultraFast — в зависимости от того, насколько много времени есть на кодирование файла. Чем быстрее — тем хуже качество.
• Убеждаешься, что Encoding Mode стоит в Constant Rate Factor.
• Если надо — можешь точно подкрутить ползунок качества. Точное понимание того, какое значение к какому качеству приводит — приходит с опытом.
Возьми за отправную точку дефолтные 12. Чем больше цифра — тем быстрее жмётся и меньше размер файла, но хуже качество (да, больше = хуже).

2. Меняем содержимое файла

Avidemux прекрасно справляется, когда надо весь видеофайл целиком перегнать в другой файл. Но с его помощью можно также менять и отдельные части.

2.0. Как перемещаться по шкале времени в Avidemux?

Либо с помощью кнопок, либо они же — есть в меню «Go» (Переход). Там же — их эквиваленты на клавиатуре.
Обрати внимание: из-за особенностей сжатия видео — когда мотаешь по кадру вперёд, это происходит мгновенно. А когда мотаешь назад — это долго. Поэтому, если нужно найти точный кадр — лучше сперва ткнуть примерно, а потом, проматывая по кадру вперёд (стрелка вправо), найти нужный.

2.1. Как собрать несколько фрагментов записи (стрима) в один файл?

• Открываешь первый видеофайл.
• Перематываешь в конец (см. 2.0.).
• Выбираешь File -> Append (или Ctrl+A), открываешь второй фрагмент.
• Повторяя эти два действия, подгружаешь все части записи.
• Сохраняешь под новым именем. (см. 1.1)

При чём, если все фрагменты — одного и того же формата (одинаковые размеры кадра, кодек, частота кадров, и желательно — чтоб были сжаты вообще одним и тем же софтом, с одинаковыми параметрами), то Avidemux, опять же, объединит видео- и аудиопотоки без конвертации.
Другими словами, запись стрима можно без потерь собрать в один непрерывный файл.

2.2. Как обрезать запись, оставив лишь нужную часть?

Тут есть один нюанс. Когда оставляешь лишь часть записи — конец можешь подрезать, как угодно. А вот начинаться она должна с ключевого кадра.

• Перемещаешься на первый кадр, который надо оставить.
• Обозначаешь его началом нужной части (также называемым как «Маркер А»). Делаешь это либо кнопкой внизу, либо клавишей "[".
Внизу, под всеми кнопками, следи, чтоб тип кадра был — I-FRM. Это и есть ключевой кадр.
• Аналогичным образом устанавливаешь конец выделения (клавиша "]").
• Можно подрезать только конец или только начало.
• Сохраняешь файл под новым именем.

2.3. Как заменить аудиодорожку?

Audio -> Select Track.

• Снимаешь галку напротив ненужных.
• Если нужно добавить новый из другого файла — разворачиваешь список с названием трека и выбираешь «Add audio track».

Тут же — можешь явно указать язык аудио (второй столбец), а также вместо копирования потока настроить его перекодирование (остальные столбцы).

2.4. У меня упал OBS, файл записи не проигрывается. Можно его починить?

Есть шанс. Небольшой, но всё же есть.

• Находишь файл. Смотришь его размер. Если он весит не ноль (или какие-то смешные килобайты) — значит, видеопоток там внутри сохранился. Но оборвался «без предупреждения». Попробуй его просто открыть Avidemux'ом и пересохранить. В такой же контейнер, потоки — копируем.
• Если не поможет — попробуй его перед сохранением подрезать в конце на пару кадров / секунд. • Если и это не поможет — попробуй подрезать в конце до ближайшего ключевого кадра.
• Если шла трансяляция на твич — можно оттуда забрать запись, и начало использовать из того файла, который писался локально, а конец — скачанный.

Почему бы не использовать всю запись с твича? Можно и так. Но в локальном файле нет дропов.

3. Меняем/исправляем само изображение/звук

Если файл перекодируется — то можно произвести манипуляции с самим видеопотоком. Его можно:
• подрезать (убираем чёрные полосы — YouTube это любит);
• устранить интерлейсинг (такой отголосок прошлого, при котором наблюдается горизонтальная «расчёска» на движущихся объектах);
•… аналогично устранить «квадраты сжатия» (сделать деблокинг);
• вшить «хардкорные» субтитры прямо в видео;
•… и наложить ещё кучу подобных «исправлялок» видеопотока.

Подробно рассказывать о том, как сделать всё это — не буду. Скажу лишь, что ещё в Avidemux есть фильтры. И всё вышеперечисленное делается через них.
При выборе кодека (и пережатии) становится активной соответствующая кнопка. Часть из них (например, деблокинг) находится в другом окошке, Video -> PostProcessing. Но это те же фильтры.

Аналогично — фильтры можно наложить на аудио. Например, смещение звука делается через фильтры (да, требуется перекодирование).
Аудиофильтры можно наложить как на всё вместе, так и на отдельные потоки (см. 2.3).

Итог

По идее, тут должны быть типа какие-то выводы. Но их не будет, потому что это тупо инструкция к действию.
Отмечу лишь, что возможности Avidemux расширяются ещё сильнее, если его использовать в паре с AviSynth. Что лично мне несколько раз конкретно так спасало жизнь. Но это уже совсеем другая история, попахивающая лютым хардкором.

В качестве бонуса — для скачивания видосов с ютуба рекомендую плагин к ФаерФоксу, YouTube Video and Audio Downloader. Он работает только с YT, но является самым крутым расширением для этих целей. И — да — он может скачивать видео в HD, при котором, как известно, видео и аудио представлено отдельными файлами. И он их автоматически объединяет после скачивания. Без перекодирования, как Avidemux.

А, ну и ещё кое-что...

Я сторонник универсальных безотказных решений.

Поэтому задача этого гайда — рассказать о минимальном количестве наиболее простых, но при этом надёжных, функциональных и производительных утилит для решения максимально широкого спектра задач, связанных с обработкой видеофайлов.
Методом проб и ошибок я остановился на одной утилитке, которая делает всё вышеперечисленное, и почти всегда делает это лучше, чем более узкоспециализированные аналоги.
Скорее всего, где-то там могут быть какие-то ещё софтины для решения обозначенных проблем, но… Хотя нет. Я почти уверен, что более подходящих программ под всё то, что выделено жирным выше — нет. Да, включая монструозные платные пакеты от именитых производителей.
Поэтому любые претензии в духе: «Чё-то мне этот твой Avidemux как-то ниочинь, то ли дело мой любимый (платный, крякнутый) %ИМЯ_СОФТИНЫ%», — засуньте себе сами знаете куда.

Хотите воевать со своей любимой «самой лучшей» программой для конвертации — воюйте дальше, но зачем тогда вы заглянули сюда?
Хотите решить проблемы с преобразованием видео — делайте, как я говорю, либо же…
Хотите предложить более удобный/простой способ решения — я только за: вперёд, в комментарии. Лучшее — враг хорошего. Я буду только рад, если кто-то подскажет ещё более крутые программки для монтажа/мукса/демукса без рекодирования.
Но сразу замечу: помимо перечисленных в этом гайде утилит — я также активно использую следующие, однако для «широких масс» считаю их неприменимыми:
• MeGUI
• FFMPEG
• YAMB
• MKV merge/extract


Лучшие комментарии

Ммм… а ещё есть ламповый видеогайд по Sony Vegas от Максима Кулакова. Сам многое почерпнул именно из его роликов. Правда полного курса пришлось ждать почти 2 года. =D
Если кому интересно, вот:
Часть 1
Часть 2
Часть 3
Дополнения и уточнения — приветствуются.
Ещё будет весьма полезно, если кто-нибудь выкатит подобный гайд по настройке OBS.
Аудио на ютабе в AAC-LC ведь, а не mp3.

Лекс готов чем угодно заниматься, лишь бы вторую статью про PBR не писать D:
Штука — элементарная, если понять один-единственный принцип: видеопоток можно копировать, не перекодируя, если он сам не меняется.
Тем-то она и превосходит аналоги, что тут всё предельно юзер-френдли. В отличие от того же MeGUI, для которого, по-хорошему, надо писать avs-скрипты (или хотя бы понимать, что они содержат, когда генерируются автоматом).
Я просто намеренно старался написать самый исчерпывающий гайд, потому что не раз замечал, что всё то, что совершенно очевидно для меня, далеко не очевидно для многих моих знакомых.

А по OBS-у — да, много гайдов. Но 90% из них — вообще не касаются оптимальной настройки качества, а остальные 10% — написаны в духе «жми сюда и не задавай вопросов». И если у меня есть стойкое ощущение, что автор ошибся, то мне даже не понятно, почему он рекомендует делать именно так.
Вообще не понимаю смысл фразы:
а не ставят насильно в систему, зачастую переписывая стандартные системные

1. кодеки — они и ДОЛЖНЫ быть в системе. Иначе у тебя разный софт может использовать разные версии одних и тех же кодеков, что само по себе может привести к непредсказуемым проблемам. Софтины, которые содержат всё это в себе — сделаны таковыми для одной-единственной цели: не грузить юзера самим понятием существования кодеков, и сделать установку предельно однокнопочной.
2. в своей стандартной конфигурации k-lite не перезатирает стандартные системные кодеки/фильтры. По умолчанию везде выбрано всё самое стабильное/оптимальное. В гайде на странице выбора кодеков я сознательно не предлагал никакие галки менять.
3. ты таки не поверишь, но кодеки с течением времени тоже обновляются, совершенствуются и даже — НИЧОСИ! — выходят новые. Предлагаешь ВЕСЬ софт, который имеет хоть какое-то отношение к работе с видео, регулярно обновлять?

Я ничего не имею против всяких KMP. Но то, что благо для одних софтин (рассчитанных в том числе на домохозяек) — совсем не благо для других.
Я бы посмотрел, как ты обновляешь всякие премьеры и вегасы, если бы они содержали кодеки внутри себя, и наотрез отказывались использовать системные.

Короче, сударь, не порите чушь.


отредактировано Дедпулом
Я не вникал в гайд, но, по крайней мере, как оно видится, штука не из элементарных. А OBS, если это тот самый Опен Бродкаст, настраивается даже полным профаном, и гайдов на него десятки. Я просто не уверен, что n+1-ый гайд тут нужен.
Таки выглядит дружелюбнее старичка VirtualDub и его форков. Спасибо. Возьму на заметку.
А через эту прогу можно менять направленность изображения? То есть у меня видео снимаемое с телефона, при переносе на ноут, на экране монитора отображается вертикально, а нужно чтобы было прямо)))
Чувак, прости, конечно, но судя по твоим комментам, ты вообще не юзал никогда «тяжёлый» софт. Может ещё начнёшь загонять, что драйверы должны содержаться в каждой программе и игре «свои», а не устанавливаться в систему?

Пак регистрирует в системе все эту кучу декодеров и где они потом вылезут боком никто не знает.
При наличии прямых рук, умении выбирать качественные программы, а не «вставь_название_фирмы» Video Converter'ы всякие, и при умении пользоваться нужными кодеками, никогда ничего не вылезет. К тому же, при подобной аргументации стоит приводить личные примеры из личного опыта работы с кодеками и паками, а не сводить всё к тому, что кто-то где-то чем-то в интернете написал. Или ты ручаешься за компетентность каждого комментатора?

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

Для примера перекопирую коммент с ютуба с записи стрима Crew:
что винда следит (хотя, да, следит, но все это выпиливается).
После этого можно не читать дальше :-D
Прочел, добавил в избранное как справку на будущее.
НО!
Только что протестировал. Склеил в один файл копированием потока ради теста 2 части записи стрима, вытащенного с твича (оба файла по 2 часа в 720р с битрейтом 2500).
Соединил Avidemux их быстро, но очень сдвинул звук. Да так, что выстрел на экране виден, допустим, в 10:40, а звук выстрела в 10:43 слышен.
Это из-за того, что слишком большая длительность видео или я что-то не так сделал?
Это разный уровень программ и назначения.
В данном контексте они схожи по принципу своего назначения — и те и другие являются вспомогательными элементами для правильной работы других программ или девайсов.

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

Ну а как среднестатистическому пользователю распознать, какой кодек ему нужен для запуска старой игры? Это уж точно не распространённый сегодня. А данный гайд написан для всех, и работать будет у всех, кто последует инструкции.

Бекапы спасут мир.
Не понял, каким образом бэкапы у вас решают проблему несовместимости новых версий программ со старыми плагинами.

Конечно можно не читать. Аргументов то у тебя нет.
Аргумент в самой цитате есть. Сначала человек обвиняет Лекса за неверную инфу, но тут же в скобках говорит, что да, мол, это правда, но ведь можно эту проблему решить. Что никак не делает слова Лекса неверными.


отредактировано Дедпулом
Можно. Но придётся перекодировать. Смотри в сторону фильтров.
Чудовищно обалденная инструкция! Благодарю за предоставленный материал, Лекс!
Я отвечу лишь на последний абзац, потому что, как уже сказал, я не вникал и к видосам левой задней причастен, поэтому поверю тебе на слово. А касательно обс-а — настройка стрима это всегда метод проб и ошибок. Нельзя сделать гайд, в котором сразу указано при каких хар-ках компа какие настройки выставлять. Отсюда и упор большинства гайдов на объяснение параметров и показ, какие показатели менять для нахождения своей золотой середины.
Не, если найдётся такой умелец, который выдаст гайд с таблицами и графиками, расположит в порядке возрастания возможную начинку компа и её работоспособность при определённых настройках — я только буду рад, и первым поставлю этому человеку плюс куда только можно. Только, по-моему, это чуточку нереально.
ну этот гайд не по заливке на ютуб и не по вегасу. Так что — не по адресу вопрос. Чем мог — помог.
Ну правило Парето же!
Нет смысла делать исчерпывающий гайд по OBS'у. Как нет смысла делать такой гайд по Avidemux'у. Надо лишь подробно разобрать те 20% функционала, которые нужны в 80% случаев.
Чуть менее, чем всегда — стримеры обладают схожими мощностями железа. Обладатели слабых компов в стримы даже не суются. Однако настройка трансляции на то, чтобы она:
а) была хорошего качества,
б) требовала наименьшего битрейта,
в) не перегружала систему —

это совсем нетривиальная задача, даже если прошёлся по всем параметрам перебором.
Чуть менее, чем всегда — есть некая «волшебная кнопка», которая в одно включение радикально улучшает результат на выходе. В случае с конвертацией/подрезкой видео — такая кнопка называется «Avidemux в режиме копирования».
Но я уверен, что и для OBS'а такие кнопки есть. Более того, я знаю, что они точно есть. По рекомендации нашего главреда я в адвансед параметрах сжатия указал crf=16 при пресете veryfast. Что, вообще-то, предельно логично, ведь параметр crf задаёт вариабл битрейт, и действует точно так же, как в любых софтах для конвертации (включая Avidemux, как видно по скринам выше).
Но этого параметра нет в интерфейсе OBS'а (вместо него — какой-то абстрактный ползунок от 0 до 100%), хотя он решающий. А значит, само его использование — уже из разряда «волшебных кнопок», к которым можно прийти только в результате длительного стримингового опыта.

Вот толковый гайд должен быть об этом, а не обо всём функционале софта. Обо всём функционале — это официальный мануал.
Читай также