Technical Blog

기술 인사이트

실시간 통신, 미디어 처리, AI 통합에 대한 심층 분석.Agora SDK를 중심으로 프로덕션 레벨의 구현을 다룹니다.

27
포스트
5
카테고리
Fundamentals
·30분 읽기

B-frame 완전정복 — 5 STEP으로 이해하는 '미래를 아는 인코더'

B-frame은 왜 미래를 알고 있는가? 인코더 버퍼링의 실체, STEP 1~5로 따라가는 인코딩 흐름, '기분 문자 메시지' 비유, I:P:B = 100:40:20 압축 효율, GOP 구조, 재배열 ≠ 끊김, 1시간 영화 28GB 절약의 수학적 근거, VOD ✅ / WebRTC ❌ 사용 범위에 Bonus로 'B-frame은 오디오와 관계 있나?'(Opus 블록, 립싱크 간접 경로)까지.

B-frameI-frameP-frameGOP+9
Media
·22분 읽기

H.264 Profile·인코더 옵션·비트레이트의 현실 — WebRTC 운영자를 위한 코덱 현장 지침

Constrained Baseline vs Main vs High, Main/High + bframes=0이 실용 답인 이유, MTI(Mandatory To Implement) 개념, x264 threads 옵션, 하드웨어 vs 소프트웨어 인코더 (chrome://webrtc-internals 확인법), 720p@30fps = 663 Mbps 무압축을 ~300배 압축한 결과인 1.5~2.5 Mbps의 수학적 근거, 해상도/FPS별 비트레이트 표까지.

H.264ProfileBaselineMain+9
Fundamentals
·20분 읽기

프레임의 모든 것 — Interlaced / I·P·B-frame / GOP / PLI·FIR까지

아날로그 TV의 Interlaced 비월 주사에서 디지털 Progressive로, 720p의 p의 정체, I/P/B-frame 용량 차이(100:15:8), WebRTC가 I+P만 쓰는 구조적 이유, GOP 길이 트레이드오프, PLI/FIR RTCP 피드백 루프, B-frame의 양방향 참조 그물망이 장애 복구를 어렵게 만드는 방식, 전송 순서 ≠ 표시 순서로 발생하는 look-ahead 지연까지 다이어그램으로 정리.

InterlacedProgressiveI-frameP-frame+8
Media
·22분 읽기

RTMP 라이브 송출의 B-frame이 만든 PTS rollback — WebRTC 변환 경로의 실패 지점 추적

Origin → Wowza → Agora Media Gateway → SDRTN → Web SDK 경로에서 발생한 영상 freeze의 근본 원인은 송출단 H.264 Main profile + B-frame. Media Gateway가 '가상 호스트'로 작동하는 내부 설계(스트림 키 인코딩, 패스스루 vs 엣지 트랜스코딩), DTS/PTS 분리와 RTP 단일 타임스탬프 모델의 충돌, libwebrtc가 Constrained Baseline을 쓰는 이유, 4개 격리 테스트, Baseline / Main+bframes=0 / bitrate 하향 처방까지.

RTMPWebRTCH.264B-frame+6

시리즈: 실시간 통화, 어떻게 녹화하는가

포스트 12–17은 연재 글입니다. 순서대로 읽으시면 전체 맥락을 이해할 수 있습니다.

© 2026 Frank Kim. All rights reserved.