
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.