mkvtomp4
같은 외모는 mkvtomp4
당신이 원하는 무엇인가?
문제가있는 mkv 파일을 mp4로 변환 하기 위해 mpeg4ip 또는 GPAC의 MP4Box, mkvtoolnix 및 ffmpeg를 사용 합니다 . 변환 은 비디오 를 다시 인코딩하지 않으며 AAC 코덱을 사용하지 않는 경우에만 오디오를 다시 인코딩합니다 (--audio-codec를 사용하여이 동작을 무시할 수 있음).
Google 코드 페이지에서 Windows 및 Linux 버전을 다운로드 할 수 있습니다. 그래도 추가 소프트웨어가 필요합니다.
Windows 또는 Linux 용 다운로드 사이트를 확인하십시오. OS X에서는 Homebrew 가있는 brew install mkvtoolnix mp4box
경우 에만 필요합니다 .
그래도 자막은 복사되지 않습니다. 추가 단계가 필요합니다.
FFmpeg 배치
mkvtomp4가 작동하지 않으면 간단한 FFmpeg 배치 파일도 가능합니다. Windows의 경우 Zeranoe 빌드를 다운로드 할 수 있습니다 . Linux에서는 패키지 소스에서 FFmpeg를 확인하십시오. OS X에서는을 사용하십시오 brew install ffmpeg
.
그런 다음 전화하십시오.
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
다시 인코딩하지 않고 유효한 MP4 컨테이너가 생성됩니다. 운영 체제에서 필요하고 사용 가능한 파일을 반복하십시오. 그러나이 배치는 자막을 복사하지 않습니다.
* nix에서는 다음을 수행 할 수 있습니다. 파일을 만드십시오 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
여기에서 비디오 폴더 경로를 바꾸십시오. 로 실행 파일을 chmod +x convert.sh
만든 다음로 실행하십시오 ./convert.sh
.
Windows의 경우, 당신은 아마이 개 배치 파일 (필요 여기에서 뻔뻔한 플러그 ), 하나 개의 존재를 startconvert.bat
:
for %%i IN (*.mkv) DO (convert-to-mp4.bat "%%i")
pause
그리고 변환을 수행하는 것 :
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
비디오 폴더에 둘 다 저장하십시오. startconvert.bat
변환을 시작하려는 폴더에서 실행 하십시오.
자막
자막을 추가하려면 다음이 작동하지 않는 경우 수동 절차가 필요할 수 있습니다.
ffmpeg -i input.mkv -c:a copy -c:v copy -map 0 output.mp4
자막을 추출하려면 다음을 사용하십시오.
mkvextract tracks input.mkv 3:subtitles.srt
파일에 트랙 ID 번호 3의 자막이 실제로 포함되어 있고 SRT 형식으로 내보낼 수 있다고 가정합니다. 트랙 3에서 파일에 실제로 자막이 포함되어 있는지 확인하려면을 사용하십시오 mkvmerge -i input.mkv
.
그런 다음 MP4Box를 사용하여 MP4 파일에 자막을 다시 추가하십시오.
mp4box -add input.mp4 -add subtitles.srt -new output.mp4