책소개
RTSP, RTP/RTCP, SDP 프로토콜, TS 포맷을 알아보자
VOD 서비스를 위한 스트림 서버
이제, RTSP 서버는 C언어로 간단히 구현한다!
VOD 서비스를 하기 위해서 실시간 스트리밍 프로토콜(RTSP)을 따르는 RTSP 서버가 필요하다. 이 책은 프로그래밍 언어인 C를 이용해 RTSP 서버를 구현하고 테스트하는 방법을 안내하고 있다. C언어로 RTSP 서버를 직접 구현한다면 초보 낚시꾼이 대어를 낚듯 짜릿한 기분을 만끽할 수 있다.
이 책은 서버 구현법에 그치지 않고 테스트하는 방법까지 소개하고 있는 점이 이채롭다. 많은 기술 서적이 시스템 설치하는 법을 안내하지만, 그것이 제대로 구동하는지 검증하는 데 인색한 것과는 사뭇 다른 접근이다. 더 나아가 특정한 라이브러리(함수 모음)에 의존함으로써 이용자를 난감하게 만드는 시스템 구축 방법을 지양하고 흔히 사용하는 로직을 이용하고 있는 점도 이 책의 미덕이다. 이 분야 전문가가 아니더라도 C언어에 대한 지식이 있는 독자라면 누구나 스트림 서버를 구현할 수 있다는 점에서 이 책의 매력은 충분하다 하겠다.
목차
Prologue _04
제1장 개발 환경 만들기 _07
1-1. 디렉터리 구조와 파일 08
1-2. 컴파일 11
제2장 RTSP 스트림 서버의 이해와 구현 과정 _13
2-1. 개요 18
2-2. 메인 데이터의 생성과 제거 22
2-3. 클라이언트 접속 대기, 접속, 세션 생성 25
2-4. RTSP OPTIONS 28
2-5. RTSP DESCRIBE 29
2-6. RTSP SETUP 30
2-7. RTSP PLAY 33
2-8. RTSP PAUSE 35
2-9. RTSP TEARDOWN 36
2-10. RTCP bye 38
제3장 소스 코드 읽기 _39
3-1. 리스트 40
3-2. 해시 테이블 68
3-3. ini 파일 읽기 95
3-4. 로그 파일 쓰기 109
3-5. 소켓 122
3-6. TS(mpeg2 ts) 포맷 157
3-7. 버퍼 178
3-8. CRC 182
3-9. Utility 183
3-10. 프로그램의 시작 –main() 함수와 qq_rs_main 구조체 198
3-11. 설정 파일 읽기 213
3-12. 콘텐츠 정보 223
3-13. RTSP 227
3-14. RTP/RTCP 272
3-15. SDP 296
3-16. 클라이언트 세션 304
제4장 테스트 하기 _381
4-1. VLC로 테스트하기 382
Epilogue _384