Como faço para converter arquivos .ts em algo útil?

51

Eu tenho um arquivo que termina em .ts, que de acordo com a wikipedia é um arquivo MPEG2 . Nunca encontrei um arquivo como esse, por isso quero que ele esteja em um formato / contêiner mais comum para usar em vários dispositivos.

Jorge Castro
fonte
11
Pergunta antiga, mas em 2016 com codecs 'normais' do Ubuntu, players comuns como VLC e SMPlayer podem reproduzir .tsarquivos como tal, e talvez eles devam ser deixados em paz, especialmente se, ao tentar a solução mais votada, o resultado não foi muito bom ... - Eu sinto a necessidade de mudar o nome da extensão para mpegapenas para obter um ícone de vídeo adequada para eles.
@cipricus Poste isso como uma resposta e eu a aceitarei como a nova resposta aceita.
Jorge Castro
Normalmente, esse tipo de arquivo é obtido ao gravar diretamente de um decodificador de TV por satélite "China" sem nome para uma unidade flash USB. Portanto, essa pergunta é relevante na África Ocidental, ao tentar retirar o arquivo do decodificador para reproduzir em outro dispositivo.
Martin Zaske
tsO arquivo pode ser reproduzido diretamente pelo VLC media player. Você também pode concat tss para um tsarquivo grande cat *.ts > big.ts(aqui você pode precisar usar o arquivo de índice m3u8para obter o tsordre se o tsnome não estiver em ordem). Você também pode transferi-los para mp4 com cat *.ts | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4. Consulte a minha resposta aqui .
Kris Roofe

Respostas:

33

Arquivos .TS são tecnicamente apenas arquivos MPEG2. Você pode usar praticamente qualquer conversor (avidemux, handbrake ou até ffmpeg diretamente).

Mas o único motivo para isso seria o tamanho do arquivo. Os arquivos MPEG2 são reproduzidos em praticamente todos os lugares. A única parte confusa é a extensão do arquivo real.

Você pode renomeá-los com segurança e livremente para .mpeg

PS. Ao transformá-lo em Matroska, você acabou de tornar muito difícil para as pessoas em outros sistemas poderem reproduzir o arquivo. Entendo escolher um codec livre e depois escolher o contêiner apropriado, mas se você o mantém no MPEG2, por que mudar o contêiner para algo relativamente obscuro?

Ralf
fonte
Obrigado por esclarecer tudo isso! Renomear parece ser exatamente o que eu precisava para que os players de vídeo reconhecessem o arquivo.
Jorge Castro
35
Um arquivo .ts é um 'fluxo de transporte' MPEG; não é o mesmo contêiner que um 'fluxo de programa' (normalmente .mpeg). Resolução não tem nada a ver com isso. Os fluxos de transporte podem conter vários grupos independentes de vídeo / fluxos e ter uma carga de dados de correção de erros (aumentando os arquivos .ts). Eles geralmente são usados ​​para sistemas de transmissão em que vários canais são multiplexados e o meio de transmissão pode não ser confiável. Para uso no PC, onde a integridade do arquivo é (espero) garantida, você economizará espaço e melhorará a compatibilidade convertendo para um fluxo de programa.
22910
23
Esta resposta está errada. Existem dois formatos de contêiner diferentes para MPEG: MPEG-PS (fluxo de programa) e MPEG-TS (fluxo de transporte). Os arquivos MPEG-PS podem ser .mpeg, .mpg, .vob etc. Os arquivos MPEG-TS podem ser .ts, .mts ou qualquer outra coisa. Você não pode simplesmente alterar a extensão do arquivo para converter entre eles. Mas você pode mudar o mux de um para o outro sem perder a qualidade, mantendo os mesmos fluxos de vídeo / áudio codificados de um formato de contêiner para outro. BTW, a sugestão de Ralf pode parecer funcionar, mas apenas em players de mídia que ignoram a extensão do arquivo e suportam os dois formatos de qualquer maneira.
thomasrutter
A resposta de Kees Cook é a que eu recomendaria seguir.
thomasrutter
8
De acordo com quem MKV é "obscuro"?
Andrea Lazzarotto
41

Costumo recomendar deixar os arquivos em seu estado original, pois qualquer conversão tem a chance de introduzir perdas. O .tsformato de vídeo é um formato de contêiner para MPEG, conhecido como "Transport Stream", que é usado com mais frequência pelos sistemas de transmissão digital (cabo digital, satélite, etc.). Muitos aplicativos não estão familiarizados com a decodificação, pois ele possui um formato de multiplexação muito diferente do contêiner MPEG mais convencional conhecido como "Fluxo de Programa", que é o que é usado em DVDs e o que é produzido por muitas placas de codificação. A diferença entre TS e PS é apenas como a estrutura de pacotes é construída; os dados A / V dentro dele são os mesmos.

Para obter uma melhor interoperabilidade, recomendo converter o contêiner de TS para PS. Praticamente todo software que pode decodificar TS pode decodificar PS, por isso é quase sempre melhor ter um arquivo PS. Uma das ferramentas mais simples de remuxar que encontrei para usar é avidemux. Basta escolher "copiar" para os fluxos de vídeo e áudio e escolher o formato de contêiner "PS" para MPEG:

avidemux

Em seguida, salve o resultado. Isso também pode ser feito usando ffmpeg. Você só precisa selecionar o codec de cópia para cada tipo de fluxo:

ffmpeg -i input.ts -vcodec copy -acodec copy output.mpg
Kees Cook
fonte
Como ver os comandos ffmpeg do Avidemux !?
Dr.jacky
2
AFAIKT, a conversão com esse comando realmente introduziu perda. Manter o arquivo como está parece ser a melhor opção, desde que haja um jogador que possa reproduzi-lo e todos os meus jogadores. Só falta um ícone adequado: e isso pode ser resolvido renomeando a extensão para 'mpeg'.
5

Olhando para este tópico do fórum , posso transformá-lo em um arquivo matroska, que eu já uso.

 ffmpeg -i input.ts -vcodec copy -sameq -acodec copy -f matroska output.ts

Eu era capaz de codificar isso, apesar dessas informações, o que parece indicar que eu precisava compilar o ffmpeg a partir da fonte. A desvantagem disso é que ele não codifica o arquivo, portanto o arquivo é tão grande quanto o arquivo MPEG2. Mais respostas com recomendações para a codificação .ts-> MPEG4 me ajudariam.

Jorge Castro
fonte
Veja rob.opendot.cl/index.php/useful-stuff/… para obter exemplos da libx264 (convertendo para MPEG-4 AVC aka H.264). Ou use o Avidemux, o WinFF, etc., se você quiser uma boa interface do usuário.
quer
5
-sameq não faz nada ao usar "copy" como codec. Além disso, geralmente não significa o que as pessoas pensam que significa - não preserva a mesma "qualidade", por exemplo, mas o mesmo fator "q".
thomasrutter
6
Além disso, não há razão para o arquivo de saída ter uma extensão ".ts". "output.mkv" seria mais apropriado e menos enganoso.
thomasrutter
@bobince Como ver os comandos ffmpeg do Avidemux !?
Dr.jacky
3

Na verdade, os arquivos .ts são criados por sintonizadores DVB-S / DVB-S2 capazes de gravar fluxos de transponder e podem conter mpg2 AC3 AAC h264 mp3, além de outros dados, como teletexto ou EPG. Os arquivos .ts contêm, na maioria dos casos, apenas dados AV, mas não se limitam a isso. O VLC pode reproduzir arquivos ts diretamente e fornecer algumas informações sobre alguns dos fluxos. Pessoalmente, estou usando um sintonizador de satélite que grava canais HD em arquivos .ts (vídeo h264 e, na maioria dos casos, vários fluxos de áudio AAC mp3 mpg2). Então, basicamente, os arquivos .ts podem conter muitas coisas diferentes. É apenas um formato de contêiner criado para enviar transmissões digitais em mídias soltas. O VLC também pode converter formatos entre os dois (eu mesmo fiz isso)

popo
fonte
11
Adicione detalhes sobre o processo de conversão.
Anwar #
11
As informações sobre os formatos TS parecem boas, mas nenhuma informação é fornecida sobre o processo de conversão real.
thomasrutter
1

Eu costumo usar o HandBrake para converter todos os tipos de arquivos de vídeo para o formato compatível com o iPhone. Talvez você possa usá-lo para converter os arquivos .ts em MP4. Verifique este PPA do HandBrake para instalá-lo.

animador
fonte
0

O manuseio dos arquivos TransportStream produzidos pelos gravadores DVB-S depende do fluxo de vídeo e áudio contido. Para material com qualidade SD, é provável que você possa usar uma cadeia de ferramentas composta por ProjectX e mplex para converter o fluxo em um contêiner MPEG padrão. Se o fluxo de vídeo for HD, tente o MKVMerge para convertê-lo em um arquivo MKV. Ambas as formas são descritas em detalhes nesta postagem do blog .

Stephan Windmüller
fonte
-2

O ffmpegprograma foi descontinuado em favor de avconv.

Você pode passar os mesmos argumentos para avconvconverter do fluxo de transporte para o fluxo de programa mpeg ou matroska.

MPEG:

avconv -i input.ts -acodec copy -vcodec copy output.mpg

Matroska:

avconv -i input.ts -acodec copy -vcodec copy output.mkv

Casey Watson
fonte
5
Por curiosidade, reprovado por quem?
Thorbjørn Ravn Andersen
8
O Avconf é um fork do ffmpeg que ainda está vivo e está ativamente desenvolvido. Não acredite no FUD que o libav.org está divulgando. Veja por si mesmo: ffmpeg.org e libav.org
thom