[FFmpeg Tutorial] Convert video thành WEBM với FFmpeg

Posted on October 21st, 2018

Bên cạnh với định dạng MP4 thì WEBM cũng là một định dạng phổ biến. Tuy nhiên, WEBM được tối ưu để chuyên sử dụng trong môi trường web. Bài viết này mình sẽ tìm hiểu cách để convert video thành WEBM, rồi sau đó so sánh WEBM với MP4.

Câu lệnh convert video thành WEBM

Định dạng WEBM sử dụng chuẩn codec vp8 của Google. Và để convert video thành WEBM với FFmpeg, bạn có thể sử dụng thư viện libvpx để encode video và thư viện libvorbis để encode audio.

Câu lệnh cơ bản:

ffmpeg -i input.mp4 -f webm -c:v libvpx -b:v 1M -c:a libvorbis output.webm -hide_banner

Trong đó:

  • -i là cờ dùng để xác định input, sau đó là tên file (input.mp4)
  • -f dùng để xác định format của file output, sau đó là tên định dạng (webm).
  • -c:v dùng để xác định codec sử dụng cho video, sau đó là tên thư viện sử dụng libvpx
  • -b:v dùng để xác định bitrate cho video đầu ra. Sau đó là số bitrate 1M. Chú ý: ở đây mình sử dụng số liệu chính xác là 1M. Trong khi với MP4, mình chỉ có thể xác định maxrate.
  • -c:a dùng để xác định codec sử dụng cho audio, sau đó là tên thư viện sử dụng libvorbis
  • output.webm là tên file output.
  • -hide_banner dùng để ẩn những thông tin liên quan đến FFmpeg (phiên bản, các thư viện sử dụng,...)

Kết quả:

Convert video thành WEBM

Ngoài ra, bạn cũng có thể thêm các tham số để điều chỉnh về độ phân giải (-vf scale=1280:729) hoặc tốc độ framerate (-r 20),... để được kết quả như mong đợi.

So sánh WEBM với MP4

  • WEBM sử dụng thư viện libvpx để encode video theo chuẩn vp8 và thư viện libvorbis để encode audio. Còn MP4 sử dụng thư viện libx264 để encode video theo chuẩn H264 và thư viện aac để encode audio.
  • Convert video thành WEBM thường lâu hơn rất nhiều so với convert video thành MP4.
  • WEBM nén tốt hơn, cho video chất lượng tốt hơn với dung lượng nhỏ hơn MP4.
  • WEBM phù hợp với việc sử dụng video trên nền web. Tuy nhiên, không phải trình duyệt nào cũng hỗ trợ như MP4.

Lời kết

Trên đây là câu lệnh cơ bản để convert video thành WEBM với FFmpeg. Nếu có gì thắc mắc, vui lòng để lại câu hỏi trong phần bình luận nhé. Mình sẽ cố gắng giải đáp nếu có thể.

Tham khảo: Encode VP8

★ 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é: