Những codec video nào có thể cung cấp chất lượng thích ứng của cải thiện thế giới?


7

Lý lịch:

Tôi đang cố gắng nén các bản nhạc Bluray lossless thành một kích thước lưu trữ thân thiện hơn mà không làm giảm chất lượng.

Những gì tôi đã làm cho đến nay:

Khám phá các tùy chọn nén với ffmpeg. Chủ yếu là khoảng h264 với đối số -crf.

Những hạn chế:

Linux và các công cụ nguồn mở. Vui lòng không đề xuất bất cứ điều gì cụ thể của Apple / Microsoft.

Câu hỏi:

Hầu hết các tùy chọn tôi thấy xung quanh việc nén liên quan đến tốc độ bit hoặc kích thước đầu ra cố định. Tôi đang tìm kiếm một codec video có nhiều "ngưỡng chất lượng". Tôi không phiền nếu các phần phức tạp hơn của bản nhạc yêu cầu nhiều byte hơn để cung cấp cùng một mức chất lượng hình ảnh. Có bất cứ điều gì như thế này tồn tại?

Biên tập:

Tôi gặp may mắn với đối số -qscale và libxvid. Nếu tôi không nhận được bất kỳ đề nghị nào khác, tôi sẽ chỉ đi với điều đó.


1
Có gì sai với crf trong x264?
Gyan

Tài liệu nói rằng crf hy sinh tốc độ thời gian chạy cho chất lượng. Vì tôi có khả năng có thể chạy các video này trên các máy ít hơn, tôi không muốn đặt quá nhiều gánh nặng lên chúng.
Jacks_Gulch

2
Bạn không thể có được cả chất lượng và hiệu quả tính toán. Có một sự đánh đổi.
Gyan

Bạn đã xem Lagarith hay HuffYUV chưa? Tôi thường sử dụng chúng để lưu trữ cảnh quay. Cả hai đều không mất dữ liệu tuy nhiên việc nén thực sự có thể khá tốt, do tôi không chắc chúng so với h264 như thế nào. Tôi cũng không chắc về hỗ trợ Linux.
glenneroo

Nguồn Bluray của bạn rất khó có thể bị mất. Cách dễ dàng để kiểm tra: ffplay -vf showinfo. Nếu nó có bất kỳ khung B nào, thì nó không mất h.264.
Peter Cordes

Câu trả lời:


6

Bạn đang đi đúng hướng với -crfvà x264 (bộ mã hóa H.264 tốt nhất) và nó sẽ cung cấp "ngưỡng chất lượng" mà bạn đang tìm kiếm. CRF được khuyến nghị nếu bạn muốn chất lượng đầu ra nhất định và kích thước tệp đầu ra ít quan trọng hơn. Ngược lại, thực hiện mã hóa hai lần với -b:vkhuyến nghị nếu bạn đang nhắm mục tiêu kích thước và chất lượng tệp đầu ra cụ thể ít quan trọng hơn.

Mã hóa HEVC / H.265 bằng x265 phải tuân theo các nguyên tắc cơ bản tương tự. Nhìn chung bạn sẽ có được nén tốt hơn để đổi lấy thời gian mã hóa lâu hơn.

1. Chọn một cài đặt trước

Giá trị đặt trước là tập hợp các tùy chọn sẽ cung cấp tốc độ mã hóa nhất định : tỷ lệ nén . Một cài đặt trước chậm hơn sẽ cung cấp nén tốt hơn (nén là chất lượng trên mỗi kích thước tệp). Sử dụng chung là sử dụng cài đặt trước chậm nhất mà bạn có kiên nhẫn. Các cài đặt trước hiện tại theo thứ tự giảm dần của tốc độ là : ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. Bỏ qua placebovì nó là một trò đùa và lãng phí thời gian (nó giúp nhiều nhất ~ 1%). Nếu nó mã hóa quá chậm thì sử dụng cài đặt trước nhanh hơn.

2. Chọn giá trị CRF

Phạm vi cho x264 là 0-51 trong đó 0 là lossless, 23 là mặc định và 51 là tồi tệ nhất có thể. Giá trị thấp hơn là chất lượng cao hơn. Một phạm vi chủ quan lành mạnh là 18-28. Hãy xem xét ~ 18 để không bị mất thị giác: nó sẽ trông giống như đầu vào nhưng về mặt kỹ thuật thì nó không bị mất. Tăng giá trị CRF +6 gần bằng một nửa bitrate trong khi -6 gần gấp đôi bitrate.

Sử dụng chung là chọn -crfgiá trị cao nhất mà vẫn cung cấp chất lượng chấp nhận được. Đó là nếu đầu ra có vẻ tốt thì hãy thử giá trị cao hơn và nếu nó trông tệ thì chọn giá trị thấp hơn.

3. Mã hóa

Sử dụng các cài đặt này cho phần còn lại của video. Tất cả họ nên kết thúc với cùng một chất lượng.

Thí dụ

ffmpeg -i input -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv

Cũng thấy


3
-ssim 1 -psnrtrên cmdline ffmpeg của bạn sẽ đo một số số liệu chất lượng video (không phải lúc nào cũng phù hợp với chất lượng hình ảnh nhận thức của con người). Có thể hữu ích để có được một ý tưởng về bao nhiêu video của bạn được thu thập.
Peter Cordes

Vào cuối ngày 2.: Sử dụng chung là chọn chất lượng cao nhất - có lẽ nên thấp nhất thay vì cao nhất .
MarianD

@MarianD Đã sửa, cảm ơn. Wow, câu trả lời là 7 tuổi.
llogan

Câu trả lời của bạn luôn vượt trội và hữu ích (tôi cũng nhớ tên trước đó của bạn), cảm ơn họ.
MarianD

-3

Có lẽ đây sẽ là gói K-Lite Codec hữu ích Khi bạn cài đặt, có gói codec để bạn có thể chọn thứ phù hợp nhất với mình. Đây là danh sách các codec: • Bộ lọc giải mã video DirectShow: - ffdshow [phiên bản 1.2.4475] - Video LAV [phiên bản 0.51.3] (- Giải mã: H264, VC1 (chỉ tiến bộ), MPEG2, MPEG4-ASP, MS -MPEG4, MJPEG, VP8, RV40, WMV1 / 2/3) - On2 VP7 [phiên bản 7.0.10.0] - Bộ giải mã DScaler5 MPEG-2 [phiên bản 0.0.6.0 IVTC mod]


1
Tôi không thấy cách này trả lời câu hỏi.
llogan

tải xuống K-Lite Codec Pack, tìm các tùy chọn trong bộ mã hóa / giải mã và đó là nó. Có tùy chọn chọn chất lượng và kích thước của video được giới thiệu. Câu trả lời là ở đây, nhưng tôi rút ngắn lý do cụ thể. Trả lời tốt bởi bạn mặc dù
Mors Violenta

1
Câu trả lời của bạn sẽ hữu ích hơn nếu bạn đề xuất loại codec nào phù hợp với nhu cầu của người hỏi.
stib
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.