У меня есть файл, который заканчивается на .ts, который, согласно Википедии, является Файл MPEG2. Я никогда не сталкивался с подобным файлом, поэтому я хочу, чтобы он был в более распространенном формате / контейнере для использования на нескольких устройствах.
Я склонен рекомендовать оставлять файлы в их исходном состоянии, так как любое преобразование может привести к потере. То .ts
видеоформат - это контейнер формат MPEG, известный как "Транспортный поток", который наиболее часто используется системами цифрового вещания (цифровое кабельное, спутниковое и т.д.). Многие приложения не знакомы с тем, как его декодировать, поскольку он имеет формат мультиплексирования, сильно отличающийся от более обычного контейнера MPEG, известного как "Программный поток", который используется на DVD-дисках и который создается многими картами кодирования. Разница между TS и PS заключается только в том, как построена структура пакета; данные A/V внутри него одни и те же.
Чтобы обеспечить лучшую совместимость, я рекомендую преобразовать контейнер из TS в PS. Практически каждое программное обеспечение, способное декодировать TS, может декодировать PS, поэтому почти всегда лучше иметь PS-файл. Один из самых простых инструментов ремуксирования, которые я нашел для использования, - это avidemux
. Просто выберите "копировать" для видео- и аудиопотоков и выберите формат контейнера "PS" для MPEG:
Затем просто сохраните результат. Это также можно сделать с помощью ffmpeg
. Вам просто нужно выбрать копировать кодек для каждого типа потока:
ffmpeg -i input.ts -vcodec copy -acodec copy output.mpg
Файлы .TS технически являются просто файлами MPEG2. Вы можете использовать практически любой конвертер (avidemux, handbrake или даже напрямую ffmpeg).
Но единственной причиной для этого может быть размер файла. Файлы Mpeg2 воспроизводятся практически везде.Единственная запутанная часть - это фактическое расширение файла.
Вы можете безопасно и свободно переименовывать их в .mpeg
пс. Превратив его в Matroska, которую вы только что создали, людям на других системах будет очень сложно воспроизвести этот файл. Я понимаю, что нужно выбрать бесплатный кодек, а затем выбрать подходящий контейнер, но если вы сохраняете его в формате MPEG2, зачем менять контейнер на что-то относительно непонятное?
От взгляда на это темы форумов Я могу превратить его в файл matroska, который я уже использую.
ffmpeg -i input.ts -vcodec copy -sameq -acodec copy -f matroska output.ts
Я смог закодировать это, несмотря на эта информация> кажется, это указывает на то, что мне нужно было скомпилировать ffmpeg из исходного кода. Недостатком этого является то, что он не кодирует файл, поэтому размер файла такой же, как у файла MPEG2. Дополнительные ответы с рекомендациями по кодированию .ts-MPEG4 помогли бы мне.
На самом деле файлы .ts создаются тюнерами DVB-S / DVB-S2, способными записывать потоки транспондеров, и могут содержать mpg2 AC3 AAC h264 mp3, а также другие данные, например телетекст или EPG .. файлы ts содержат в большинстве случаев только AV-данные, но не ограничиваются этим. VLC может воспроизводить файлы ts напрямую и предоставлять вам некоторую информацию о некоторых потоках в нем.Я лично использую спутниковый тюнер, который записывает HD-каналы в файлах .ts (видео h264 и в большинстве случаев несколько аудиопотоков AAC mp3 mpg2). Таким образом, в основном файлы .ts могут содержать много разных вещей, это просто формат контейнера, созданный для отправки цифровых трансляций по свободным носителям. VLC также может конвертировать между форматами (я сам это делал)
Обычно я использую HandBrake для преобразования всех видов видеофайлов в формат, совместимый с iPhone. Возможно, вы сможете использовать его для преобразования файлов .ts в MP4. Проверять этот ручной тормоз PPA чтобы установить его.
Обработка файлов TransportStream, создаваемых регистраторами DVB-S, зависит от содержащегося в них видео- и аудиопотока. Для материала в качестве SD, вероятно, вы можете использовать цепочку инструментов, состоящую из ProjectX и mplex, для преобразования потока в стандартный контейнер MPEG. Если видеопоток HD, попробуйте MKVMerge преобразовать его в файл MKV. Оба способа подробно описаны это сообщение в блоге.
То ffmpeg
программа устарела в пользу avconv
.
Вы можете передать те же аргументы в avconv
для преобразования из транспортного потока в программный поток mpeg или matroska.
MPEG:
avconv -i input.ts -acodec copy -vcodec copy output.mpg
Матроска:
avconv -i input.ts -acodec copy -vcodec copy output.mkv
Старый вопрос, но в 2016 году с “обычными” кодеками Ubuntu обычные проигрыватели, такие как VLC и SMPlayer, могут воспроизводить файлы “.ts” как таковые, и, возможно, их следует оставить в покое, тем более, что при попытке решения с наибольшим количеством голосов результат был не слишком хорошим… - Я чувствую необходимость переименовать расширение в “mpeg” просто чтобы получить правильный значок видео для них.
@ cipricus Опубликует это как ответ, и я приму его как новый принятый ответ.
Такого рода файлы мы обычно получаем при записи непосредственно с безымянного декодера спутникового телевидения “China” на флэш-накопитель USB. Таким образом, этот вопрос актуален в Западной Африке, когда вы пытаетесь извлечь файл из декодера для воспроизведения на каком-либо другом устройстве.
файл ts
может быть воспроизведен непосредственно медиаплеером VLC. Вы также можете объединить ts
в один большой файл ts
с помощью cat *.ts > big.ts
(здесь вам может понадобиться использовать индексный файл m3u8
, чтобы получить ts
в порядке, если имя `ts’ не в порядке).Вы также можете перенести их в mp4 с помощью “cat *.ts | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4”. Обратитесь к моему ответу здесь.