A extensão MKV é um formato de arquivo multimídia que pode conter áudio, vídeo, legendas e imagens, criado por Lasse Karkkainen e Steve Lhomme, fundador da Matroska Vídeo. Os arquivos MKV é um formato que pode incorporar vídeo, áudio e texto em um único arquivo, diferentes de outros formatos que precisam de um arquivo de vídeo (H.264), áudio (MP3) e outro para legenda (SRT).

Porém alguns servidores de stream não carregam estes tipo de formato, como o caso do servidor PLEX em modo nativo, havendo a necessidade de converter para outros formatos com maior compatibilidade.

Neste post vou apresentar um forma simples de converter arquivos MKV para MP4, que também é outra extensão que incorpora áudio, vídeo e legenda no mesmo arquivo.

Para esta conversão vou utilizar o ffmpeg , programa composto de uma coleção de software livre e bibliotecas de código aberto, com a libavcodec, biblioteca de codec de áudio e vídeo, e libavformat, um multiplexador/demultiplexador de conteúdo de áudio e vídeo, possibilitando a gravação, conversão e criação de stream de áudio e vídeo em diversos formatos.

Na mesma pasta onde estiver o arquivo MKV execute o seguinte comando:

$ ffmpeg -i nome_video.mkv -c copy nome_video.mp4

onde -i = input (arquivo de entrada) e -c ou -acodec define o tipo de codec a ser utilizado para conversão, se for utilizado o copy irá converter o vídeo sem a necessidade de recodificar.

Para converter vários arquivos MKV para MP4 pode ser utilizado o seguinte comando:

$ find ./ -type f -name “*.mkv” -exec sh -c ‘ffmpeg -i “$1” -c copy “${1%.mkv}.mp4″‘ _ {} ;