Nhưng tôi tự hỏi liệu có cách nào để xác định bitrate mục tiêu "tốt"
Tốc độ bit mục tiêu tốt là tốc độ bit:
- được hỗ trợ bởi mạng bạn đang truyền phát tài liệu từ (ví dụ: mạng 3G, WiFi gia đình, v.v.), khá dễ tính
- có vẻ tốt với bạn , đó là một biện pháp rất chủ quan
22 Mbit / s hoặc 45 Mbit / s thực sự khá cao đối với người dùng trung bình và đặc biệt đối với video đã được nén như h.264. Bạn chắc chắn có thể đi trước và giảm tốc độ bit xuống giá trị "lành mạnh", luôn luôn liên quan đến dung lượng lưu trữ bạn có thể đủ khả năng và chất lượng bạn muốn mất bao nhiêu.
Bạn cũng có thể thay đổi kích thước video 1080p thành 720p nếu bạn không thực sự cần kích thước hoặc không có khả năng xử lý để chỉnh sửa video.
Nếu hoặc có bất kỳ điểm nào trong việc cố gắng làm bitrate biến
Điểm của tốc độ bit không đổi là thích ứng với kịch bản truyền phát trực tuyến trong đó có một nút cổ chai giới hạn tốc độ bit tối đa của video được truyền. Trong thế giới đa phương tiện ngày nay, điều này không nhất thiết phải có ý nghĩa nữa.
Khi bạn ép video thành một lượng bit không đổi mỗi giây, về cơ bản, bạn nói với một bộ mã hóa luôn sử dụng cùng một lượng bit để mã hóa cùng một khung thời gian. Đó có phải là cách tiếp cận tốt nhất? Như bạn có thể đoán bây giờ, không phải vậy. Trích dẫn Hướng dẫn CRF từ Phanh tay (Tôi sẽ quay lại vấn đề này sau):
Mắt nhận biết nhiều chi tiết hơn trong các vật thể tĩnh so với khi chúng chuyển động. Do đó, máy nén video có thể áp dụng nén nhiều hơn (giảm chi tiết hơn) khi mọi thứ đang di chuyển và áp dụng nén ít hơn (giữ lại nhiều chi tiết hơn) khi mọi thứ vẫn còn. Theo chủ quan, video dường như sẽ có chất lượng cao hơn.
Vì vậy, nó có ý nghĩa để sử dụng tốc độ bit thay đổi bất cứ khi nào bạn có thể. Nó sẽ làm cho video trông đẹp hơn, thậm chí ở cùng kích thước tệp của video tốc độ bit không đổi.
Thậm chí nhiều hơn, hầu hết các bộ mã hóa - cái nổi tiếng nhất là x264 - thường hoạt động rất tệ khi bạn bảo họ sử dụng tốc độ bit không đổi. Tốt hơn là cho họ thêm "tự do" theo nghĩa là họ muốn chi bao nhiêu bit cho một khung. Rốt cuộc, đó là công việc của bộ mã hóa, chứ không phải bạn. Và đó gọi là "chất lượng không đổi".
Đủ điều đó - điều đó có nghĩa gì trong thực tế? Nếu bạn sử dụng FFmpeg để mã hóa video, thì bạn đã sử dụng một công cụ đủ tốt. Nếu bây giờ bạn cũng đã cài đặt x264 và sử dụng phiên bản mới nhất của cả hai, thì bạn đang sử dụng một trong những bộ mã hóa tốt nhất hiện có sẵn miễn phí. Thay vì mã hóa với tốc độ bit cố định, hãy để x264 chọn số tiền nó muốn chi tiêu. Làm điều này bằng cách sử dụng tùy chọn Yếu tố tỷ lệ không đổi .
Trong một trường hợp rất đơn giản, điều này có nghĩa là đặt giá trị trong khoảng từ 17 đến 23. Tôi chọn MP4 làm thùng chứa đầu ra thay vì MOV vì có các công cụ tốt hơn để điều chỉnh lại có sẵn:
ffmpeg -i input.mov -c:v libx264 -crf 22 output.mp4
Giá trị càng thấp, chất lượng càng tốt và sản lượng càng lớn. Ngược lại, càng cao, chất lượng càng thấp. Đồng thời, tất nhiên bạn sẽ giảm tốc độ bit trung bình cần thiết. Kiểm tra hướng dẫn mã hóa x264 để biết thêm thông tin về ffmpeg
.
Nhiệm vụ của bạn bây giờ là tìm giá trị CRF:
- giảm tốc độ bit tổng thể đến điểm bạn có thể đủ khả năng
- không làm giảm chất lượng quá nhiều, để video vẫn đẹp
Đúng, điều này liên quan đến rất nhiều mã hóa và thử và sai, nhưng đây là công việc hàng ngày khi bạn điều chỉnh và mã hóa video.
Ồ, và nếu bạn không thích dòng lệnh, Handbrake là một công cụ đa nền tảng miễn phí, hoạt động giống hệt như vậy. Nó thậm chí có một thanh trượt CRF: