배경

구현하고자 하는 기능

1번 기기의 카메라 화면을 2번 기기 화면에서 보여주고자 한다.

이때, 1번 기기에서는 화면을 보여주지 않고, 카메라 센서만 사용한다.

✚ 사진 촬영 후 고화질 사진까지 2번 기기에서 확인하기


구현

🆚 비디오 스트리밍 vs 사진 촬영 비교

항목 비디오 스트리밍 사진 촬영
출력 타입 AVCaptureVideoDataOutput AVCapturePhotoOutput
해상도 720p (1280x720) 센서 최대 해상도 (예: 4032x3024)
프레임레이트 30fps 단발성
인코딩 H.264 (VideoToolbox) JPEG (카메라 하드웨어)
파일 크기 프레임당 ~10-50KB 사진당 ~300-500KB
전송 모드 unreliable (UDP) reliable (TCP)
품질 우선순위 속도 (실시간성) 품질 (선명도)
처리 파이프라인 CVPixelBuffer → H.264 → NAL Units → 디코드 → CVPixelBuffer → CGImage JPEG → UIImage

MediaPacket 구조

프레임 인코딩 과정

프레임 디코딩 과정

사진 촬영 과정


학습거리

비디오 코덱 관련: H.264, SPS와 PPS, IDR/P/B Frame, 실시간 스트리밍에서의 프레임 정보 관리

H.264

SPS와 PPS

IDR/P/B Frame

실시간 스트리밍에서의 프레임 정보 관리