23 de jun de 2015

Convertendo MKV para MP4 sem perda (lossless) e sem reencodar

Fazer conversão de vídeo demora muito e é um saco esperar. Atualmente, os dispositivos mais recentes (TVs, home teathers, consoles, celulares, tablets) conseguem reproduzir vários formatos e vários codecs. Entretanto, os modelos mais antigos ainda sofrem com a restrição de formatos e codecs. Por exemplo, quando você baixa um vídeo num formato (também chamado de contêiner) MKV ou MP4 e sua TV só reproduz um desses formatos, saiba que não é preciso 'reencodar' todo o vídeo e áudio. Basta fazer o chamado demux e mux, que é muito mais rápido, pois não realiza cálculos complexos para encodar (ou compactar) vídeo e áudio. Para fazer isso, você pode usar tanto o FFmpeg quanto o Libav.

Como alguns releases do Ubuntu não têm o ffmpeg (explicação detalhada em inglês [pdf]), você terá que usar o avconv (pacote libav-tools, do projeto Libav) que funciona basicamente com os mesmos parâmetros.

De MKV para MP4:

$ avconv -i input.mkv -c:v copy -c:a copy -sn output.mp4

De MP4 para MKV:

$ avconv -i input.mp4 -c:v copy -c:a copy -sn output.mkv

Fontes: