Convertendo vários segmentos de vídeo TS em arquivos H.264

Convertendo vários segmentos de vídeo TS em arquivos H.264

Tenho muitos diretórios de arquivos de fragmentos de vídeo TS que gostaria de converter para H.264 em arquivos MP4. Cada diretório consiste em vários fragmentos que compõem um único vídeo, e há um arquivo de índice m3u8 para sequenciar todos eles.

index.m3u8       
segment1_0_av.ts 
segment2_0_av.ts 
segment3_0_av.ts 
segment4_0_av.ts 
segment5_0_av.ts 
segment6_0_av.ts 
segment7_0_av.ts 
segment8_0_av.ts 
segment9_0_av.ts

Estou em um Mac e posso usar o homebrew para instalar o que for necessário. Qual é a linha de comando que posso usar para converter o arquivo acima em um único arquivo H.264? Uma linha de comando me permitiria criar um script para converter automaticamente várias pastas posteriormente.

Responder1

Você precisa mesclar os segmentos primeiro e depois codificar. Os arquivos TS podem ser mesclados simplesmente concatenando-os. Então tente:

$ cat segment*.ts > onefile.ts
$ ffmpeg -i onefile.ts -c:v libx264 -preset medium -tune film -crf 23 \
    -strict experimental -c:a aac -b:a 192k output.mp4

No exemplo acima, você obviamente precisa obter "ffmpeg" do homebrew ou macports ou de binários OSX que estão disponíveis gratuitamente.

Altere "-crf 23" para um número inteiro menor em duas etapas 21,19, ... para maior qualidade, se você não estiver satisfeito com os resultados - mas o padrão 23 deve servir. Porém, não vá abaixo de 16, porque isso é "praticamente sem perdas" para os padrões normais de percepção humana.

Divirta-se.

informação relacionada