Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Lưu video trên ổ lưu trữ cá nhân, dịch vụ đám mây hoặc đĩa có thể棘手 khi dung lượng hạn chế. Giảm kích thước file giúp giữ file lớn và bộ sưu tập tăng trưởng dễ dàng hơn, nhưng một số cách làm hiệu quả hơn cách khác.

Có nhiều công cụ chọn lọc trong lĩnh vực xử lý video, có thể tối ưu kích thước file. Tuy nhiên, nhiều trong số đó – bao gồm VLC, Cinelerra và Blender – chia sẻ cùng engine dưới UI – tiện ích dòng lệnh tên FFMPEG. Ở đây chúng tôi sẽ chỉ cho bạn cách giảm dung lượng file video dùng FFMPEG từ terminal Linux.

FFMPEG là gì?

FFMPEG 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 nhiều tính năng, công cụ này xử lý tạo GIF, cắt/chỉnh sửa video và ghi âm.

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

Cài đặt

Cài FFMPEG trong Ubuntu đơn giản với lệnh:

sudo apt install ffmpeg

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Khi cài xong, bạn sẵn sàng bắt đầu.

Sử dụng

Dùng FFMPEG có thể đơn giản như:

ffmpeg -i input.video output.video

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Tuy nhiên, để thực sự giảm dung lượng video tối ưu, chúng ta cần xét đến các thuộc tính phần mở rộng.

Phương trình tối ưu

Khi nói đến file video, không phải loại nào cũng tạo ra như nhau. Ví dụ, phần mở rộng avi thường lớn hơn mp4.

Điều này归结于 logic xây dựng trong môi trường dự định của container, nhưng ngay cả đó có thể sửa đổi bằng cách chọn codec đúng để mã hóa file, ưu tiên chất lượng với kích thước lớn hoặc di động với kích thước nhỏ.

Bài học ở đây là mp4 nhỏ nhất của một video cụ thể sẽ luôn nhỏ hơn avi nhỏ nhất của cùng video, nhưng vẫn có biến đổi kích thước và chất lượng ngay trong từng loại file.

Thú vị là, mp4 không phải thấp nhất trong truy tìm kích thước file hoàn hảo. Các container hiện tại vô địch giữ chất lượng video là các container cho video flash và video media Windows (FLV và WMV). Chúng tạo thành một phương trình đơn giản để có file video siêu nhỏ, 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 ý: Cho mục đích bài viết, chất lượng cao nghĩa là pixel hóa ít thấy hoặc mất màu đáng kể. Giảm chất lượng không tránh khỏi nếu thực sự muốn tối ưu dung lượng; tuy nhiên, mức độ nhận thấy phụ thuộc vào gì chúng ta tối ưu. Tốc độ chuyển động, đa dạng màu và chất lượng/độ đặc âm thanh đóng vai trò quyết định chúng ta có thể giảm thiết lập đến đâu.

Lựa chọn phong phú trong thế giới codec và container video, nên chúng ta giữ đơn giản bằng cách dùng WMV 8. (FFMPEG chưa hỗ trợ đầy đủ WMV 9.)

Tối ưu video

Khi chạy FFMPEG, nó sẽ chuyển đổi video đầu vào sang loại file chúng ta chỉ định dùng tham số đặt bằng cờ đặc biệt. Đây là mã:

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

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Cách giảm dung lượng file video dùng FFMPEG từ terminal Linux

Mã trên chuyển file đầu vào thành file với bitrate 1Mbps, framerate 24fps, constant rate factor 19 và phần mở rộng .wmv. Thay "input.mp4" cho phù hợp và điều chỉnh giá trị -crf lên số cao hơn cho file nhỏ hơn (chất lượng giảm dần).

FFMPEG đủ mạnh để đạt được nhiều hơn những gì đề cập ở đây. Bộ tính năng hoàn chỉnh ấn tượng, và có nhiều hơn chỉ chuyển đổi video. Xem trang web chính thức dự án để biết thêm.