Talvez a ferramenta mais fácil seja ffmpeg
ou avconv
do pacote libav-tools
. Libav é uma bifurcação do FFmpeg, que o Ubuntu mudou para alguns anos até o Ubuntu 15.04. É um dos backends para muitas das ferramentas GUI mencionadas em outras respostas.
A alteração do contêiner sem o novo conteúdo de reencenação não poderia ser mais simples:
ffmpeg -i input.mkv -codec copy output.mp4
-
Ele detecta automaticamente uma conversão de contêiner Matroska para MP4 com base em nomes de arquivos de entrada / saída.
-
-codec copy
stream copia, ou "re-muxes", os fluxos da entrada para a saída sem re-codificação. Pense nisso como copiar e colar. -
O comportamento padrão de seleção de fluxo é selecionar apenas um fluxo por tipo de fluxo. Por exemplo, se sua entrada tiver dois fluxos de vídeo e um fluxo de áudio, somente o fluxo de vídeo com o maior tamanho de quadro será selecionado. Adicione
-map 0
se você quiser selecionar todos os fluxos da entrada. -
Alguns contêineres podem não suportar alguns formatos. Então verifique se o formato container escolhido, seja
mkv
,mp4
ou mesmoavi
tem suporte para todos os conteúdo em seus arquivos (vídeo, áudio, legendas, dados, etc). Por exemplo,mp4
não suporta legendas SubRip (.srt
files).