Bitrate, độ phân giải và tốc độ khung hình
Trong mấy thiết lập này, cái nào làm file nhẹ đi và cái nào chỉ làm hình xấu đi?
Một phương trình giải thích gần hết mọi thứ
Dung lượng tệp, xấp xỉ khá sát, bằng bitrate nhân với thời lượng. Bitrate là số bit mỗi giây mà bộ mã hoá được phép tiêu; thời lượng là số giây nó tiêu chừng ấy bit. Mọi thứ khác — độ phân giải, tốc độ khung hình, chuyển động, codec — thay đổi hình ảnh trông đẹp đến đâu ở một bitrate cho trước, chứ không thay đổi dung lượng tệp.
Một ví dụ tính tay làm điều này rõ ràng hơn. Một đoạn phim mã hoá ở 5 megabit mỗi giây trong sáu mươi giây chứa 300 megabit dữ liệu video, tức 37.5 megabyte, cộng thêm luồng âm thanh và phần dôi ra của định dạng chứa. Đó là phép tính số học chứ không phải kết quả đo: cũng sáu mươi giây ấy ở 2 Mbit/s là 15 MB, bất kể trong khung hình có gì.
Độ phân giải và tốc độ khung hình là nhu cầu, không phải dung lượng
Nâng độ phân giải hay tốc độ khung hình không trực tiếp làm tệp phình ra. Nó nâng số bit mà bộ mã hoá cần để trông chấp nhận được. Một đoạn phim 4K ở 2 Mbit/s nặng đúng bằng một đoạn 720p ở 2 Mbit/s; bản 4K chỉ đơn giản là trông tệ hơn nhiều, vì cùng một ngân sách ấy bị trải ra trên số pixel gấp chín lần.
Đó là lý do giảm độ phân giải lại là cách thu nhỏ video hiệu quả đến vậy. Bạn không làm tệp nhỏ đi bằng cách đổi độ phân giải — bạn đang làm cho một bitrate thấp hơn trông chấp nhận được, rồi chọn đúng cái bitrate thấp hơn ấy.
| Độ phân giải | Ở 30 fps | Ở 60 fps |
|---|---|---|
| 3840 × 2160 | 249 triệu px/s | 498 triệu px/s |
| 1920 × 1080 | 62 triệu px/s | 124 triệu px/s |
| 1280 × 720 | 28 triệu px/s | 55 triệu px/s |
| 854 × 480 | 12 triệu px/s | 25 triệu px/s |
Những con số đó là khối lượng công việc của bộ mã hoá, và chúng co giãn theo đúng cách hiển nhiên. Giảm nửa tốc độ khung hình thì giảm nửa khối lượng công việc; hạ từ 1080p xuống 720p thì cắt nó còn khoảng một phần ba. Tuy vậy tốc độ khung hình còn có tác động thứ hai: nó thay đổi cảm giác về chuyển động. Giảm nửa tốc độ khung hình của một cảnh nói chuyện tĩnh thì gần như không thấy được; giảm nửa trên một cú lia máy nhanh thì thấy rõ mồn một.
Chỉ số chất lượng thực ra làm gì
Phần lớn bộ mã hoá hiện đại ưa một mục tiêu chất lượng hơn là một mục tiêu bitrate. Bạn đưa vào một chỉ số chất lượng, bộ mã hoá tiêu bao nhiêu bit mà mức chất lượng đó cần cho từng khung hình, và bitrate kết quả biến thiên theo nội dung. Đây thường là thiết lập nên dùng hơn, vì nó rót bit vào đúng chỗ hình ảnh cần thay vì phung phí lên một khung hình tĩnh rồi bỏ đói một khung hình nhanh.
Hệ quả là chỉ số chất lượng không cho bạn biết trước dung lượng tệp. Hai đoạn phim mã hoá ở cùng một chỉ số có thể chênh nhau rất nhiều lần, và không có cách nào biết được nếu chưa mã hoá. Nếu buộc phải chạm một giới hạn dung lượng, hoặc là mã hoá rồi đo, hoặc là dùng mục tiêu bitrate và chấp nhận rằng chất lượng sẽ dao động.
Chuyển động là biến số ẩn
Codec video làm việc bằng cách mô tả mỗi khung hình như phần chênh lệch so với các khung hình trước. Khi có ít thứ thay đổi — một máy quay đặt cố định, một bộ slide, một khuôn mặt trên nền tường trơn — phần chênh lệch rất nhỏ và bộ mã hoá chỉ cần rất ít bit. Khi mọi thứ đều thay đổi — một cú lia máy cầm tay, hoa giấy bay, mưa, nước, tán lá trong gió, cắt cảnh mỗi giây một lần — gần như không gì dự đoán được và bitrate leo lên.
- Hạt phim và nhiễu cảm biến hành xử như chuyển động: chúng đổi từng pixel ở từng khung hình và rất tốn kém để mã hoá.
- Một đoạn cầm tay rung lắc tốn nhiều hơn hẳn so với cùng chủ thể quay trên chân máy.
- Ảnh quay màn hình với giao diện gần như bất động thì cực kỳ rẻ, cho tới khi có thứ gì đó cuộn.
- Chuyển cảnh mờ dần tốn kém hơn cắt cảnh dứt khoát, vì mọi pixel đều thay đổi chút ít trong suốt một giây hoặc lâu hơn.
Âm thanh thì nhỏ, cho tới khi nó không còn nhỏ
Với phần lớn đoạn phim, âm thanh chỉ là sai số làm tròn: một luồng stereo ở 128 kbit/s thêm khoảng một megabyte cho mỗi phút. Nhưng trên một đoạn ngắn, độ phân giải thấp và bị nén mạnh, nó có thể chiếm một phần đáng kể trong tổng dung lượng. Nếu bạn đang gắng sức chen vào một giới hạn dung lượng, hạ bitrate âm thanh xuống, hoặc chuyển sang mono, là điều đáng cân nhắc trước khi làm hỏng hình ảnh thêm nữa. Nếu âm thanh hoàn toàn không quan trọng, gỡ hẳn luồng đó ra là một thao tác remux và không tốn chút chất lượng nào.
Một công thức thường có tác dụng
- Xác định màn hình lớn nhất mà đoạn phim thực sự sẽ được xem trên đó, rồi giới hạn độ phân giải ở mức ấy.
- Giữ nguyên tốc độ khung hình gốc trừ khi chuyển động rất nhẹ nhàng; giảm nửa là một thay đổi nhìn thấy được, không phải một khoản tiết kiệm miễn phí.
- Mã hoá bằng chỉ số chất lượng thay vì bằng bitrate, rồi đo kết quả.
- Nếu kết quả quá lớn, hãy hạ độ phân giải trước khi hạ chất lượng thêm nữa.
- Cắt bớt đoạn phim. Thời lượng là hệ số nhân trực tiếp trong cả phương trình, và ba mươi giây thừa thãi tốn hơn bất kỳ thiết lập nào.
Làm video nhẹ hơn để gửi email
Giới hạn của email áp lên tệp đính kèm hoàn chỉnh, nên thời lượng là thứ đầu tiên cần xem. Cắt bỏ những gì không cần, rồi hạ độ phân giải xuống 720p hoặc 480p khi đoạn phim sẽ được xem trong một tin nhắn chứ không phải trên màn hình lớn. Nhu cầu pixel thấp hơn cho phép bộ mã hoá dùng một bitrate nhỏ hơn nhiều mà không phá nát chi tiết.
Nếu tệp đính kèm vẫn vượt giới hạn của nhà cung cấp, hãy rút ngắn nó hoặc chia sẻ qua một dịch vụ truyền tệp được phê duyệt. Mã hoá lại cùng một đoạn phim dài hết lần này đến lần khác ở chất lượng thấp hơn rốt cuộc chỉ cho ra một tệp trông xấu mà vẫn có thể quá lớn, vì thời lượng cứ tiếp tục nhân lên với bitrate.
Điều bài này không thể cho bạn biết
Trong hướng dẫn này không có bitrate khuyến nghị nào, và đó là chủ ý. Một con số khuyến nghị phụ thuộc vào codec, vào cách hiện thực của bộ mã hoá, vào nội dung và vào điều kiện xem, và bất kỳ con số nào nêu ra mà thiếu bốn thứ đó đều chỉ là trang trí. Hãy mã hoá một đoạn mẫu ba mươi giây từ chính đoạn phim của bạn ở hai thiết lập rồi xem cả hai — phép so sánh đó đáng giá hơn mọi bảng số mà người khác đo trên thước phim của người khác.
Còn một giới hạn nữa riêng cho việc mã hoá trong trình duyệt: thiết bị của bạn quyết định nhịp độ. Mã hoá thực sự là việc nặng, điện thoại tự hạ xung khi nóng lên, và một đoạn phim dài ở độ phân giải cao có thể vượt quá khả năng hoàn thành của một thiết bị cụ thể. Đó là ranh giới phần cứng, không phải một thiết lập bạn có thể chỉnh cho biến mất.