Giới thiệu

Các bài viết sẽ nhằm vào bất cứ đề tài gì mà tôi có hứng thú muốn đề cập, không theo một chủ đề nhất định. Nguyên tắc viết không theo khuôn khổ và tự do thoải mái nhất có thể, nội dung bài viết cũng sẽ thay đổi liên tục theo thời gian nên sẽ rất khó theo dõi. Bên cạnh đó, độ dài của các bài viết rất bất định, nhiều khi dài lê thê và tràn lan.

Các quy tắc chung (Đọc kỹ trước khi quyết định đọc nội dung bài viết):
Điều 1. Nội dung bài viết có thể dựa hoàn toàn vào quan điểm cá nhân, do đó sẽ khác với quan điểm của bạn. Bạn luôn có quyền ngừng đọc hoặc không cần đọc. Tuy nhiên, một khi đã đọc, bạn không được phép tranh cãi với tác giả. (Bạn được quyền nói xấu tác giả, nếu thích). Tác giả không chịu bất cứ trách nhiệm nào nếu nội dung bài viết gây ảnh hưởng xấu đến sức khỏe hay tâm lý của bạn.
Điều 2. Nội dung bài viết có thể chứa rất nhiều "spoiler" nên khuyên bạn không nên đọc trước khi xem/chơi tựa phim/anime/video game... được nhắc đến trong bài viết. Tác giả không chịu trách nhiệm vì làm bạn mất hứng. Bên cạnh đó, vì sở thích mỗi người mỗi khác, những chi tiết mà tác giả chê khen có thể không giống cách đánh giá của bạn, nên đừng dùng nó làm cơ sở lựa chọn. Ngoài ra, xem lại điều 1.
Điều 3. Bài viết chỉ được phép tồn tại trên blog này. Bạn không được quyền sao chép toàn bộ hay một phần nội dung của bất cứ bài viết nào sang nơi khác (bạn được phép đăng link của bài viết đi nơi khác, nếu muốn). Tác giả phủ nhận hoàn toàn trách nhiệm liên quan đến nội dung bài viết nếu nó được phát tán nơi khác dưới hình thức không phải link, tuy nhiên vẫn giữ quyền đối với nó.
Hiển thị các bài đăng có nhãn encoding. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn encoding. Hiển thị tất cả bài đăng

2013-05-09

Vài nguyên tắc khi encode với x264

Để bản encode bằng x264 đạt chất lượng chấp nhận được thực sự không khó, chỉ cần tuân theo vài nguyên tắc hết sức cơ bản. Đáng tiếc vẫn có người không nắm được.

Trước hết cần làm rõ chất lượng "chấp nhận được" là chất lượng người đánh giá thấy... chấp nhận được. Nghĩa là nó mang tính cảm tính. "Chấp nhận được" với người này có thể là phải gần giống y chang source nhưng với người khác lại là tồn tại một số hay thậm chí nhiều artifact nhưng có thể bỏ quá, và khoảng giữa đó.

Lưu ý: Các nguyên tắc nêu dưới đây chưa tính đến chất lượng source. Chúng chỉ đảm bảo chất lượng "chấp nhận được" khi so sánh giữa source (dùng làm input) với output, trong khi output tốt hay xấu còn tùy vào source. Bài viết không bàn đến việc nâng cao chất lượng source cũng như cách đánh giá chất lượng một bản encode.

Các nguyên tắc chung:
  • Dùng tune phù hợp với kiểu source cần encode.
  • Dùng preset chậm nhất có thể chấp nhận được (tùy vào thời gian encode mong muốn, năng lực xử lý máy tính...) nhưng không cần dùng tới placebo, trừ khi không ngại việc phí thời gian cho thêm một tý chất lượng. Đối với các bản encode mong muốn dùng để lưu trữ, tốt nhất đừng nên dùng preset nhanh hơn medium, trừ khi không ngại tốn dung lượng. (Nếu cảm thấy preset medium vẫn quá chậm thì đừng nên encode. Cũng nên biết rằng nếu quan tâm đến chất lượng thì 5 fps chưa gọi là chậm).
  • Encode ở chế độ CRF, trừ khi thật sự cần phải xác định dung lượng. CRF giúp cho các bản encode có chất lượng đồng đều, đồng thời tiết kiệm thời gian (hoặc nếu không cần thời gian tiết kiệm được có thể dùng preset chậm hơn). Chọn một giá trị CRF phù hợp bằng cách encode thử một số nội dung ở CRF khá thấp, ví dụ 15, sau đó tăng dần lên đến mức artifact bắt đầu gây khó chịu (hoặc chất lượng không còn "chấp nhận được") nhằm xác định giá trị CRF mong muốn. Sau đó cứ việc dùng giá trị CRF đó cho những source khác có độ phức tạp tương đương. Khi encode cho số đông, cố gắng chọn giá trị trung hòa giữa chất lượng và dung lượng, sao cho cả hai có thể "chấp nhận được" với đa số.
  • Nên nhớ 3 điều sau có mối tương quan chặt chẽ: chất lượng, thời gian encode, dung lượng. Cùng chất lượng, thời gian encode tỷ lệ nghịch với dung lượng. Cùng thời gian encode, chất lượng tỷ lệ thuận với dung lượng. Cùng dung lượng, chất lượng tỷ lệ thuận với thời gian encode.
  • Chỉ tùy chỉnh các parameter khi biết rõ chúng sẽ tác động thế nào lên sản phẩm cuối. Nếu không cứ để mặc định. (Nghĩa là đừng nên copypasta random settings thu nhặt được từ các tut/guide). Nên tham khảo cách dùng các parameter này từ các nguồn đáng tin cậy, ví dụ từ --fullhelp, từ trang này, từ các post của các thành viên uy tín của Doom9, Doom10...
  • Nếu source là anime nên dùng 10-bit trừ khi thực sự quan tâm đến vấn đề tương thích.