strategiesliveru

Mkvtoolnix Вытащить Субтитры

Jun 27, 2016 - MKVToolnix содержит в себе несколько утилит: mkvmerge, mmg. Звуковые дорожки/субтитры и сохранить это всё в новом файле.

Как известно, файлы с расширением mkv - это специальный мультимедийный контейнер Matroska для хранения видео, звуковых дорог и субтитров. Она же Матрёшка.

Ниже будет описано как правильно работать со звуковыми дорожками. Часто бывает ситуация, когда в контейнере несколько звуковых дорог и субтитров, причем некоторые из них бывают не нужны. Например дороги с незнакомым языком или несколько русских. Или ещё вариант, когда звуковая дорога имеет формат dts, который не всегда воспроизводится 'железными' плеерами. Его можно перекодировать в ас3.

Опишу наиболее оптимальные, по моему мнению, действия для выполнения этих задач. Понадобятся всего две программы. Первая - для работы с контейнерами mkv. Помимо кодирования dts в ас3 имеет много других полезных возможностей. Для примера возьмём некогда популярный фильм 'Святые из трущоб'. Запускаем mkvmerge GUI из комплекта Mkvtoolnix Выбираем фильм и получаем примерно такую картину: В контейнере, помимо самого видео и субтитров, лежат ещё четыре дороги. Английская, две русских и дорога за авторством Гоблина.

Вот она как раз и нужна. Снимаем галки с ненужных элементов, выбираем конечный путь и название пересобранного контейнера и нажимаем Start muxing. После завершения миксирования новый контейнер выглядит так. Видео и одна звуковая дорожка. Теперь её можно перекодировать в ас3.

Запускаем Xilisoft Video Converter Ultimate. Добавляем файл, во вкладке Profiles выбираем ас3 и путь для сохранения. Также в правой части программы можно изменить настройки для кодируемой дорожки. Жмём красную кнопку вверху и ждём. Получилась отдельная дорожка ас3.

Теперь ею нужно заменить дорожку с расширением dts. Для этого снова открываем mkvmerge GUI, выбираем файл mkv с одной дорожкой dts и кнопкой add добавляем дорожку ас3, при этом с дорожки dts соответственно галочку снимаем. Далее выбираем исходный путь, жмём Start muxing и ждём пока дорожка добавиться в контейнер. Вы спросите зачем все это нужно было? Исходный файл со всеми дорожками весил 6.56 ГБ, конечный 3.78 ГБ.

Mkvtoolnix вытащить субтитры

Помимо того, что он занимает меньше места, его можно относительно быстрее скопировать на флешку и смотреть с устройства, не поддерживающего звук в формате dts (например телевизоры SAMSUNG шестой серии 2009 года, которым даже новая прошивка не помогла научится читать dts). UPDATE: Не рекомендуется использовать версии выше чем 4.0.0. Особенно это касается обладателей телевизоров Samsung 2009 года выпуска. (2009 год - это буква 'В' в названии модели.

Например LE37 B.) Большинство пересобранных контейнеров отказываются запускаться на встроенном плеере вышеописанных телевизоров. UPDATE2: А как вытащить отдельно субтитры или звуковую дорожку? Для этого понадобится программа MKVExtractGUI.

Её необходимо положить в папку с Mkvtoolnix. Здесь всё интуитивно понятно: выбираете файл, выходную папку и галочками помечаете необходимые для извлечения из контейнера файлы. XSS.2013 Вопросы по данному материалу можно задавать.,.

Для монтажа есть некоторые ограничения: 1. Резать без пересжатия можно только начиная с ключевого кадра.

Соответственно вырезать кусок точно так как хочется не получится, если начало фрагмента не является ключевым кадром. Заканчиваться фрагмент может либо ключевым кадром, либо P-кадром (который не использует информацию из последующего кадра в отличие от B-кадров). Определять границы для форматов MKV, MP4 и TS придется либо на ощупь, либо через создание простенького avs-скрипта, чтобы можно было его открыть в редакторе VirtualDub и спокойно определить границы вырезаемых фрагментов визуально. Создание скрипта описано ниже в разделе ' Получение информации о типе каждого кадра сжатого видеопотока'. Звук в формате AC3 резать в произвольном месте так же нельзя. Он состоит из фрагментов по 32мс. Соответственно, если длина куска видео не кратна 32мс, то аудиопоток будет заканчиваться чуть раньше.

При добавлении к такому фрагменту следующего фрагмента можно получить рассинхрон, т.к. Аудиодорожка от второго фрагмента пойдет следом за аудиодорожкой из первого, без учета разницы в продолжительности потоков первого фрагмента. Маленький зазор, который должен быть, просто исчезнет. Решить эту проблему можно путем распаковки звука всех фрагментов, соединения их в любом аудиоредакторе с добавлением зазоров и последующим сжатием в нужный формат уже цельной дорожки, которую и прикрепляем к склеенным видеофрагментам. Поэтому надо учитывать это при условии, что длина кадра для PAL равна 40 мс, для NTSC - 1001/24 мс. Все эти форматы не созданы для редактирования, это как правило форматы конечного этапа хранения.

Поэтому грамотное редактирование доступно лишь через полное или частичное пересжатие. С желанием вырезать один кадр вообще выхода кроме как пересжимать не остается. Черные полосы можно убрать только при полном. Исключение составляет формат mkv, в котором есть параметры позволяющие указывать границы отображаемой области. Но поддержка этих опций плеерами практически отсутствует. Как устроена видеопоследовательность При сжатии видео используется 3 типа кадров: I, P и B. I-кадр - это кадр, который не зависит от других кадров и сжат с очень небольшим коэффициентом.

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

Сохраняют лишь отличия от предыдущего кадра. Последовательность видео в этом случае может выглядеть так: IPPPPPPPPPPPPPPPPIPPPPPPP. Для дальнейшего увеличения сжатия были введены B-кадры. Они ставятся между двумя менее сжатыми кадрами (I/P или P/P). Последовательность получается такой: IPBPBPBPBPBPBPIPBPBPBP (или IBPBPBPBPBPBPBPIPBPBPBP).

Коэффициент сжатия B-кадров больше, чем коэффициент сжатия P-кадров, т.к. Сохраняются лишь отличия от соседних кадров. Но вместе с этим накладывается определённые ограничения.

Например, вырезаемый фрагмент видео не может заканчиваться B-кадром. Компания Microsoft впервые выпустила пакет Video for Windows для операционной системы Windows 3.1 в ноябре 1992 года, и с тех пор формат AVI (Audio Video Interleave) является основным для хранения видео в операционных системах семейства Windows. Основное преимущество универсального формата AVI (и, кстати, «секрет» его долголетия), в отличие от потоковых форматов типа MPEG, а тем более от таких специализированных разновидностей, как MP3 (MPEG Audio Layer 3), в том, что «стандартных» AVI-файлов практически не существует: AVI — фактически не более чем «контейнер», который содержит общее описание содержимого в стандартизованном виде.

Таким образом, AVI-файлы только внешне выглядят одинаково, но внутри они могут сильно различаться, и, в то время как MPEG-, MP3- и MJPEG-файлы содержат потоки только определенного вида сжатия (компрессии), AVI может содержать много различных видов компрессии в любых сочетаниях. Однако работать с AVI-файлом можно будет только пока необходимый кодек доступен для кодирования/декодирования. Серьезным недостатком AVI-формата является то, что аудио- и видеофрагменты не содержат никаких меток времени или индексов кадра. Данные упорядочиваются по времени последовательно, в порядке поступления. Приложение для захвата или проигрывания видео должно само позаботиться о синхронизации видео- и аудиопотоков. Но если деление видео на кадры совершенно естественно, то звук представляет собой непрерывный поток, который приходится искусственно расчленять на фрагменты, соответствующие кадрам (из-за этого точная синхронизация изображения и звука часто отсутствует и звук может 'расходиться' с изображением).

В простейшем случае каждому кадру видео соответствует кусок звукового сопровождения, но далеко не все AVI-файлы делаются по этой простой схеме. Недостаток временных меток был устранен в расширении AVI-формата - OpenDML AVI (поддержанный затем в DirectShow и в ActiveMovie), которое добавляет новые куски по меткам времени. Контейнер уже давно устарел и все никак не хочет уходить на пенсию, причем подавляющая часть медиа контента в сети до сих пор распространяется именно в нем. Минусы:. Для каждой цепочки AVI-файла теряется 24 байта на заголовки и индекс. Это приводит к потерям чуть более 5МБ/час.

Может быть сохранено только содержимое с фиксированной частотой кадров. Не возможно поместить в AVI смешанный материал, например, смесь NTSC видео и киноматериала. В действительности, есть хаки, позволяющие сохранять содержимое с переменным fps в AVI, но они увеличивают (и без того большую) избыточность впятеро или более того и поэтому непрактичны. Аудио в AVI-файлах должно быть или с постоянным битпотоком (CBR) или с постоянным размером кадра (т.е.

Все кадры декодируются в одно и то же число выборок). AVI не способен отличить P-кадр от B-кадра. Не предусмотрено спецификацией. DivX / Xvid решают эту проблему в обход спецификации, что тоже не совсем хорошо и может создавать проблемы. Контейнер AVI создавался для работы через интерфейс VfW (Video for Windows) и как раз VirtualDub является программой, использующей исключительно VfW.

Поскольку VfW является сильно устаревшим и не гибким, современные программы используют DS (DirectShow). Программы использующие DS замечательно работают с контейнерами под DS заточенными, но вот с VfW возникают проблемы в виде расхождения аудио и видеодорожек. Поэтому не следует использовать для работы с AVI-файлами программы, работающие не через VfW. Отсутствует поддержка современных кодеков.

RIFF 'AVI ' // четырехбуквенный идентификатор файла (в RIFF-формате) LIST 'hdrl' // список заголовков блоков, определяющих форматы потоков LIST 'movi' // блоки данных (потоков) AVI-файла 'idx1' // необязательный блок, определяющий размещение блоков данных внутри AVI-файла То есть в AVI-файле должно быть по крайней мере два обязательных блока: заголовка и данных, которые, в свою очередь, могут содержать подблоки. Первый блок будет содержать общую информацию о видеоролике: разрешение кадров и их частоту, формат аудио и т.д. Сначала в заголовке для записи длины потока отводилось 32 байт, поскольку в файловой системе FAT 16 максимальный раздел диска не мог превышать 2 Гбайт, поэтому и максимальный кусок видео, который можно было записывать в AVI-файле, не мог превышать 2 Гбайт (с учетом знака переменной размера). Во времена возникновения формата казалось естественным, что длина файла не может превышать размер логического диска. С появлением файловых систем FAT 32 и NTFS верхняя граница размера раздела значительно отодвинулась, однако потребовалось еще немало времени, чтобы ввести расширение формата и дождаться программ, способных это ограничение обходить. Список 'hdrl' может состоять из подсписков.

LIST 'movi' // блоки данных (потоков) AVI-файла SubChunk LIST 'rec ' // подблок список записей '##wb' (размер блока 4 байта) (data) // звуковые данные (блок) '##dc' (размер блока 4 байта) (data) // видеоданные (блок) '##db' (размер блока 4 байта) (data) // видеоданные (блок) Таким образом, подблок данных организован в виде последовательности записей, каждая из которых состоит из одного кадра видео и соответствующего звукового сопровождения. Первоначально ##dc-блок был предназначен для хранения сжатого изображения, а ##db-блок - для несжатого DIB (Device Independent Bitmap). Но фактически они оба могут содержать сжатые данные.

Современный, отвечающий всем потребностям, отличный контейнер. Matroska (так по-английски пишется русское слово Матрёшка) — проект, нацеленный на создание открытого гибкого кросс-платформенного (включая аппаратные платформы) стандарта форматов мультимедийных контейнеров и набора инструментов и библиотек для работы с данными в этом формате.

Этот проект является развитием проекта MCF, но значительно отличается тем, что основан на EBML (Extensible Binary Meta Language — расширяемый двоичный метаязык) — двоичном аналоге языка XML. Использование EBML позволяет расширять формат без потери совместимости со старыми программами.

Возможности формата, закладываемые в Matroska:. трансляция по Интернету (протоколы HTTP и RTP);. быстрая перемотка в файле;.

• Фиксатор конусного упора 18. • Конусный упор. Инструкция к промышленной швейной машине. • Выступающая часть оси 12. Кронштейна 21.

устойчивость к ошибкам;. разбиение файла на главы (Chapters);. переключаемые на лету субтитры (с возможностью добавлять свои шрифты прямо в контейнер - без необходимости их отдельной установки в ОС);.

переключаемые звуковые дорожки;. модульная расширяемость; Следует отметить, что проект аудио/видео контейнера не включает в себя форматов сжатия видео и кодеков (таких, как MP3 или JPEG). Это упаковка, которая может содержать большое число потоков аудио, видео, субтитров и других медиа-данных (картинки, шрифты и т.д.), позволяя пользователю хранить в одном файле несколько вариантов фильма и проигрывать его мультимедиа-проигрывателем в необходимой конфигурации. Matroska является открытым проектом (open standard). Это означает, что для персонального использования она абсолютно бесплатна, а техническая спецификация формата битового потока доступна любому, даже компаниям, желающим встроить поддержку формата в свои продукты (для этого потребуется специальная лицензия). Исходный код всех библиотек, созданных группой разработчиков проекта Matroska распространяется на условиях LGPL (библиотека для проигрывания, написанная на C с использованием целочисленной арифметики, распространятся также на условиях лицензии BSD).

Matroska является прямой открытой альтернативой контейнерам AVI, ASF video, MOV, RealMedia, MP4, MPG. Существует поддержка адаптации и реализации библиотек Matroska для OpenBeOS Mediakit и GStreamer (англ.) (мультимедийной среды ОС GNU/Linux, похожей на Microsoft DirectShow для Windows) и набора фильтров DirectShow для воспроизведения и создания файлов Matroska в ОС Windows. Целью создания контейнера TS является мультиплексирование аудио и видео данных и синхронизация их выхода. Основное назначение - трансляция по сетям передачи данных. Для этих целей в контейнере хранится очень много служебной информации.

Например, при объемах 30Gb служебная информация будет занимать 2Gb. Поток транслируется пакетами по 188 байт, в которых содержится вся необходимая служебная информация (флаги, заголовки, идентификаторы, данные синхронизации и прочее). В m2ts пакет уже не 188 байт, а 192 байта.

Добавляется информация о тайм-кодах для организации произвольного доступа к потоку. В нижней части окна программы при помощи бегунка находим начало нужного сегмента и в меню выбираем ' Edit - Set selection start', либо используем клавишу ' Home' на клавиатуре. Под полосой прокрутки размещены панель навигации и информация о времени, номере кадра и объеме фрагмента в мегабайтах от начала до текущей позиции. Если при этом рядом со счетчиком времени будет буковка K, то можно считать, что ваши пожелания совпали с вашими возможностями.

Потому как это обозначение ключевого кадра. Для перемещения строго по ключевым кадрам нужно зажать ' Shift'.

Чтобы склеить два фрагмента должны выполняться следующие условия: 1. Должно совпадать разрешение обоих фрагментов. Должна совпадать частота кадров обоих фрагментов.

Должны совпадать потоки аудио дорожек. Должен совпадать битрейт аудио дорожек. Фрагменты не должны содержать пустот в потоках аудио дорожек в начале (задержка дорожки) и в конце (дорожка короче видео) фрагмента.

Иначе все может покоситься. VirtualDub совершенно не умеет обрабатывать подобные моменты.

Для того чтобы склеить два фрагмента достаточно открыть первый фрагмент обычным способом через пункт меню ' File - Open video file' и добавить второй фрагмент через пункт меню ' File - Append segment'. Если все нормально, то никаких сообщений не будет и останется только сохранить результат через команду в пункте меню ' File - Save as', не забыв при этом выставить опцию ' Video - Direct stream copy'. Если же вылезла какая либо ошибка, значит технические характеристики фрагментов не идентичны. При склеивании фрагментов с fps не являющимся целыми числами могут возникнуть проблемы - VirtualDub будет выдавать ошибку несовпадения fps у фрагментов на тысячные доли. В этом случае можно сделать так: - разобрать оба фрагмента на видео и аудио - выставить у видео обоих фрагментов fps равный 25 - склеить фрагменты видео и сохранить - открыть полученный файл, изменить fps на исходный и пересохранить - склеить аудиодорожки фрагментов (но надо учитывать, что в этом случае может что то съехать, если аудиодорожки фрагментов не совпадают по продолжительности с продолжительностью своих видеопотоков) - осталось соединить вместе получившиеся видеопоток и аудиодорожки. Если в фрагментах звук в формате mp3 с переменным битрейтом, то может потребоваться раздельная склейка видео и аудио.

Вот тут как раз и проявляется все удобство VirtualDubMod по сравнению с оригинальным VirtualDub. Удобно работать с потоками и расширенный список поддерживаемых аудио-форматов. Переходим в меню ' Streams - Stream list'. Видим окно со списком аудио дорожек. Чтобы добавить дорожку жмем на кнопку ' add' и выбираем файл со звуковой дорожкой. Кнопками ' Move up / Move down' можно переместить её на нужную позицию, например, на первую (если добавляем перевод).

Так же здесь можно задать сдвиг дорожки в миллисекундах. Для этого щелкаем правой кнопкой мышки по нужной дорожке и выбираем пункт меню ' Interleaving.' Здесь, в поле ' Delay audio track by.' Выставляем положительное значения для задержки звука или отрицательное для опережения. Кодеки XviD и DivX хоть и развиваются не зависимо, но имеют общие корни. В результате чего создаваемый ими код совместим.

Многие бытовые плееры, которые проигрывают DivX не воспринимают XviD. В основном это основано именно на идентификаторе. Если его заменить, то и фильм сжатый при помощи XviD будет воспроизводится без проблем.

Поправить идентификатор очень просто. Для этого понадобится либо оригинальный VirtualDub, либо VirtualDubMod, главное - при открытии файла в ' Hex editor' снять в самому низу галочку ' Только чтение'. Запускаем VirtualDub или VirtualDubMod и вызываем утилиту ' Tools - Hex editor'.

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

BPS – средний битрейт (скорость передачи);. DURATION – продолжительность;. NUMBEROFFRAMES – количество кадров/пакетов для видео/аудио или количество записей для субтитров;. NUMBEROFBYTES – размер дорожки в Байтах;. STATISTICSWRITINGAPP – информация о программе при помощи, которой был создан данный контейнер MKV;. STATISTICSWRITINGDATEUTC – дата и время по создания/обработки контейнера;.

STATISTICSTAGS – информация о содержании данного файла тегов. В MKVMergeGUI эта функция включена по умолчанию, но вы всегда можете ее отключить при помощи одного из параметров командной строки. Изменение наименования потока. Изменение языка потока. Добавление свойства обрезки кадра слева и установка значения этого свойства равного 10 пикселям.

После внесения изменений нужно их сохранить через меню ' File - Save'. Свойства, смысл которых вам не понятен, изменять не рекомендуется. Первым делом советую перенастроить формат вывода для раздела ' Multiplexer'. Необходимая настройка находится в меню ' MKVToolNix GUI - Preferences - Multiplexer - Layout'. Нужно переключить опцию ' Position for the track properties on the 'input' tab' в положение ' In a tab widget below the files and tracks'. В таком виде площадь формы используется более рационально. Концепция ввода данных состоит в том чтобы добавить исходные фрагменты из составляющих потоков которых можно будет собрать результат.

Так же есть возможность добавления очередного фрагмента в дополнение к уже существующему. Загрузка исходных фрагментов осуществляется тремя способами:. при помощи кнопки ' Add source file' в нижней части окна программы. при помощи контекстного меню раздела ' Source files' вкладки ' Input'. при помощи перетаскивания файла в область раздела ' Source files' вкладки ' Input' окна программы Кнопка ' Add source files' и контекстное меню раздела ' Source files' имеют схожий принцип функционирования.

Пункт ' Add files' вызывает диалог выбора файла. Если в разделе ' Source files' выбран какой либо фрагмент, то в меню становится доступен пункт ' Append files' позволяющий присоединить новый фрагмент к уже выбранному. В случае перетаскивания файлов в область раздела ' Source files' вкладки ' Input' окна программы без вопросов добавляется только первый и единственный файл.

В остальных случаях будет выведен диалог выбора действия:. ' Add as new source files to the current multiplex settings' - перетаскиваемый набор файлов добавляется на текущий монтажный стол в качестве исходных фрагментов.

' Create new multiplex settings and add to those' - перетаскиваемый набор файлов будет помещен в качестве исходных фрагментов на новый монтажный стол. ' Create new multiplex settings for each file' - каждый файл перетаскиваемого набора файлов будет помещен на новый монтажный стол. ' Append to an existing source file' - набор файлов будет добавлен к выбранному ниже фрагменту в дополнение на текущем монтажном столе.

' Add as additional parts to an existing source file' - аналогично предыдущему пункту, но без учета структуры, т.е. Как просто файлы (нужно в случае, когда видео было разбито на фрагменты как любой другой файл, например, запись потока кусками при просмотре онлайн). Путь выходного файла нужно указать в нижней части окна программы в поле ' Destination file'. После этого жмем правее кнопку ' Start multiplexing', которая помещает задачу в очередь с автоматическим исполнением согласно существующему порядку очереди.

Либо можно кнопкой ' Add to job queue' поместить задачу в очередь с ожиданием ручного запуска. За процессом можно следить либо по строке состояния окна программы, которая расположена в самом низу.

На ней отображается количество задач с автоматическим запуском, ручным запуском и уже запущенных, количество предупреждений и ошибок, а так же процент выполнения исполняемой задачи и общий процент выполнения относительно запланированных задач. Более подробную информацию можно посмотреть в разделе ' Job output', где находится общий лог выполнения задач. Переходим на вкладку ' Output'. Нас интересует раздел ' Splitting', опция ' Split mode'. Доступны несколько режимов, настройки которых вводятся строкой ниже.

' Do not split' - режим отключен. ' After output size' - резка на одинаковые фрагменты по размеру (например, на болванки CD-R), можно указать свое значение или выбрать из списка, настройки задаются в поле ' Size' расположенном строкой ниже. ' After output duration' - резка на одинаковые фрагменты по продолжительности, длина фрагмента задается в формате HH:MM:SS.nnnnnnnnn' (HH - часы, MM - минуты, SS - секунды, n - миллисекунды), так же длину можно указывать в секундах с добавлением литеры 's' после значения, настройки задаются в поле ' Duration' расположенном строкой ниже. ' After specific timecodes' - резка по заданным временным меткам перечисленным через запятую, настройки задаются в поле ' Timecodes' расположенном строкой ниже. ' By parts based on frame/field numbers' - опция служит для нарезки как угодно по временным меткам, настройки задаются в поле ' Parts' расположенном строкой ниже.

можно перечислить метки разреза через запятую и программа нарежет файл по заданным меткам. можно указать диапазон через дефис и программа вырежет заданный фрагмент. можно указать несколько диапазонов через запятую и программа вырежет их и поместит в отдельные файлы.

можно указать несколько диапазонов через знак '+' и программа запишет их в один файл, соответственно для удаления понадобится указать через знак '+' только фрагменты до вырезаемого и после. ' By parts based on frame/field numbers' - аналогично предыдущему пункту (только метками будут номера кадров или полей в случае чересстрочного видео), настройки задаются в поле ' Parts' расположенном строкой ниже. ' After frame/field numbers' - резка по заданным номерам кадров или полей в случае чересстрочного видео, настройки задаются в поле ' Frames/fields' расположенном строкой ниже. ' Before chapters' - режим резки с использованием списка глав, для резки только по нужным главам надо перечислить их номера через запятую, чтобы разрезать по всем главам нужно ввести слово ' all', настройки задаются в поле ' Chapter numbers' расположенном строкой ниже. Добавляем последующие фрагменты пунктом ' Append files' контекстного меню или меню по кнопке ' Add source files', либо просто перетаскиваем файлы на область раздела ' Source files' вкладки ' Input' окна программы.

Чтобы стал доступен соответствующий пункт меню в первом случае контекстное меню нужно вызвать кликнув по уже загруженному первому фрагменту, во втором случае первый фрагмент должен быть выделен, т.е. На нем должен находиться курсор (строка выделения). В третьем случае будет задан вопрос что делать с перетаскиваемыми файлами - нужно выбрать пункт меню ' Append to an existing source file' и указать первый фрагмент в нижней части окна диалога.

На вкладке ' General options' отображаются основные свойства:. ' Copy this item' - определяет будет ли поток добавлен к результату, возможные значения ' Yes' / ' No'.

Mkvtoolnix

' Track name' - определяет наименование потока для более удобного обозначения (например, 'Комментарии режиссера', 'Дубляж', 'Закадровый'). ' Language' - определяет язык потока, доступен выбор из списка. ' Default track' - выбор потока по-умолчанию, который будет предпочитаться проигрывателем при прочих равных условиях, возможные значения ' Yes' / ' No' и автоматическое определение (которое включено по-умолчанию).

' Forced track' - выбор принудительного воспроизведения потока (например, полезно для субтитров только с переводом надписей), возможные значения ' Yes' / ' No'. ' Compression' - выбор сжатия заголовка потока, включение (выбор ' zlib') может вызывать проблемы при воспроизведении на бытовых проигрывателях, возможные значения ' No extra compression' / ' zlib' и автоматическое определение (которое включено по-умолчанию). ' Tags' - файл со списком меток в XML формате. На вкладке ' Timecodes and default duration' отображаются операционные свойства:. ' Delay (in ms)' - задержка (смещение) потока (возможно как положительное значение, так и отрицательное для опережения), задается в миллисекундах.

' Stretch by' - сжатие/растяжение дорожки, задается коэффициент изменения продолжительности относительно единицы (меньше - сжатие, больше - растяжение). ' Default duration/FPS' - скорость воспроизведения видеопотока, задается в виде рационального числа (либо дроби с целыми значениями), так же доступен выбор из списка базовых значений. ' Timecode file' - файл со списком временных меток и скоростью воспроизведения начиная с указанной метки, позволяет задавать переменную скорость воспроизведения. После запуска нужно нажать на кнопку 'Locate MKVToolNix.'

И указать папку где установлен 1. Добавить файлы в программу можно либо при помощи кнопки ' Open MKV files to process.'

Либо перетащив их мышкой на окно программы. Чтобы удалить файл из списка нужно отметить его и нажать кнопку ' Remove selected files from list'.

В нижней части программы, в разделе ' Output directory' нужно указать папку куда сохранять извлеченные потоки. Если не указывать, то потоки будут извлекаться в ту же директорию, что и исходный файл.

В левой части можно отметить какие потоки надо извлекать у каждого файла. Справа, в разделе ' Tracks to extract (Batch Mode)' можно задать общее условие для извлечения потоков и прочего содержимого контейнера. Извлечь из каждого файла такую то по счету аудиодорожку (Audio Track) или субтитры (Subtitle Track), извлечь прикрепленные файлы (Attachments), таймкоды (Timecodes), главы (Chapters) или тэги (Tags). В поле ' Filename options' можно настроить как будут именоваться извлеченные потоки. Первый вариант - ' номер трэка - имя файла', второй - наоборот.

Если во втором случае отметить опцию ' Use 'Video', 'Audio' and 'Subtitle', то вместо слова 'Track' будет прописываться тип потока. Для запуска нужно нажать кнопку ' Extract Tracks!' Она становится активной только в том случае, если в одном из файлов есть что извлекать. Получаем следующие данные: Задержка потока №1: 29.880с Задержка потока №2: 29.382с Задержка потока №3: 29.467с Теперь, поскольку нам требуются задержки аудио относительно видео нужно посчитать разницу между задержками аудио и видео потоков, т.е. Задержка потока №2 относительно потока №1: 29.382 - 29.880 = -498мс Задержка потока №3 относительно потока №1: 29.467 - 29.880 = -413мс В качестве примера взята запись со спутника. Поэтому присутствует задержка для видеопотока.

Обычно же в скачиваемых фильмах задержки у видеопотока нет, т.е. Видимая в mkvInfo задержка и есть искомой. Поскольку задержка потока не отображается в его свойствах при открытии mkv через mkvMerge, то есть один момент, который надо учитывать. При указании задержки в поле ' Delay' она суммируется с той, которая уже была. Так же задержку можно посмотреть при помощи.

Далее можно добавить еще главы при помощи контекстного меню. ' Add new chapter before' - добавить главу перед текущей. ' Add new chapter after' - добавить главу после текущей. ' Add new sub-chapter inside' - добавить вложенную главу. Теперь выбираем первую главу и становятся доступны её опции:.

' Start' - время начала главы относительно видеопотока (задается как HH.MM.SS.nnn). ' End' - время окончания главы относительно видеопотока (задается как HH.MM.SS.nnn). ' Enabled' - если снять флажок, то глава будет пропущена при проигрывании. ' Hidden' - при выставленном флажке глава будет недоступна для выбора в списке глав. ' Segment UID' - идентификатор главы, уникальный для каждой.

' Name' - название главы. ' Language' - языковая принадлежность главы.

' Country' - страна главы. Время окончания главы можно не указывать, оно просто не будет учитываться. Так же можно не указывать ' UID' и ' Name'. Но без названия будет совсем неудобно.

Через пункт меню ' Chapter Editor - Save to Matroska file' сохранить сразу в нужное видео. Причем это происходит существенно быстрее, чем второй способ, т.к. В этом случае просто вносятся изменения в указанный файл. Сохранить список глав в отдельный файл через меню ' Chapter Editor - Save as XML file'. Открыть нужное видео в разделе ' Multiplexer', указать файл глав на закладке ' Output' в поле ' Chapter file', не забыв на вкладке ' Input' снять галку с исходного потока глав, если таковой был.

Остается только сохранить результат.

В примере показана ситуация, когда в видеопотоке в хронологическом порядке записаны следующие части: заставка, сюжет первой серии, сюжет второй серии, титры. При выборе любого из потоков будет проигрываться как заставка так и титры, а вот сюжетная часть будет уже своя. Это дает экономию при записи сериала. Аналогично устроены и разные версии фильма, например, режиссерская версия и её часть - театральная. Либо режиссерская, расширенная и театральная, которые могут иметь уникальные части. Осталась еще одна мелочь - имена версий. Ведь неудобно когда они называются ' Edition 1', ' Edition 2' и т.д.

Это можно исправить указав на закладке ' Output' в поле ' Global tags' созданный в ручную xml-файл следующего содержания.

Это не является частью спецификаций контейнера. Такую возможность обеспечивает Haali Media Splitter.

Для реализации нужно добавить в файл тэгов раздел с: - именем ' TRACKSETEX' - строкой вида ' EditionUID VideotrackUID AudiotrackUID SubtitletrackUID Three-letterlanguagecode Optionalname', где ' Three-letterlanguagecode' - трехбуквенное обозначение аудиопотока, а ' Optionalname' - наименование связки (набора дорожек). Соответствующие нужным трекам UID можно посмотреть через mkvInfo. Вместо UID любого трека можно указать '.' Что будет оставлять соответствующий вид потока без изменений.

Вместо UID трека субтитров можно указать 'x' что будет означать отключение потока субтитров. При выборе какой либо версии активируется привязанный к её UID набор дорожек. В указанном ниже примере: - при выборе 'Serie #1' включится русская дорожка без субтитров. (набор 'for Serie #1') - при выборе 'Serie #2' включится английская дорожка с указанным потоком субтитров. (набор 'for Serie #2').

Eng for Serie #2 В результате в меню Haali Media Splitter появится возможность выбора связки потоков (Track sets). При помощи сегментов можно связать любые файлы mkv с одинаковыми параметрами (набор дорожек, кодеки). Самый простой способ применения - связать две части одного фильма. Как более интересный способ применения - воспроизведение сериала, который разбит на заставку, титры и собственно сам сюжет серии в виде отдельный файлов.

Можно сделать так, чтобы в начале каждой серии запускалась заставка, а в конце - титры. Реализуется связывание следующим образом: при запуске файла, в котором прописаны связи, сканируется содержимое каталога с целью найти файл с указанным идентификатором. Не важно как назван файл, ориентир - идентификатор файла. Чтобы определить идентификатор файла нужно воспользоваться утилитой mkvinfo из комплекта MKVToolNix.

Последние версии надо запускать с ключом ' -gui' чтобы работать с привычным оконным интерфейсом. Самый простой способ - создать ярлык на ' mkvInfo.exe' и в его свойствах, в строку запуска добавить этот ключ. Так же есть возможность ссылаться не на весь файл целиком, а на его произвольную часть. Для этого в файле глав надо указать ссылку (идентификатор) на нужный файл в тэгах ' ' и указанный промежуток будет подцепляться из внешнего файла. Префикс ' 0x' перед каждой цифрой не обязателен. Так же не обязательно указывать ссылку на сам внешний файл, т.е. Строка ' ' в примере ниже не обязательна.

Время начала всегда определяется в пределах локальной шкалы видео из которого берется фрагмент. Ввод исходных данных осуществляется в верхнем окне при помощи вызова пункта ' add' контекстного меню либо просто перекинув нужные файлы в это окно.

Далее нужно сформировать выходные потоки. Для это достаточно просто дважды кликнуть мышкой по нужному файлу с списке и он будет добавлен в нижний список выхода в виде составляющих его потоков (видео+аудио). Если нужно объединить несколько фрагментов, то можно выделить два нужных фрагмента и более и нажать кнопку ' generate data source from files'. Эта же кнопка работает и для одного файла. При загрузке звука он автоматически добавляется в выходной поток. Кликнув в списке выхода кликнув по аудио в правой части программы активируется окно ' delay (ms):' где можно выставить задержку в миллисекундах. В окне списка выходных потоков галочками отмечаем нужные.

Удаление файлов из списка источников осуществляется так же при помощи пункта ' remove' контекстного меню. Если поток используется в выходе, то при удалении программа предупредит об этом. Сохранение результата осуществляется кнопкой ' start'. MP4Box является консольной программой, которая входит в состав проекта.

Распространяется в исходниках. Для работы с ней нам понадобится графическая оболочка -. Скачать надо только версию с инсталлятором, т.к. Она включает в себя скомпилированный MP4Box. В состав Yamb входит какая-то древняя библиотека MediaInfo.dll.

В результате программа не видит субтитры, например, в распространенных на трекере релизах для Apple TV (.M2V). Чтобы увидеть дорожки субтитров надо скачать и заменить в паке установки YAMB эту библиотеку Отредактировано Мikky72. Пояснения:. ' Extract to Raw format' - извлечь поток без упаковки в какой либо контейнер. ' Exctract All Streams to Raw Format' - извлечь все потоки без упаковки в какой либо контейнер. ' Extract to MP4' - извлечь поток и упаковать в контейнер MP4.

' Exctract to AVI' - извлечь поток и упаковать в контейнер AVI. ' Extract to OGM Text Format' - извлечь текстовый поток в формате OGM Text Format. ' Extract to CUESheet Form' - извлечь текстовый поток в формате CUESheet Form. Жмем ' Next' и наблюдаем за процессом. Для работы с контейнером TS будем использовать удобный инструмент. Последнюю версию можно скачать.

Изначально программа разрабатывалась компанией, но в какой то момент они резко открестились от продукта. Последней разработанной ими версией была. Именно она описана в инструкции. Для разложения на потоки содержимого Blu-Ray диска настоятельно рекомендуется использовать программу, т.к. В ситуации, когда фильм состоит из кусков, она более грамотно компенсирует разницу в длине видео и аудио потоков фрагментов с целью избежать рассинхронизации видео и звука. В случае когда Blu-Ray-исходник разбит на несколько m2ts-файлов нужно загружать не конкретный m2ts-файл, а список воспроизведения в папке BDMV PLAYLIST ( mpls-файлы). Какой именно mpls-файл нужен подскажет программа.

В нижней части программы выставляем формат, который хотим получить. ' TS muxing' - результат в контейнере TS. ' M2TS muxing' - результат в контейнере M2TS (контейнер для формата AVCHD). ' Blu-ray disk' - результат в виде структуры папок диска Blu-ray (формат BDMV). ' AVCHD disk' - результат в виде упрощенной структуры папок диска Blu-ray (формат BDMV) для записи на обычную DVD болванку. ' Demux' - результат в виде отдельных потоков (видео/аудио/субтитры).

' KB' - в килобайтах (1 килобайт = 1000 байт). ' KiB' - в кибибайтах (1 кибибайт = 1024 байт).

' MB' - в мегабайтах (1 мегабайт = 1000 килобайт). ' MiB' - в мебибайтах (1 мебибайт = 1024 кибибайт). ' GB' - в гигабайтах (1 гигабайт = 1000 мегабайт). ' GiB' - в гибибайтах (1 гибибайт = 1024 мебибайт) Раздел ' Cutting' - вырезание части: Чтобы вырезать фрагмент нужно активировать режим - поставить галочку на 'Enable cutting'. Далее указываем начало 'Start' и конец 'End' фрагмента в изменяемых величинах. Изменение битрейта На вкладке ' General' доступны опции изменения битрейта:. ' Mux VBR' - преобразование битрейта не производится.

' Restricted VBR' - битрейт ограничивается минимумом ' Min bitrate' и максимумом ' Max bitrate'. ' Mux CBR' - битрейт устанавливается равный постоянному значению. Опция ' VBV Buffer size' позволяет выставить размер буфера медиапотока в миллисекундах, т.е. Кусок какой продолжительности хранится в запасе на случай каких то проблем с доступом к носителю информации.

В основном актуально для трансляций. Опция ' Restore cropped video to full size' - помогает восстановить видео с несоответствующим разрешением до полного кадра. При необходимости добавляются черные полосы.

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