LOL 릴리스 그룹과 같은 고품질 / 저 크기 MP4를 얻으려면 어떻게해야합니까?


20

릴리스 그룹 LOL은 뱀파이어 다이어리에서 릴리스를 인코딩하는 데 탁월한 역할을합니다 (다른 방법으로는 비트 레이트가 높을수록 비트 레이트가 높으므로 효과적이지 않은 것으로 보입니다).

~ 45 분 MP4 파일 당 약 200MB, 놀라운 품질 고려.

어떤 설정과 어떤 소프트웨어를 사용하는지 궁금합니다. MediaInfo를 사용하여 이러한 파일에서 정보를 얻은 다음 HandBrake의 설정을 사용하려고했지만 실제로 성공하지 못했습니다.

누구든지 나를 도울 수 있습니까? 인코딩 / 압축에 대한 지식이 없습니다.

답변:


28

비디오 (피 레이션 된) 비디오 인코딩 지침을 "씬 가이드"라고합니다. 그들은 비디오가 가이드를 준수하는지 확인하기 위해 다양한 릴리스 그룹에서 서명했으며 LOL은 이러한 그룹 중 하나입니다.

scene guides scenerules.org 목록을 찾을 수 있습니다 . 당신이 찾고있는 표준은 비디오가 1280 × 780이라고 가정하고 실수하지 않은 경우 SD x264 TV Releasing Standard 입니다. HD 비디오를 사용하는 경우 45 분 동안 200MB에서 좋은 품질을 얻지 못할 수 있습니다. 그것은 대략 600 kBit / s로 변환되며 720p에 충분합니다.

인코딩 도구는 FFmpeg (핸드 브레이크 기반)를 사용 하면 거의 얻을 수 있습니다 . 유일한 원인은 해당 장면 가이드에 FFmpeg 및 FAAC 오디오 사용이 금지되어 있지만 실제로 기고하지 않는 한 중요하지 않습니다.

비디오 인코딩에 대한 사전 경험이없고 이러한 키워드가 모두 의미가없는 경우 다음 블로그 기사 / 슈퍼 사용자 질문을 살펴보십시오.

기본적으로 규칙에 따르면 x264 인코더를 Constant Rate Factor 품질 설정 과 함께 사용해야 합니다. 일정한 비트 전송률을 설정하는 것과는 다른 점이 있습니다. CRF가 비디오를 일정한 품질로 x264로 인코딩하도록 설정할 수 있습니다.

일반적인 CRF 수준은 18과 28 사이이며 릴리스 그룹은 압축하기 쉬운 재료의 고품질 인코딩을 위해 19–20을 권장합니다. 이를 수행 할 때 최종 파일 크기를 미리 알 수는 없지만 이것이 CRF 인코딩의 핵심입니다. 실제 파일 크기는 신경 쓰지 않고 단지 좋은 품질을 원합니다.

를 설정하고 ffmpeg입력 비디오를 준비하면 실제로 인코딩이 매우 간단합니다. 참고 그러나 소스 비디오는 한다 만 훨씬 더 품질이 저하됩니다 그렇지 않으면 재 인코딩, 높은 품질의.

주요 매개 변수는 다음과 같습니다.

  • x264 비디오 :
    • CRF 19–20
    • slow 프로파일 (인코딩 시간을 희생하여 더 나은 압축 효율)
    • 몇 가지 제약 조건을 설정하는 H.264 레벨 3.1
    • 다운 큐어 링은 바이 큐빅 (FFmpeg-default) 이외의 다른 resizer로 수행해야합니다. 예를 들어 Lanczos를 사용할 수 있습니다 .
    • tune설정 소스에 대한 (예를 들어 film영화와 같은 콘텐츠에 대한)
  • AAC 오디오 :
    • 가변 비트 레이트 인코딩
    • 96 ~ 160 kBit / s의 비트 전송률

ffmpeg,이 다음에 번역 :

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

FFmpeg에서는 AAC 인코딩에 대한 선택이 약간 제한되어 있습니다. AAC 선택에 대해서는 여기를 참조하고 자세한 내용FFmpeg 및 AAC 인코딩 안내서 를 참조하십시오.

비디오가 너무 큰 경우 CRF를 조정할 수 있습니다. 값이 ± 6이면 비트 전송률의 절반 / 두 배가되므로 19로 시작하여 25로 이동하면 비트 전송률의 절반이됩니다. 장면 규칙에 따라 24 이상의 CRF는 허용되지 않지만 아마 신경 쓰지 않을 것입니다.


2

mediainfo를 게시하지 않았기 때문에 언급 한 릴리스 그룹과 대화 할 수 없습니다. 그러나 다음은 컴팩트 인코딩을 만드는 가이드입니다. 이는 좋은 품질 / 크기 균형을 유지하는 것을 의미합니다.

HandBrake와 가능한 최고의 소스로 시작해야합니다. 에서 소스 부 (작용 세밀한 모두) 인 코드 세그먼트 짧지 만 어려운 선택. 에서 대상 섹션 선택 libmkv을 . 에서 비디오 탭의 선택을 취소 사용 고급 옵션 (당신은 여전히에서 경우에 의해 이러한 옵션 케이스를 추가 할 수 있습니다 더 설정 )을 선택 --rc=crfratecontrol이 가장 높은 --preset컴퓨터가 부담 (수 slower또는 veryslow,)는 --tune(소스와 일치 film하거나 animation그것을 커버한다) 및 프로필과 레벨을 auto/로 설정하십시오 auto. 그런 다음 해상도로 재생하십시오 (소스가 HD 인 경우에만; 그림 설정에서, 아나모픽을 느슨하게 설정하고 다음 고해상도에서 아래로 축에서 축 중 하나를 변경하십시오.) 및 --crf짧은 세그먼트의 품질과 비트 전송률간에 적절한 절충안을 찾을 때까지. crf는 나머지 인코딩 설정과 연결되어 있으므로 마지막으로 변경 한 비디오 설정이어야합니다. 에서 오디오 로 이동 보비스 에서 160kbps의 (이 AoTuV을 사용합니다 -q5추가 조정없이 투명성을 달성). 에서 다른 탭, 필요한 모든 내용이 보존되어 있는지 확인하십시오 (챕터 마크, 자막 트랙, 메타 데이터 등). 만족 스러우면이 설정을 사용하여 나머지 에피소드를 인코딩 할 수 있습니다. 평균 비트 전송률은 어려운 세그먼트보다 훨씬 낮아야합니다. 설정에 확신이 있으면 전체 시즌을 인코딩하는 데 사용할 수 있습니다.

위의 단계가 소형화를 개선하는 방법 : libmkv를 사용하면 더 많은 코덱, 프로파일 및 버전에 자동으로 액세스 할 수 있으므로 인코더를 보류하기위한 재생 제한이 없습니다. 짧은 세그먼트 (몇 초)는 일을 조정하고 결과를 볼 수있는 더 많은 시간을 제공합니다. Tune은 소스의 모양에 맞게 psychovisual (인식 된) 품질을 최적화합니다. 높은 사전 설정은 인코딩 시간을 희생하여 압축성을 향상시킵니다 (이는 어려운 세그먼트에서는 눈에 띄지 않지만 대부분의 다른 장면에서는 비트 전송률을 향상시킵니다). CRF 속도 제어는 인코딩이 주어진 품질을 목표로 비트 전송률을 변경하여 더 까다로운 에피소드가 더 많은 공간을 확보 함을 의미합니다.

노이즈 제거 필터는 원래 해상도를 유지하는 경우 매우 유용 할 수 있습니다. 인식 가능한 소스 결함을 정리하는 것이 아니라 눈에 띄게 품질을 저하시키지 않으면 서 압축성을 향상시키는 것이 목표이기 때문에 가볍게 유지하고 싶을 것입니다. 다음은 품질을 위해 x264 와 최첨단 디노이 저 사이에있는 HandBrake의 HQDN3D denoiser 사용 안내서 입니다.--nr


2

FFmpeg TV

slhck 답변을 기반으로 올바른 ffmpeg매개 변수 를 호출하기 위해이 간단한 Python 솔루션을 구축했습니다 . 최신 장면 규칙 2016 TV 표준을 기반으로합니다 .

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

모든 매개 변수를 찾을 수 있으며 기본적으로 이러한 방법으로 설정 한 이유에 대한 간략한 설명이 있습니다.

  # 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"

전체 소스 코드는 ffmpeg-tv.py 를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.