mkvtomp4
Parece que mkvtomp4
é o que você quer?
Usa mpeg4ip ou MP4Box do GPAC, mkvtoolnix e ffmpeg para converter arquivos mkv problemáticos em mp4 . A conversão não recodifica o vídeo e apenas recodifica o áudio se não usar o codec AAC (pode-se substituir esse comportamento usando --audio-codec).
Você pode baixar as versões do Windows e Linux na página de código do Google. Você precisará de software adicional.
Verifique os sites em busca de downloads para Windows ou Linux. No OS X, você só precisa brew install mkvtoolnix mp4box
se tiver o Homebrew .
Porém, isso não copiará suas legendas. Você precisará de uma etapa adicional.
Lote FFmpeg
Se o mkvtomp4 não funcionar, um arquivo em lote FFmpeg simples também poderá funcionar. Para Windows, você pode fazer o download das compilações do Zeranoe . No Linux, verifique o FFmpeg a partir das fontes do pacote. No OS X, use brew install ffmpeg
.
Em seguida, basta ligar para:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Isso criará um contêiner MP4 válido sem recodificação. Passe os arquivos conforme necessário e disponível pelo seu sistema operacional. Este lote, no entanto, não copia legendas.
No * nix, você pode fazer o seguinte. Basta criar um arquivo convert.sh
:
#!/bin/bash
find /path/to/input/folder -iname '*.mkv' -print0 | while read -d '' -r file; do
ffmpeg -i "$file" -c:v copy -c:a copy ${file%%.mkv}.mp4
done
Substitua o caminho para sua pasta de vídeo aqui. Torne-o executável com chmod +x convert.sh
e execute-o com ./convert.sh
.
No Windows, você provavelmente precisará de dois arquivos em lote ( plug descarado daqui ), sendo um deles startconvert.bat
:
for %%i IN (*.mkv) DO (convert-to-mp4.bat "%%i")
pause
E aquele que realiza a conversão:
IF EXIST "%1.mp4" GOTO exit
@echo Conversion for %1 started on %DATE% %TIME%
ffmpeg -i %1 -c:v copy -c:a copy %1.mp4
:exit
@echo %1.mp4 already exists
Salve ambos na pasta de vídeo. Basta executar a startconvert.bat
partir da pasta da qual deseja iniciar a conversão.
Legendas
Se você deseja adicionar as legendas, pode ser necessário um procedimento manual se o seguinte não funcionar para você:
ffmpeg -i input.mkv -c:a copy -c:v copy -map 0 output.mp4
Para extrair legendas, use:
mkvextract tracks input.mkv 3:subtitles.srt
Isso pressupõe que seu arquivo realmente contém as legendas no número de identificação da faixa 3 e elas podem ser exportadas para o formato SRT. Para verificar se um arquivo realmente contém legendas na faixa 3, use mkvmerge -i input.mkv
.
Em seguida, use o MP4Box para adicionar novamente as legendas ao arquivo MP4.
mp4box -add input.mp4 -add subtitles.srt -new output.mp4