воскресенье, 29 апреля 2012 г.

TRP to MKV: перекодирование записей в формате Mpeg-4

Что нам понадобиться


a) Программы для работы с контейнерами:

H.264TS Cutter [скачать]
tsMuxeR [скачать]
MKVToolNix [скачать]
Haali Matroska Splitter [скачать] (точнее, входящую в ее комплект утилиту GDSMux)

b) Программы для обработки звука:

Adobe Audition (хотя, в принципе, хватило бы и Cool Edit'a)
Total Audio Converter [скачать]

c) Вспомогательные программы:
Avisynth [скачать]
VirtualDub [скачать] или VirtualDubMod [скачать]

Порядок действий


1) Конвертируем TRP в TS.
Вопреки расхожему в интернете мнению, TS - это не тоже самое, что TRP. Поэтому просто переименовать TRP в TS - это не решение. Существует много транспортных контейнеров таких как TS, M2TS, TRP, REC и т. д., все они имеют отличия, хотя цель их использования одна - исправления ошибок транспортных средств, будь то плохой сигнал со спутника или царапины на Blu-ray диске. Поэтому в транспортные контейнеры добавлено много дополнительных meta-данных, значительно увеличивающих их объем по сравнению с другими контейнерами типа AVI или MKV.
По идее, перевести TRP в TS (т. е. сделать remux) - задача не сложная, но почему-то я кроме программ H.264TS Cutter и TS Doctor больше нигде такой функции не нашел (для Mpeg-2 в контейнере TRP, вроде, еще программа Mpeg-VCR подходит, не проверял). В нашем случае этого достаточно, поскольку для TRP, содержащего видео в H.264, подходит H.264TS Cutter, а для TRP, содержащего видео в Mpeg-2, подходит TS Doctor. Наоборот сделать, причем, не сработает.

2) Извлечь звуковой поток из TS и положить его в MPA.

3) Извлечь видеопоток из TS и положить его в MKV.
Дело в том, что MKVMerge (из пакета MKVToolNix), которой собирается конечный MKV-файл, не работает с файлами TS, поэтому нужно создать промежуточный MKV с исходным видеопотоком. В принципе, если Вы ничего не собираетесь делать со звуком, пункт 2 можно было бы пропустить, а в промежуточный MKV-файл добавить и звуковой поток.

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

5) Кодируем звук в AAC

6) Собираем MKV-файл.

Инструкция


1) Запускаем H.264TS Cutter. Выбираем Tools->"Convert TRP/REC -> TS". Выбираем наш TRP-файл. Программа попросит выбрать аудио и видеопотоки, нужно просто всё подтвердить и указать место для сохранения файла TS.





2) Запускаем TSMuxer GUI. Нажимаем кнопку Add, выбираем наш TS-файл. В списке "Tracks" оставляем галочку только на звуковой дорожке (там где кодек "MPEG Audio"). Параметр "Output" выбираем "Demux". Выбираем путь для сохранения файла, нажимаем кнопку "Start muxing". В итоге имеем MPA-файл.


3) Запускаем gdsmux.exe (находится в папке, куда была установлена программа Haali Matroska Splitter). В рабочем поле программы нажимаем правую кнопку мыши, выбираем "Add source...". В появившемся списке оставляем галочку только на видеопотоке (с MP2 галочку снять). Выбираем путь для сохранения файла, нажимаем кнопку "Start". В итоге имеем MKV-файл с исходным изображением.



4) (необязательно) Запускаем Adobe Audition. У меня в списке на открытие файлов MPA-файл почему-то не отобразился. При этом через выделение файла, а затем "Открыть с помощью..." файл открылся без проблем.



a) Конвертирование в моно. Нажимаем клавишу F11, выбираем параметры (звук mono, взять с левого канала 100%, с правого 0%, 16 бит (хотя можно и 32 бита оставить).



b) Увеличиваем амплитуду. Выбираем Effects->Amplitude and Compression->Amplify. Выбираем нужное количество децибел. Чтобы узнать сколько децибел добавить, лучше всего выбрать фрагмент с самой большой амплитудой и поэкспериментировать добавления децибел к нему, верхний предел в основном окне программы (на графике) обозначен линией, после этого всё отменить и добавить децибелы уже ко всей записи.



c) Заглушка ненужных фрагментов. Имейте ввиду, речь НЕ ОБ УДАЛЕНИИ фрагментов! Удалим мы их потом, когда вместе с видеопотоком будем редактированием заниматься. Выделяем то, что надо заглушить, выбираем Effects->Mute



Сохраняем результат в WAV файл (звук несжатый - PCM).

5) Запускаем Total Audio Converter. Если делали пункт 4, тогда перекодируем WAV-файл, если нет - MPA-файл.



6)
Примечание. Здесь нам нужно будет точно узнавать какие участки видео надо вырезать, поэтому нам понадобится программа VirtualDub (или VirtualDubMod, всё равно какая). Ею мы будем открывать наши MKV-файлы, перематывать на нужные кадры и смотреть на какой секунде кадр находится. По идее, VirtualDubMod может сам открыть MKV-файлы, но у меня он чо-то заругался, поэтому лучше установить программу Avisynth. Программа эта является интерпретатором скриптового языка, так что надо блокнотом создать файл с таким текстом:

DirectShowSource("F:\Temp\1.mkv")

В кавычках, естественно, напишите путь к своему MKV-файлу. Файл надо будет переименовать из TXT в AVS. Такой файл и откроет без проблем VirtualDub.



Запускаем mkvmerge GUI (MKVToolNix). Добавляем (кнопка "Add") наш промежуточный MKV-файл (где видео лежит) и AAC-файл.



На вкладке Global ставим галочку "Enable Splitting...", выбираем "...after Timecodes", указываем время в виде 00:00:00.000 (часы:минуты:секунды.милисекунды). Время (границы между нужными и ненужными фрагментами) мы узнаем из VirtualDub.




Если мы поставим, например, 00:00:05, это значит что в результате мы получим 2 MKV-файла - один с первыми пятью секундами видео, другой - со всем остальным. Время пишется через запятую, т.е. видео можно сразу разбить на много фрагментов. Выбираем путь для сохранения файла (файлОВ на самом деле), нажимаем кнопку "Start muxing". Получаем кучу MKV-файлов вида "...-001.mkv", "...-002.mkv" и т. д. После этого все ненужные MKV-файлы удаляем, вновь открываем mkvmerge, добавляем ("Add") первый фрагмент, затем к нему присоединяем ("Append") последующие фрагменты. Выбираем путь для сохранения файла, нажимаем кнопку "Start muxing".

В итоге имеем MKV-файл с неперекодированным видеопотоком H.264 (т. е. как со спутника, без лишних потерь) и звуком AAC.

Комментариев нет:

Отправить комментарий