mkvtomp4
Sembra che mkvtomp4
sia quello che vuoi?
Utilizza mpeg4ip o MP4Box di GPAC, mkvtoolnix e ffmpeg per convertire fastidiosi file mkv in mp4 . La conversione non ricodifica il video e ricodifica l'audio solo se non utilizza il codec AAC (è possibile ignorare questo comportamento utilizzando --audio-codec).
Puoi scaricare le versioni di Windows e Linux nella pagina del codice di Google. Avrai bisogno di software aggiuntivo però.
Controllare i siti per i download per Windows o Linux. Su OS X, è necessario solo brew install mkvtoolnix mp4box
se si dispone di Homebrew .
Questo non copierà i tuoi sottotitoli. Avrai bisogno di un passaggio aggiuntivo.
Lotto FFmpeg
Se mkvtomp4 non funziona per te, potrebbe anche fare un semplice file batch FFmpeg . Per Windows, puoi scaricare le build di Zeranoe . In Linux, controlla FFmpeg dai sorgenti del pacchetto. In OS X, utilizzare brew install ffmpeg
.
Quindi, basta chiamare:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Ciò creerà un contenitore MP4 valido senza ricodifica. Scorri i file secondo necessità e disponibili nel tuo sistema operativo. Questo batch, tuttavia, non copia i sottotitoli.
In * nix, è possibile effettuare le seguenti operazioni. Basta creare un file 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
Sostituisci qui il percorso della tua cartella video. Renderlo eseguibile con chmod +x convert.sh
, quindi eseguirlo con ./convert.sh
.
In Windows, probabilmente hai bisogno di due file Batch ( plug spudorato da qui ), uno dei quali startconvert.bat
:
for %%i IN (*.mkv) DO (convert-to-mp4.bat "%%i")
pause
E uno che esegue la conversione:
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
Salva entrambi nella cartella video. Esegui semplicemente startconvert.bat
dalla cartella da cui desideri iniziare la conversione.
Sottotitoli
Se vuoi aggiungere i sottotitoli, potresti aver bisogno di una procedura manuale se quanto segue non funziona per te:
ffmpeg -i input.mkv -c:a copy -c:v copy -map 0 output.mp4
Per estrarre i sottotitoli, utilizzare:
mkvextract tracks input.mkv 3:subtitles.srt
Ciò presuppone che il file contenga davvero i sottotitoli nell'ID traccia numero 3 e che possano essere esportati nel formato SRT. Per verificare se un file contiene davvero i sottotitoli nella traccia 3, utilizzare mkvmerge -i input.mkv
.
Quindi, utilizzare MP4Box per aggiungere nuovamente i sottotitoli al file MP4.
mp4box -add input.mp4 -add subtitles.srt -new output.mp4