Làm cách nào tôi có thể có được các MP4 chất lượng cao / kích thước thấp như nhóm phát hành LOL?


20

Nhóm phát hành LOL thực hiện công việc tuyệt vời trong việc mã hóa các bản phát hành của họ trên The Vampire Diaries (trên các chương trình khác như How I Met Your Mother, bitrate cao hơn, do đó dường như không hiệu quả).

Khoảng 200 MB mỗi tệp ~ 45 phút, xem xét chất lượng tuyệt vời.

Tôi chỉ tự hỏi những gì cài đặt và phần mềm họ sử dụng. Tôi đã cố gắng lấy thông tin từ các tệp này bằng MediaInfo, sau đó sử dụng cài đặt trong HandBrake, nhưng tôi không thực sự thành công.

Có ai giúp tôi không? Tôi không có nhiều kiến ​​thức về mã hóa / nén.

Câu trả lời:


28

Các hướng dẫn để mã hóa video (lậu) được gọi là "hướng dẫn cảnh". Chúng được ký bởi các nhóm phát hành khác nhau, những người sẽ đảm bảo video của họ tuân thủ hướng dẫn, LOL là một trong những nhóm này.

Bạn có thể tìm thấy một danh sách các hướng dẫn cảnh scenerules.org . Tiêu chuẩn mà bạn đang tìm kiếm là nếu tôi không nhầm lẫn với SD x264 Tiêu chuẩn phát hành TV , giả sử rằng video của bạn là 1280 × 780. Nếu bạn có video HD, có lẽ bạn sẽ không có được chất lượng thực sự tốt ở mức 200 MB trong 45 phút. Điều đó sẽ dịch ra khoảng 600 kBit / s và sẽ đủ cho 720p.

Đối với các công cụ mã hóa, bạn có thể đi khá xa với FFmpeg (mà Handbrake dựa trên). Thủ phạm duy nhất là việc sử dụng âm thanh FFmpeg và FAAC bị cấm đối với hướng dẫn cảnh đó, nhưng trừ khi bạn thực sự đóng góp, điều đó không thành vấn đề.

Nếu bạn không có kinh nghiệm trước về mã hóa video và tất cả các từ khóa này không có ý nghĩa gì với bạn, vui lòng xem qua các bài viết blog sau / Câu hỏi về Siêu người dùng:

Về cơ bản, các quy tắc nói rằng bạn phải sử dụng bộ mã hóa x264 với cài đặt chất lượng Yếu tố tỷ lệ không đổi . Những gì nó làm khác hoàn toàn so với việc đặt bitrate không đổi: bạn có thể đặt CRF để x264 mã hóa video với chất lượng không đổi.

Các mức CRF điển hình nằm trong khoảng từ 18 đến 28 và nhóm phát hành khuyến nghị 19 192020 để mã hóa vật liệu chất lượng cao, dễ nén. Bạn sẽ không biết trước kích thước tệp cuối cùng khi thực hiện điều đó, nhưng đó là toàn bộ vấn đề thực hiện mã hóa CRF: Bạn không quan tâm đến kích thước tệp thực tế mà bạn chỉ muốn chất lượng tốt.

Khi bạn đã thiết lập ffmpegvà bạn đã sẵn sàng cho video đầu vào của mình, việc mã hóa thực sự khá đơn giản. Tuy nhiên, xin lưu ý rằng video nguồn của bạn phải có chất lượng cao, nếu không việc mã hóa lại sẽ chỉ làm giảm chất lượng của video hơn nhiều.

Dưới đây là các thông số chính:

  • video x264 với:
    • CRF 19 Cung20
    • slow hồ sơ (hiệu quả nén tốt hơn với chi phí thời gian mã hóa)
    • H.264 cấp 3.1, đặt một vài ràng buộc
    • Việc thu hẹp phải được thực hiện với bất kỳ bộ chỉnh lưu nào khác ngoài bicubic (là mặc định FFmpeg). Lanczos có thể được sử dụng , ví dụ.
    • Một tunekhung cảnh cho nguồn (ví dụ filmcho nội dung phim tương tự)
  • Âm thanh AAC với:
    • Mã hóa tốc độ bit biến
    • Tốc độ bit giữa 96 và 160 kBit / s

Trong ffmpeg, điều này dịch như sau:

ffmpeg -i input.mp4 \
-c:v libx264 -crf 19 -level 3.1 -preset slow -tune film \
-filter:v scale=-1:720 -sws_flags lanczos \
-c:a libfdk_aac -vbr 5 \
output.mp4

Trong FFmpeg, các lựa chọn của bạn cho mã hóa AAC bị giới hạn một chút. Xem ở đây để biết các lựa chọn AAC của bạn và cũng tham khảo Hướng dẫn mã hóa FFmpeg và AAC để biết thêm thông tin.

Nếu video của bạn kết thúc quá lớn, bạn có thể điều chỉnh CRF. Giá trị ± 6 sẽ dẫn đến một nửa / gấp đôi tốc độ bit, vì vậy nếu bạn bắt đầu với 19 và đến 25, bạn sẽ kết thúc với một nửa tốc độ bit. Các quy tắc cảnh không cho phép CRF trên 24, nhưng có lẽ bạn sẽ không phiền.


2

Không thể nói chuyện với nhóm phát hành mà bạn đã đề cập vì bạn không đăng mediainfo. Nhưng đây là một hướng dẫn để thực hiện mã hóa nhỏ gọn, có nghĩa là tạo ra sự cân bằng chất lượng / kích thước tốt.

Bạn nên bắt đầu với HandBrake và nguồn tốt nhất hiện có. Trong phần Nguồn , chọn một đoạn ngắn nhưng khó mã hóa (có cả hành động và chi tiết tốt). Trong phần Đích , chọn libmkv . Trong tab Video , bỏ chọn sử dụng các tùy chọn nâng cao (bạn vẫn có thể thêm các tùy chọn đó theo từng trường hợp trong nhiều cài đặt ), chọn --rc=crfkiểm soát chuột, mức cao nhất --presetmà máy tính của bạn có thể chịu ( slowerhoặc veryslow), --tunephù hợp với nguồn ( filmhoặc animationnên che nó) đặt hồ sơ và cấp độ thành auto/ auto. Sau đó phát với độ phân giải (chỉ khi nguồn là HD; trong cài đặt hình ảnh, đặt biến dạng thành lỏng lẻo và thay đổi một trong các trục, từ độ phân giải cao tiếp theo trở xuống) và --crfcho đến khi bạn tìm thấy một sự thỏa hiệp tốt giữa chất lượng và bitrate cho phân đoạn ngắn của bạn. Lưu ý rằng crf được gắn với phần còn lại của cài đặt mã hóa của bạn, đó là lý do tại sao nó phải là cài đặt video cuối cùng bạn thay đổi. Trong Audio , hãy sử dụng Vorbis với tốc độ 160kbps (điều này sẽ sử dụng AoTuV -q5, đạt được độ trong suốt mà không cần điều chỉnh thêm). Trong các tab khác, kiểm tra xem mọi thứ bạn có thể cần được giữ nguyên (nhãn chương, bản phụ đề, siêu dữ liệu, v.v.). Khi bạn hài lòng, bạn có thể sử dụng các cài đặt này để mã hóa phần còn lại của tập phim; bitrate trung bình sẽ kết thúc thấp hơn nhiều so với phân khúc khó. Khi bạn tự tin vào cài đặt của mình, bạn có thể sử dụng chúng để mã hóa toàn bộ các mùa.

Làm thế nào các bước trên cải thiện sự gọn nhẹ: libmkv cho phép bạn truy cập vào nhiều codec, hồ sơ và phiên bản hơn để tự động có nghĩa là sẽ không có bất kỳ ràng buộc phát lại nào để giữ lại bộ mã hóa. Một đoạn ngắn (một vài giây) cho bạn nhiều thời gian hơn để điều chỉnh mọi thứ và xem kết quả. Tune tối ưu hóa chất lượng tâm lý (nhận thức) cho những gì nguồn được cho là trông như thế nào. Các cài đặt trước cao hơn cải thiện sự gọn nhẹ với chi phí thời gian mã hóa (điều này có thể không đáng chú ý trên phân đoạn khó khăn của bạn, nhưng sẽ cải thiện tốc độ bit trong hầu hết các cảnh khác). Kiểm soát chuột CRF có nghĩa là mã hóa của bạn sẽ thay đổi tốc độ bit để nhắm mục tiêu một chất lượng nhất định, với các tập đòi hỏi khắt khe hơn để có được nhiều không gian hơn.

Bộ lọc khử nhiễu cũng có thể rất hữu ích nếu bạn giữ độ phân giải gốc. Bạn sẽ muốn giữ cho nó nhẹ vì mục tiêu không phải là để làm sạch khiếm khuyết nguồn có thể nhận biết, mà là để cải thiện khả năng nén mà không làm giảm chất lượng đáng kể. Dưới đây là hướng dẫn sử dụng bộ khử nhiễu HQDN3D của HandBrake , nằm giữa x264 --nrtrạng thái của các chất khử màu nghệ thuật cho chất lượng.


2

Truyền hình FFmpeg

Dựa trên câu trả lời slhck tôi đã xây dựng giải pháp Python đơn giản này để gọi đúng ffmpegtham số. Dựa trên các tiêu chuẩn TV mới nhất 2016 .

python3 ffmpeg-tv.py input.mp4 output.mkv

Mô tả bạn có thể tìm thấy tất cả các tham số và mô tả ngắn gọn về lý do tại sao chúng được đặt theo cách này theo mặc định.

  # 1.3) Providers which downscale 1080i to 720p (e.g. BellTV) are not allowed.
  # 5.10) Resized video must be within 0.5% of the original aspect ratio.
  scale="-1:-1" # <width>:<height>; -1 maintain ratio.

  # 4.1) Video must be H.264/MPEG-4 AVC encoded with x264 8-bit.
  video_encoder="libx264"

  # 4.4) Constant Rate Factor (--crf) must be used.
  # 4.4.1) CRF values below 18 and above 23 are never allowed.
  # http://slhck.info/video/2017/02/24/crf-guide.html
  # (lossless) 0 <- (better) 23 <- (worst) 51
  # ┌─────────────────┬───────┬───────────────────────────────────────────┐
  # │ Compressibility      │  CRF    │ General Examples                                      │
  # ├─────────────────┼───────┼───────────────────────────────────────────┤
  # │ High                 │ 18-19   │ Scripted, Talk Shows, Animation, Stand-Up             │
  # │ Medium               │ 20-21   │ Documentary, Reality, Variety, Poker                  │
  # │ Low                  │ 22-23   │ Sports, Awards, Live Events                           │
  # └─────────────────┴───────┴───────────────────────────────────────────┘
  crf="19"

  # 4.6) Settings cannot go below what is specified by preset (--preset) 'slow'.
  preset="slow"

  # 4.7) Level (--level) must be '4.1'.
  level="4.1"

  # 6.4) Only sharp resizers, such as Spline36Resize, BlackmanResize or LanczosResize/Lanczos4Resize,
  # must be used.
  # 6.4.1) Simple resizers, such as Bicubic, PointResize or Simple, are not allowed. 
  resizer="lanczos"

  # 4.17) Optional tuning (--tune) parameters allowed are: 'film', 'grain' or 'animation'. 
  # /superuser/564402/explanation-of-x264-tune
  # film – intended for high-bitrate/high-quality movie content. Lower deblocking is used here.
  tune="film"

  # 8.1) Audio must be in the original format provided.
  # 8.1.1) Transcoding audio is not allowed.
  # 8.2) Multiple language audio tracks are allowed.
  # Since we cannot ensure that the external content is in an acceptable TV format, we'll recode
  # it into aac. We're just playing safe here.
  # 
  # FFmpeg supports two AAC-LC encoders (aac and libfdk_aac) and one HE-AAC (v1/2) encoder
  # (libfdk_aac). The license of libfdk_aac is not compatible with GPL, so the GPL does not permit
  # distribution of binaries containing incompatible code when GPL-licensed code is also included.
  # libfdk_aac is "non-free", and requires ffmpeg to be compiled manually.
  # Second best encoder is the native FFmpeg AAC encoder. (aac)
  audio_encoder="aac"

  # Audio quality (bit rate).
  # Use either VBR or CBR. VBR is the easiest.
  # https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_vbr
  # VBR: Target a quality, rather than a specific bit rate. 1 is lowest quality and 5 is highest
  # quality.
  # https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_cbr
  # http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Bitrate_Modes
  # CBR: kbps
  vbr="5"
  cbr=None

  # 8.2) Multiple language audio tracks are allowed.
  # 8.2.1) The default audio track must be the language intended for release (e.g. An English release
  # containing English, German and Russian audio tracks, must have the default flag set on the English
  # track).
  # https://trac.ffmpeg.org/wiki/Map
  # Include "all" inputs to the output: -map 0
  map="0"

Xem ffmpeg-tv.py để biết mã nguồn hoàn chỉnh.

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.