Você pode copiar o fluxo com -codec copy
. Isso evita a etapa de decodificação e codificação do fluxo especificado, portanto, ele faz apenas demuxing e muxing, o que é útil se você quiser alterar o formato do contêiner de saída ou manipular ou adicionar metadados no nível do contêiner. A realização de uma cópia de fluxo é mais rápida que a codificação e não causará perda de qualidade.
Observe que o comportamento padrão escolhe apenas um tipo de fluxo por entrada, portanto, incluir -map 0
incluirá todos os fluxos da primeira entrada. Se você tiver apenas um tipo de fluxo para a entrada, como na pergunta acima, então -map 0
é supérfluo, mas não faz mal deixá-lo. Veja a documentação na seleção de fluxo e -map
option para mais informações.
Exemplo:
$ ffmpeg -i input.MTS -codec copy -map 0 output.mkv
Exemplo usando um bash for loop se você quiser codificar todos os vídeos em um diretório:
$ mkdir outputdir
$ for f in *.MTS; do ffmpeg -i "$f" -codec copy -map 0 outputdir/"${f%.MTS}.mkv"; done