Sách

Thứ Hai, 4 tháng 3, 2019

[ffmpeg Tutorial] Convert Video Thành Webm Với Ffmpeg

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
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ể.
Xin chào và hẹn gặp lại!