Транспортный поток (TS, TP, MPEG-TS, или M2TS) является протоколом для передачи аудио и видеоданных, описанным в MPEG2 Часть 1. Цель разработки этого стандарта - мультиплексирование аудио и видеоданных и синхронизация их выхода. Транспортный поток открывает возможности для исправления ошибок транспортных средств, таких как DVB и ATSC.
TS - формат медиаконтейнера который инкапсулирует пакеты элементарных потоков и других данных.
http://ru.wikipedia.org/wiki/MPEG-TS Для пережатия этого транспортного потока в видеоконтейнер (например, в avi) проще всего воспользоваться кроссплатформенной утилитой ffmpeg.
ffmpeg
В линуксе она устанавливается одноимённым пакетом из репозиториев. В последних версиях убунты ffmpeg вытесняется утилитой avconv, сходной по синтаксису и такой же по функциональности. Не забываем также поставить набор дополнительных кодеков, имеющих ограничения на использование (патентные, конечно) в некоторых странах.
apt-get install ffmpeg avconv ubuntu-restricted-extras
В виндузе надо
перейти по ссылке и скачать последнюю сборку утилиты (рекомендую Static версию, она без дополнительных библиотек).
Команда для конвертации:
ffmpeg -i "имя файла.mts" -vcodec libxvid -qscale 1 -acodec libmp3lame -ac 2 -ab 320k "имя файла (xvid).avi"
«имя файла.mts» содержит пробелы, поэтому оно, имя, заключено в кавычки. Расширение MTS приведено в качестве примера и может быть любым. Видео будет пережато с использованием кодека XviD в максимальном качестве. Аудио - кодеком mp3, в стерео с потоком 320 килобит.
Посмотреть список доступных кодеков, библиотек и сокращений можно по команде
ffmpeg -formats
Другие опции ffmpeg можно посмотреть в справочном руководстве (в линухах - man ffmpeg)
Пример команды с расширенными параметрами:
ffmpeg -i "имя файла.mts" -vcodec libxvid -s 848x480 -maxrate 4800k -b 4000k -qmin 3 -qmax 5 -bufsize 4096 -acodec libmp3lame -ac 2 -ab 160k -y "имя файла (xvid).avi"
Пример скрипта (.bat-файла для Windows), который будет конвертировать все файлы с расширением .mts в текущем каталоге:
for %%a in ("*.mts") do ffmpeg.exe -i "%%a" -vcodec libxvid -qscale 1 -acodec libmp3lame -ac 2 -ab 320k "%%~na (xvid).avi"
pause
avconv
Как уже было сказано, в убунте avconv вытесняет ffmpeg, и последний не рекомендуется к использованию. Синтаксис во многом сходен, но есть альтернативный вариант написания правил, который лично мне кажется логичнее и нравится больше. Пример одной и той же команды:
avconv -i "имя файла.mts" -vcodec mpeg4 -s 640x360 -r 25 -q 2 -acodec copy "имя файла.avi"
avconv -i "имя файла.mts" -c:v mpeg4 -s 640x360 -r 25 -q 2 -c:a copy "имя файла.avi"
Посмотреть список доступных кодеков:
avconv -codecs
По аналогии можно посмотреть список доступных форматов (-formats), фильтров (-filters), протоколов (-protocols) и т.д. (man avconv).
Если нужно преобразовывать множество .mts-файлов в один и тот же выходной формат, пишем скрипт
#!/bin/bash
avconv -i ${1} -c:v mpeg4 -s 640x360 -r 25 -q 2 -c:a copy ${1}.avi
Называем его, например, mts2avi-640x360, делаем исполняемым и помещаем в каталог /usr/local/sbin/.
После этого станет возможен запуск из любого места:
mts2avi-640x360 имя-файла.mts
В результате работы скрипта рядом с имя-файла.mts появится отконвертированный имя-файла.mts.avi.
взято тут
http://www.it-simple.ru/?p=10756