Работа с форматом AVCHD. Часть 2 – программа SmartLabs tsMuxeR
Работа с форматом AVCHD. Часть 2 – программа SmartLabs tsMuxeR
В первой части нашего цикла мы рассмотрели общие вопросы, касающиеся формата AVCHD, а также несколько программ для его просмотра. Теперь рассмотрим процесс обработки данного формата на примере одной из программ: tsMuxeR.
Программа tsMuxeR, созданная российской компанией SmartLabs, является весьма полезным инструментом при работе с видео в формате AVCHD. Список основных возможностей программы:
Микширование (сборка) транспортных потоков и обратная операция — разделение на элементарные потоки (видео, звук)
Нарезка файлов на фрагменты с указанием длительности
Склейка произвольного количества файлов в один результирующий
Исходные данные (видео, звук) не перекодируются, что гарантирует сохранение качества материалов и быструю обработку
Возможность создания на выходе не только файла, но и готового набора файлов для записи BluRay-диска
Возможность создания и т.н. AVCHD-диска, для записи на обычную DVD-болванку
Поддержка всех основных видео- и звуковых форматов стандарта BluRay, в том числе AVC/H.264, MPEG2 и VC-1 для видео и AC3 (Dolby Digital), DTS, AAC, LPCM для звука
На входе, помимо MPEG2 Transport Stream, поддерживаются форматы контейнеров MKV (matroska) и MP4
Многоплатформенность — имеются версии для Windows, Linux и Mac
Плюс, несомненным достоинством программы является ее бесплатность без каких-либо ограничений функциональности. Программистам может быть интересно то, что доступны исходные коды для графической оболочки программы.
Полный список возможностей представлен на русскоязычном сайте программы. Там же можно загрузить ее самую свежую версию. Обмениваться опытом и задать вопросы по использованию программы можно в Конференции iXBT.
Начало работы
После загрузки архив с программой необходимо распаковать в какую-либо папку. Инсталлятора программа не имеет. Изначально она, по всей видимости, существовала только как утилита командной строки — собственно tsMuxeR.exe. Инструкция по ее использованию приведена в прилагаемом файле readme.rus.txt. Желающие узнать технические подробности могут изучить этот файл, мы же сразу запустим графическую оболочку — tsMuxerGUI.exe. Большинству пользователей будет все же удобнее пользоваться именно оболочкой, и ее возможностей достаточно для осуществления основных операций по теме данной статьи.
Сразу хотим предупредить, что графическая оболочка — все-таки не программа «для домохозяек», но даже не с точки зрения простоты использования (с этим как раз особых сложностей нет), а с точки зрения отработки различных «нештатных» действий пользователя. Проявляется это достаточно редко, но иногда, бывает, программу можно «загнать в тупиковую ситуацию», необдуманно нажимая кнопки, особенно «Remove».
Добавление файлов
Окно программы состоит из нескольких закладок. Первая — Input, является основной: в ней добавляются входные файлы (например, с AVCHD-видеокамеры). В остальных закладках можно пока оставить все параметры по умолчанию, к ним мы обратимся позже.
Кнопка Add предназначена для добавления видеофайла. Как было сказано выше, он может иметь формат контейнера MPEG2 Transport Stream, MP4 и MKV (matroska). Последний нам в данной статье не пригодится, но желающие могут попробовать с ним поработать самостоятельно.
При добавлении файла программа сразу же его анализирует, и если по каким-либо причинам не может его добавить в список, выдает соответствующее сообщение. Попробуем для начала испытать программу «на всеядность». Для этого добавим в нее видео с нескольких разных видеокамер.
Программа успешно смогла открыть видео со следующих видеокамер: Canon HF10, Canon HF100, Panasonic HDC-HS9, Panasonic HDC-SD1, Sony CX-12, Sony HDR-SR7, Sanyo Xacti HD700 (последний в контейнере MP4).
А вот видео с камеры JVC GZ-HD7 испытываемая версия 1.9.9 программы не смогла открыть, сообщив, что часть видеопотоков открыть не может, и открыла только звук. Надеемся, что в будущих версиях это будет исправлено, а пока от автора поступили сведения, что расширение файла должно соответствовать формату контейнера, иначе программа может неправильно определить формат файла. В данном случае пришлось сменить расширение файла с MPG на M2TS, и программа правильно открыла и этот файл.
Для некоторых файлов может потребоваться перепаковка в контейнер Transport Stream с помощью, например, конвертора в плеере VLC (http://www.videolan.org/).
Можно сразу же заметить, что в файловом диалоге, который появляется по кпоке Add, можно выбрать только один файл за раз. Как же объединить сразу много файлов в один, ведь с AVCHD-видеокамеры обычно получается сразу много файлов? Ответ прост: нужно выбрать нужные файлы в Проводнике Windows и перетащить их мышью в окно программы, прямо в список входных файлов. Каждый файл будет при этом добавлен в виде отдельной «дорожки» (track), или раздела (это имеет значение при создании BluRay или AVCHD-диска, см. ниже). После добавления нескольких файлов окно программы выглядит так:
Со списком Input files все понятно — это список входных файлов. А что представляет собой список Tracks? В нем перечислены все потоки данных во входных файлах — видео и звук. Для каждого потока данных показано, какому файлу он соответствует, и формат сжатия данных. Чтобы было удобнее рассмотреть список потоков данных и информацию о форматах, окно программы можно растянуть.
Если щелкнуть по какому-либо потоку данных, то ниже списка будут показаны опции, которые можно осуществить для видео или звука. В нашем случае можно всё оставить по умолчанию. Разве что можно выбрать звуковые потоки и в списке Language выбрать язык дорожек — rus (Russian). Странно, что в списке можно выбрать сразу много дорожек, но опции при этом применяются только к одной, и для смены языка придется по очереди выбрать каждую звуковую дорожку и по очереди сменить язык у всех них. Возможно, это недоразумение будет исправлено в будущих версиях программы.
Также нужно быть аккуратным с кнопками удаления «Remove» — если удалить какие-либо потоки данных из списка Tracks, то исходные файлы из списка удалены не будут. Но при сохранении результата файлы, которым не соответствуют никакие дорожки, в формировании результирующих файлов участвовать не будут.
Выбор выходного формата
Еще ниже показан список выходных форматов для сохранения результата: TS, M2TS, BluRay, AVCHD, Demux. Первые два — это сохранение результата в файл с форматом контейнера MPEG2 Transport Stream. Формат M2TS соответствует формату контейнера AVCHD-видеокамер. По информации от автора программы, M2TS имеет по сравнению с форматом TS дополнительный 4-байтовый заголовок перед основным 188-байтовым TS-фреймом. Таким образом, размер фрейма становится 192 байта. M2TS также используется в AVCHD и Blu-Ray-дисках.
Если планируется просмотр видео только в компьютере с помощью программных плееров, то можно выбрать любой из этих форматов. Если же нужно создать видео для просмотра на стационарном плеере, то необходимо знать, какой из форматов он точно поддерживает (лучше всего установить это экспериментально). Если он воспроизводит видео, взятое прямо с AVCHD-камеры, то, скорее всего, лучше сохранять в формат M2TS.
Форматы BluRay и AVCHD позволяют на выходе сгенерировать файлы, соответствующие формату BluRay-диска (если точнее, формату BDMV). Формат AVCHD следует использовать, если полученные файлы требуется записать на обычную DVD-болванку. Этот формат означает примерно то же, что и BluRay, при этом не создаются некоторые «лишние» файлы и папки, необходимые для BluRay по стандарту, но необязательные для AVCHD DVD-диска (также есть и некоторые отличия в служебных файлах). Диски в таком формате воспроизводит большинство BluRay-плееров (например, Sony PlayStation 3), но для их создания не требуется пока еще относительно дорогостоящих записывающего BluRay-привода и чистых BluRay-дисков.
Существует еще одно важное ограничение: если вы собираетесь смотреть AVCHD-диск со стационарного плеера с оптическим приводом, имейте ввиду, что максимальный поток чтения данных с DVD-диска может быть не более 17-18 мегабит/сек. Некоторые современные AVCHD-камеры позволяют снимать видео с потоком 24 мегабита/сек, и видео с таким потоком можно смотреть либо только в компьютере, либо с плеера с жестким диском, либо записывать его на BluRay-диск, но не DVD.
Последний вариант вывода — Demux, демикширование (разделение) входных файлов на отдельные (элементарные) потоки: видео и звук. Этот вариант вывода будет рассмотрен отдельно. Пока что более подробно остановимся на создании BluRay и AVCHD.
Создание BluRay и AVCHD-дисков
Как уже было сказано выше, если добавить много файлов в список Input Files, то каждый из них на результирующем диске будет добавлен в один раздел, или дорожку (track). Но при этом файлы будут рассмотрены как совместные потоки данных, воспроизводящиеся параллельно (например, видео и несколько потоков звука). Что делать, если хочется много файлов объединить в один раздел на диске, но как последовательные данные?
Для этого предназначена кнопка Join. Перед тем, как ее нажимать, следует выбрать уже имеющийся в списке файл, к которому нужно добавить дополнительные фрагменты. Однако, в файловом диалоге по кнопке Join также можно добавлять файлы только по одному. Если хочется добавить много файлов сразу, необходимо их выбрать в Проводнике Windows и перетащить не в список, а прямо на кнопку Join:
Как видите, после этого в списке дорожек по-прежнему только два потока данных, которые появились после добавления первого файла. Файлы, добавленные в дополнение к уже имеющемуся первому, обозначены в списке Input Files знаком «++» в начале.
Аналогично можно создать произвольное количество разделов с любым количеством файлов. Теперь рассмотрим, что находится в других закладках окна программы.
В закладке General находятся настройки, относящиеся к микшированию транспортного потока. Лучше всего оставить все значения по умолчанию — в частности, режим Mux VBR (сборка потока с переменным битрейтом).
Закладка BluRay более интересна. В ней находятся настройки, отвечающие за расстановку глав (Chapters) в полученном диске. Эти главы аналогичны по смыслу тем, что используются в дисках DVD Video.
Можно выбрать режим No chapters, тогда главы расставляться не будут. В режиме Insert chapter every N minutes можно выбрать, через сколько минут автоматически добавлять главы. В режиме Custom chapters list метки времени начала глав можно задать вручную (в формате «часы:минуты:секунды.миллисекунды»).
Закладка Split & Cut относится к автоматической «нарезке» файлов, об этом будет сказано ниже.
Закладка Subtitles позволяет добавить субтитры из отдельного файла (как утверждается на сайте программы, поддерживаются субтитры в форматах M2TS Presentation graphic stream и SRT). В ней же можно для субтитров задать шрифт, цвет текста, размер дополнительного бордюра в пикселах, а также положение субтитров на экране.
Закладка About содержит информацию о программе и ее создателях.
В группе Output внизу окна осталось только выбрать выходной формат (например, AVCHD disk) и папку, в которую нужно поместить результат. После этого останется только нажать кнопку Start muxing и дождаться окончания процесса. При этом никакого пересжатия видео и звука не происходит, поэтому создание выходных файлов происходит довольно быстро (конечно, время зависит от объема входных файлов).
В выходной папке будет создана структура файлов и папок, необходимая для записи AVCHD-диска на DVD-болванку. В случае, если был выбран формат BluRay disk, папок и файлов будет создано несколько больше. Однако, собственно видео будет помещено в папку BDMV/Stream в файлы с расширением m2ts. Количество файлов будет зависеть от параметров «нарезки» в закладке Split & Cut.
Полученный набор файлов останется только записать на чистый диск с помощью какой-либо программы для прожига болванок (Nero, ImgBurn и т.п.).
Разбиение на фрагменты
При сохранении результата можно сделать так, что выходной видеофайл будет автоматически разделен на части. Это будет осуществлено как для выходного файла в форматах контейнера TS и M2TS, так и для выходных видеофайлов в наборе для BluRay или AVCHD-диска.
Для задания параметров «нарезки» необходимо открыть закладку Split & Cut.
В группе Splitting задается размер фрагментов, на которые нужно разрезать выходной файл. Доступные режимы:
No split — не разрезать файл
Split by duration every N seconds — разрезать на фрагменты длительностью N секунд
Split by size — разрезать на фрагменты указанного размера в килобайтах, мегабайтах или гигабайтах
Здесь есть интересная особенность: для каждой единицы объема есть два варианта, например MB и MiB. По современным стандартам, MiB — «честные» мегабайты, когда считается, что в одном килобайте 1024 байт, а в одном мегабайте 1024 килобайт, и т.д. Тогда как MB — «обычные» миллионы байт. Следует отметить, что задавать объем фрагмента с точностью до килобайта или даже мегабайта не имеет особого смысла — нарезка осуществляется по границам ключевых кадров видео. Поэтому точные места разрезки программа все равно выбирает сама (хотя размер каждого файла всегда получится не более значения, указанного пользователем).
В группе Cutting можно включить «вырезание» фрагмента из исходных файлов, задавая начало и конец фрагмента в минутах, секундах либо миллисекундах. Это означает, что из каждой входной «дорожки» (track — напомним, что с помощью функции Join она может быть составлена из большого количества исходных файлов) будет выбран только заданный фрагмент.
Далее, если включена «разрезка» файлов в группе Splitting, то весь выходной транспортный поток данных будет разбит на файлы заданного размера или длительности.
Этой функцией можно пользоваться и для совсем простого случая, когда нужно разрезать всего один файл. Например, если есть m2ts-файл очень большого объема, не помещающийся на одну DVD5-болванку. С помощью данной функции можно корректно разделить файл на части заданного объема или длительности.
Разборка/сборка транспортных потоков
Последняя функция программы, которую мы еще не рассмотрели — разборка транспортных потоков на элементарные (видео, звук) и сборка их обратно. Такая операция может потребоваться, например, если необходимо из исходного m2ts-файла получить новый, в котором видео нужно перекодировать в другой формат (например, DivX или SD MPEG2 для DVD), а звук необходимо сохранить без изменений (например, в формате AC3). В таком случае программа позволяет разделить исходный поток на отдельные файлы с видео и звуком, не перекодируя их.
Добавим исходный файл с камеры в список, а внизу окна выберем режим Demux и укажем папку, в которую нужно сохранить результат.
После нажатия кнопки Start Demuxing файл будет разделен на два — видео с расширением .264 и звук с расширением .ac3 (расширения файлов зависят от форматов данных).
Если же необходимо осуществить обратную сборку, необходимо с помощью той же кнопки Add добавить элементарные потоки в список, выбрать выходной формат, указать выходную папку и нажать кнопку Start Muxing. При этом, можно собрать транспортный поток из произвольного количества видео- и звуковых потоков.
Заключение
Несмотря на то, что программа SmartLabs tsMuxeR не является видеоредактором в распространенном смысле этого слова (в ней нет даже возможности просмотра обрабатываемого видео, и, тем более, нет таймлинии для нелинейного монтажа в графическом виде), и не лишена некоторых недостатков, она вполне достойно находится в ряду программ, позволяющих успешно работать с AVCHD-видео.
И не просто работать, а получать готовый результат не только в виде файла, склеенного из исходных видеофрагментов, но и в виде набора готовых файлов для записи BluRay или AVCHD-диска. Также она является довольно удобным инструментом для обработки (сборки/разборки) транспортных потоков.