[FFmpeg Tutorial] Tách audio từ video với FFmpeg

Posted on October 28th, 2018

Đôi khi bạn muốn tách lấy lời bài hát từ một video trên Youtube, vì bạn chỉ muốn nghe hát thôi chẳng hạn. Bạn có thể tìm kiếm và sử dụng các công cụ online. Hoặc bạn cũng có thể tách audio từ video với FFmpeg một cách dễ dàng.

Tách audio từ video giữ nguyên gốc

Trước khi làm việc này bạn cần phải biết định dạng audio sử dụng trong một số loại video, ví dụ:

  • Nếu video định dạng MP4 thì audio dạng .aac
  • Nếu video định dạng WEBM thì audio dạng .oga
  • ... (chắc còn nhiều nhưng mình không rành lắm)

Giả sử mình muốn tách nguyên gốc audio từ video MP4, thì câu lệnh là:

ffmpeg -i input.mp4 -vn -acodec copy output.aac

Trong đó:

  • -i là cờ dùng để xác định input, sau đó là tên file (input.mp4)
  • -vn là cờ dùng để xác định rằng mình không sử dụng video ở output
  • -acodec copy là cờ dùng để xác định rằng FFmpeg sẽ copy audio từ input sang output mà không encode lại.
  • output.aac là tên file output

Kết quả là mình đã có một file raw audio là output.aac.

Tách audio từ video và encode sang định dạng khác

Bạn có thể tách audio từ video rồi encode nó sang định dạng khác quen thuộc hơn, như mp3, wma,...

Giả sử mình muốn encode video thành mp3 thì câu lệnh là:

ffmpeg -i input.mp4 -vn output.mp3

Câu lệnh này gần giống câu lệnh trên. Chỉ khác ở chỗ mình bỏ qua tham số liên quan đến copy audio (-acodec copy) và file audio đầu ra với đuôi là định dạng mình muốn convert (mp3).

FFmpeg sẽ dựa vào đuôi này để biết rằng nó sẽ phải encode audio như thế nào.

Ngoài ra, bạn cũng có thể chỉ định rõ định dạng output theo chuẩn nào.

Tách audio thành mp3

ffmpeg -i input.mp4 -vn -acodec mp3 output.mp3

Tách audio thành aac

ffmpeg -i input.mp4 -vn -acodec aac output.aac

Tách audio thành vorbis

ffmpeg -i input.mp4 -vn -acodec libvorbis output.oga

Chú ý: Nếu làm theo cách này, bạn cần biết rõ định dạng file tương ứng với chuẩn encode.

  • -acodec mp3 ứng với định dạng .mp3
  • -acodec aac ứng với định dạng .aac
  • -acodec libvorbis ứng với định dạng .oga

Lời kết

Trên đây là một số cách để tách audio từ video với FFmpeg. Nếu có gì thắc mắc hay góp ý, bạn vui lòng để lại câu hỏi xuống phần bình luận. Mình sẽ cố gắng giải đáp.

★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook/Youtube để nhận được thông báo khi có bài viết mới nhất nhé: