mkvtomp4
Hình như mkvtomp4
là những gì bạn muốn?
Sử dụng MP4Box, mkvtoolnix và ffmpeg của mpeg4ip hoặc GPAC để chuyển đổi các tệp mkv rắc rối sang mp4 . Việc chuyển đổi không mã hóa lại video và chỉ mã hóa lại âm thanh nếu nó không sử dụng codec AAC (người ta có thể ghi đè hành vi này bằng cách sử dụng --audio-codec).
Bạn có thể tải xuống các phiên bản Windows và Linux trên trang Google Code. Bạn sẽ cần phần mềm bổ sung mặc dù.
Kiểm tra các trang web để tải xuống cho Windows hoặc Linux. Trên OS X, bạn chỉ cần brew install mkvtoolnix mp4box
có Homebrew .
Điều này sẽ không sao chép phụ đề của bạn mặc dù. Bạn sẽ cần một bước bổ sung.
Lô FFmpeg
Nếu mkvtomp4 không hoạt động với bạn, một tệp bó FFmpeg đơn giản cũng có thể làm được. Đối với Windows, bạn có thể tải xuống các bản dựng Zeranoe . Trong Linux, kiểm tra FFmpeg từ các nguồn gói. Trong OS X, sử dụng brew install ffmpeg
.
Sau đó, chỉ cần gọi:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Điều này sẽ tạo ra một thùng chứa MP4 hợp lệ mà không cần mã hóa lại. Lặp lại các tập tin khi cần và có sẵn bởi hệ điều hành của bạn. Lô này sẽ không, tuy nhiên, sao chép phụ đề.
Trong * nix, bạn có thể làm như sau. Chỉ cần tạo một tập tin 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
Thay thế đường dẫn đến thư mục video của bạn ở đây. Làm cho nó thực thi với chmod +x convert.sh
, sau đó chạy nó với ./convert.sh
.
Trong Windows, bạn có thể cần hai tệp Batch ( phích cắm không biết xấu hổ từ đây ), một là startconvert.bat
:
for %%i IN (*.mkv) DO (convert-to-mp4.bat "%%i")
pause
Và một trong đó thực hiện chuyển đổi:
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
Lưu cả hai trong thư mục video. Chỉ cần chạy startconvert.bat
từ thư mục bạn muốn bắt đầu chuyển đổi từ.
Phụ đề
Nếu bạn muốn thêm phụ đề, bạn có thể cần một quy trình thủ công nếu cách sau không phù hợp với bạn:
ffmpeg -i input.mkv -c:a copy -c:v copy -map 0 output.mp4
Để trích xuất phụ đề, sử dụng:
mkvextract tracks input.mkv 3:subtitles.srt
Điều này giả định rằng tệp của bạn thực sự chứa phụ đề ở ID số theo dõi số 3 và chúng có thể được xuất sang định dạng SRT. Để kiểm tra xem một tập tin có thực sự chứa phụ đề ở track 3 hay không, hãy sử dụng mkvmerge -i input.mkv
.
Sau đó, sử dụng MP4Box để thêm lại phụ đề vào tệp MP4.
mp4box -add input.mp4 -add subtitles.srt -new output.mp4