Cách giảm dung lượng file video bằng FFMPEG từ Linux Terminal

Lưu video trên ổ lưu trữ cá nhân, dịch vụ đám mây hoặc ổ đĩa có thể khó khăn khi không gian bị giới hạn. Giảm dung lượng file giúp lưu trữ những file lớn hơn, đồng thời tiếp tục tăng số lượng file trong bộ sưu tập dễ dàng hơn. Một số phương pháp thực hiện việc này hiệu quả hơn những cách khác.

Có rất nhiều công cụ để lựa chọn trong lĩnh vực xử lý video, có khả năng tối ưu hóa dung lượng file. Tuy nhiên, nhiều tùy chọn trong số này - bao gồm VLC, Cinelerra và Blender - chia sẻ cùng một công cụ đằng sau giao diện người dùng - một tiện ích dòng lệnh có tên FFMPEG. Bài viết hôm nay sẽ chỉ cho bạn cách bạn có thể giảm dung lượng file video bằng FFMPEG từ Linux terminal.

FFMPEG là gì?

FFMPEG được cho là tiện ích dòng lệnh xử lý media đầy đủ tính năng nhất trong hệ sinh thái phần mềm Linux. Trong số một loạt các tính năng tuyệt vời, công cụ này có thể xử lý việc tạo GIF, cắt/chỉnh sửa và ghi lại video.

Quan trọng nhất, FFMPEG có thể chuyển đổi video ở mức độ đáng ngạc nhiên, cho phép chất lượng được duy trì ở mức độ lớn, trong khi dung lượng file được giảm một nửa (hoặc thậm chí là còn một phần tư trong một số trường hợp).

Cài đặt

Cài đặt FFMPEG trong Ubuntu rất đơn giản. Hãy thực hiện lệnh sau:

sudo apt install ffmpeg

Cài đặt FFMPEG

Khi quá trình cài đặt kết thúc, bạn đã sẵn sàng để bắt đầu.

Sử dụng

Sử dụng FFMPEG cũng rất đơn giản như sau:

ffmpeg -i input.video output.video

Sử dụng FFMPEG

Tuy nhiên, để thực sự giảm dung lượng file video theo cách tối ưu, bạn cần phải xem xét các thuộc tính của phần mở rộng file nhất định.

Phương trình tối ưu hóa

Khi nói đến các file video, không phải tất cả đều được tạo ra như nhau. Chẳng hạn, phần mở rộng file avi có xu hướng lớn hơn nhiều so với file mp4.

Điều này dẫn đến logic được xây dựng trong môi trường dự định của container, nhưng có thể được sửa đổi bằng cách chọn codec phù hợp để mã hóa file, ưu tiên chất lượng với kích thước lớn hoặc tính portable với các kích thước nhỏ hơn.

Điều đáng nói ở đây là dung lượng của một video cụ thể ở định dạng mp4 sẽ luôn nhỏ hơn định dạng avi của cùng video đó, nhưng có sự thay đổi về dung lượng và chất lượng giữa các loại file này.

Thật thú vị, mặc dù, mp4 không phải là định dạng cho kích thước file nhỏ hoàn hảo nhất. Các “nhà vô địch” hiện tại của các loại file video giữ nguyên chất lượng là những container khác nhau, có sẵn cho Flash Video và Windows Media Video (FLV và WMV). Đây là một phần của phương trình đơn giản mà chúng ta có thể sử dụng để có được các file video siêu nhỏ nhưng chất lượng cao:

Container nhỏ + Codec hiệu quả + Fps thấp + Bitrate thấp = File video nhỏ/chất lượng cao

Lưu ý: Đối với mục đích của bài viết này, "chất lượng cao" có nghĩa là hiện tượng mất màu hoặc pixelation (được tạo ra bằng cách hiển thị bitmap hoặc một phần của bitmap ở kích thước lớn đến mức có thể nhìn thấy các pixel riêng lẻ, những yếu tố hiển thị hình vuông nhỏ đơn màu bao gồm bitmap) tối thiểu có thể nhìn thấy.

Việc giảm chất lượng là không thể tránh khỏi ở một mức độ nào đó, nếu bạn thực sự muốn tối ưu hóa dung lượng file. Tuy nhiên, điều này gây tác động ra sao phụ thuộc vào những gì bạn đang tối ưu hóa. Tốc độ di chuyển, sự đa dạng về màu sắc và chất lượng/mật độ âm thanh đóng góp một phần trong việc quyết định mức độ hành động đối với các cài đặt.

Các tùy chọn rất phong phú trong thế giới codec video và container, vì vậy ta sẽ giữ mọi thứ đơn giản bằng cách sử dụng WMV 8. (FFMPEG chưa hỗ trợ đầy đủ WMV 9).

Tối ưu hóa video

Khi chạy FFMPEG, nó sẽ chuyển đổi video đầu vào của bạn sang loại file được chỉ định, bằng cách sử dụng các tham số được thiết lập với các flag đặc biệt. Đây là code của ví dụ:

ffmpeg -i input.mp4 -b 1000k -vcodec wmv2 -acodec wmav2 -crf 19 -filter:v fps=fps=24 output.wmv

Tối ưu hóa video

Đoạn code trên chuyển đổi file đầu vào ví dụ thành một file có tốc độ bit 1Mbps, tốc độ khung hình 24fps, CRF (Constant Rate Factor) là 19 và phần mở rộng .wmv

Đoạn code trên chuyển đổi file đầu vào ví dụ thành một file có tốc độ bit 1Mbps, tốc độ khung hình 24fps, CRF (Constant Rate Factor) là 19 và phần mở rộng .wmv. Thay đổi “input.mp4” sao cho phù hợp với nhu cầu của bạn và điều chỉnh giá trị -crf thành số cao hơn cho dung lượng file nhỏ hơn (với chất lượng thấp hơn dần dần).

FFMPEG đủ mạnh để thực hiện nhiều điều hơn so với những thứ được đề cập ở đây. Bộ tính năng hoàn chỉnh của nó rất ấn tượng và có nhiều cách khác với chuyển đổi video. Kiểm tra trang web chính thức của dự án để biết thêm thông tin tại:

https://ffmpeg.org/
Thứ Năm, 05/09/2019 12:05
52 👨 83