Saturday, June 11, 2016

Dùng ffmpeg để trích xuất phụ đề, âm thanh audio hay một đoạn video từ file phim .mkv (matroska video)

Giới thiệu bộ công cụ ffmpeg

ffmpeg là bộ công cụ miễn phí, xử lý file .mkv chạy trên hệ điều hành Linux và Windows. Dùng để cắt file *.mkv, nối 2 file *.mkv với nhau, trích xuất file audio, file phụ đề... Download ffmpeg tại đây. Download xong thì giải nén ra và sử dụng.

ffmpeg xuất thân từ linux nên không có giao diện GUI. Tất cả điều phải dùng lệnh command line. Tuy vậy, ffmpeg cũng dễ sử dụng chứ không đến nổi quá phức tạp.

Trích xuất phụ đề từ file *.mkv

Trong thực tế có một số phim *.mkv (matroska video) khi xem trên máy vi tính thì có phụ đề nhưng khi chép sang usb hay ổ cứng để xem trên TV thì không thấy phụ đề. Lý do là chương trình chiếu phim trên máy tính đọc được track phụ đề của file phim. Còn TV thì không đọc được track phụ đề đã được nhúng trong file phim. Để xem được phụ đề trên TV thì ta phải trích xuất track phụ đề trong file phim ra thành một file mới có tên trùng với tên file phim và có phần đuôi mở rộng là *.srt

Trước tiên phải xem phụ đề nằm trong track nào của file phim.

ffmpeg.exe -i <đường_dẫn_và_tên_file_input>

Ví dụ:

ffmpeg.exe -i d:\Film\Happy_Feet_2006.mkv
Dùng ffmpeg xem thông tin các track của file phim mkv
Hình 1: Dùng ffmpeg xem thông tin các track của file phim mkv.

Xem hình 1 ta biết được phụ đề nằm ở stream 0:2. Ta dùng lệnh sau để xuất file phụ đề ra.

ffmpeg.exe -i <đường_dẫn_và_tên_file_input> -map <stream#> -c copy <đường_dẫn_và_tên_file_output>

Ví dụ:

ffmpeg.exe -i d:\Film\Happy_Feet_2006.mkv -map 0:2 -c copy d:\Film \Happy_Feet_2006.srt

Trích xuất audio (âm thanh) từ file *.mkv

Định dạng âm thanh trong file phim mkv có thể không phải là dạng mp3 (xem hình 1). ffmpeg hỗ trợ trích xuất âm thành từ file phim mkv theo định dạng gốc trong phim hay có thể chuyển đổi sang định dạng âm thanh khác. Thông thường chúng ta ưa dùng file định dạng âm thanh mp3. Câu lệnh dưới đây dùng để trích xuất file âm thanh và chuyển định dạng về mp3:

ffmpeg.exe -i <đường_dẫn_và_tên_file_input> -f mp3 <đường_dẫn_và_tên_file_output>

Ví dụ:

ffmpeg.exe -i d:\Film\Happy_Feet_2006.mkv -f mp3 d:\Film\Happy_Feet_2006.mp3

Cắt file video mkv thành nhiều đoạn

Chức năng này rất hữu ích cho bạn nào học anh văn qua phim. Bạn cắt nhỏ từng đoạn phim rồi học phát âm theo phim.

ffmpeg.exe -i <đường_dẫn_và_tên_file_input> -ss <thời_điểm_đầu> -to <thời_điểm_kết_thúc> -async 1 -strict -2 <đường_dẫn_và_tên_file_output>

Ví dụ:

ffmpeg.exe -i d:\Film\Happy_Feet_2006.mkv -ss 00:00:58 -to 00:01:49 -async 1 -strict -2 d:\Film\Happy_Feet_2006.ch01.mkv

Chúc bạn thực hiện thành công.

-----------------------------

Xem thêm bài viết liên quan: mkvtoolnix

Link tham khảo:

  • https://ffmpeg.org/about.html
  • https://linuxconfig.org/ffmpeg-audio-format-conversions
  • Đặt phòng tại Agoda 
    Đặt phòng tại Booking 
    Booking.com
    Mua hàng trực tuyến tại 

    No comments: