https://trac.ffmpeg.org/wiki/Encode/H.265
샤냐인코더나 미디어코더의 기본 기능만 활용할 사람들은 볼 일이 거의 없습니다만,
조금 파고들어 스크립트를 만든다거나 프리셋을 추가한다거나
GUI프론트엔드는 됐고 커맨드라인에서 직접 파라메터를 주거나 일괄작업을 하겠다면 한 번쯤은 꼭 보게 되는 사이트.
Understanding Rate Control Modes (x264, x265, vpx)
Werner Robitza Mar 1, 2017
이 글말고도 이 사람 사이트에 봐둘 내용이 많습니다.
여러 가지 인코딩 방식의 원리를, 그림을 써서 쉽게 설명해주고 있습니다.
깊게 들어가기 전에 처음 보는 글로 좋습니다.
- CQP. motion jpeg같다고 생각하면 됨. 쓰지마.
- ABR. 빠르고 화질나쁨. 그외 모두 단점.
- CBR. 생방송, 비트레이트가 고정되어야 하는 용도
- 2-Pass ABR. 여유 대역폭을 확보해야 하지만 스트리밍에도 단말기용에도 괜찮음. 타임랙이 있음.
- CQ/CRF. 비트레이트(그리고 최종 파일크기)를 확정하지 못하므로 스트리밍은 아니지만, 나머지 용도 대부분에 좋음. 저 글에 따르면 2-pass CRF도 있다는데, 이것은 비트레이트는 똑같고 파일 크기를 줄일 수 있다고 한다. 샤나인코더에서는 아직 기본값으로 지원하지 않음.
- VBV. 이건 별개는 아니고 최대 비트레이트값 지정. 이것은 2-pass vbr과 crf와 같이 쓸 수 있는 기법. crf를 이렇게 조건지우면 capped crf라고 불리기도. ffmpeg 커맨드라인 옵션에서 지정 가능.
1. 보존용.. crf
2. 스트리밍. 2-pass crf, abr+vbv
3. 라이브 스트리밍. 1-pass crf, abr+vbv
4. 모바일 단말기용 인코딩. 2-pass abr (요즘은 단말기도 HEVC가속을 지원하는 칩셋을 탑재하기 시작해서 의미는 조금 퇴색한 듯)
CRF모드일 때,
q값은 x264에서 23을 기준. x265는 24(또는 28)을 기준.
q값을 -+6바꾸면 비트레이트가 대충 반이나 두배가 됨.
허용값은 0~51 또는 0~63범위지만 15~35사이가 쓸 만한 범위.
작성자가 팀 NnK라는, 녹화서비스같은 분위기인 글.
2014년말부터 HEVC로 인코딩.
CRF 22가 기본, 또는 23, 26을 쓰기도 함. 원본 품질이 가장 중요.
q값 20은 시간과 용량이 너무 들고 23은 조금 아쉬웠다고.
따라할 사람은 프리셋 언급은 없음에 주의.
저는 HEVC일 때 CRF Q=23 을 기본으로 합니다.
HEVC가속이 되는 하드웨어가 없어서 프리셋은 veryfast.. 샤나인코더 기본값입니다.
이 설정이, 제가 쓰기에는 원본이 웬만큼 좋아도 감당해주는 것 같고, 원본이 웬만큼 나빠도 더 열화시키지는 않습니다.
Q=26 은 슬슬 구분선 양옆의 열화와 깍두기가 생깁니다. 단 원본이 좋으면 덜합니다. 봐줄 만한 한계입니다.
Q=28 이상은 그냥 최소한의 기록용입니다. 영상은 중요한 부분을 알아볼 수 있으면 되는 정도.
Q=19 를 가장 좋은 것으로 사용합니다.
댓글 없음:
댓글 쓰기