관련링크
참여자
-
Recent Posts
- 모니터 없이 X 서버 실행 후 나중에 모니터 연결해도 화면이 안보인다면
- Sentry24DVR 2.7-4 (2011.11.28) Release
- Sentry24CMS 2.1-9 (2011.11.18) Release
- Arch Linux에 WireShark 설치
- ClutterGst 메모리 누수 디버깅
- 클러터(Clutter) 사용기
- Sentry24DVR 2.7-3 (2011.09.02) Release
- GNOME 개발 설명서 / 동영상
- eventfd 소개
- Sentry24DVR 2.7-2 / 2.6-11 (2011.07.07) Release
- Vala 언어 소개
- 라자냐 코드 (Lasagna Code)
- Sentry24DVR 2.7-1 (2011.06.10) Release
- PCD – Process Control Daemon
- Sentry24DVR 2.6-10 / 2.5-12 / 2.4-39 (2011.05.30) Release
Tags
Agile Android ArchLinux Clutter Coding CPAN Debug Diag Eclipse Embedded FontConfig GCC Git GLib glibc GNOME GooCanvas GStreamer GTK+ GUI Hangul Inotify iphone Kernel Linux Log::Simple::Color MacOSX Network News @en ONVIF Perl Release Schedule Shell Sqlite SSH Strace Ubuntu Udev Web Windows Wireshark Wordpress Xorg 카스탈리엔Archives
- January 2012
- November 2011
- October 2011
- September 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- September 2008
- August 2008
- July 2008
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
우분투 9.04 릴리스, 하지만…
우분투 9.04 버전이 릴리스 되었지만 안정화되려면 업데이트를 조금 더 기다려야 할 것 같습니다. 릴리스 노트를 보면 인텔 드라이버 성능 저하와 디스플레이 멈춤(freeze), EXT4 파일 시스템 불안정, 945보드에서 디스크 인식 문제 등 많은 문제가 언급되어 있군요. 한글 글꼴 설정도 조금 문제가 있어 수정이 필요한 것 같고…
6개월 간격으로 정식 릴리스를 무조건 해야 하니 발생하는 어쩔 수 없는 [...]
Posted in Development
Comments Off
GObject Property Binding 기능이 필요함
맥 코코아 프레임웍을 공부하면서 GTK+ / GObject 라이브러리에도 있으면 참 좋겠다고 생각한 것 중 하나가 특정 속성(property)을 다른 객체의 속성과 결합하는(binding) 개념입니다. 이를 이용해 자동으로 모델과 뷰를 클릭 몇 번으로 연결하고, 더 나아가 객체 배열은 물론 선택한 항목까지 자동으로 동기화되는 걸 보면서 정말 잘 만들어진 프레임웍이라는 걸 새삼 느낍니다. 또한 사용자가 직접 설계한 클래스를 인터페이스 빌더의 [...]
Posted in Development
Comments Off
우분투에서 C 라이브러리 맨페이지(manpage) 설치하기
리눅스에서 개발할때 ‘man’ 명령을 이용해 매뉴얼 페이지를 많이 참고하는데, 자주 시스템을 다시 설치하다 보니 설치되지 않은 매뉴얼 때문에 매번 구글을 찾는라 귀찮은 적이 많아 적어둡니다. 우분투나 데비안에서만 유효합니다.
기본적인 C 라이브러리 관련 매뉴얼 패이지는 `manpages-dev’ 패키지를 설치하면 되고, pthread_*() 류의 함수는 `glibc-doc’ 패키지를 설치하면 됩니다. 즉, 터미널에서 다음과 같이 입력하면 됩니다.
sudo apt-get install manpages-dev glibc-doc
Posted in Development
Comments Off
HTTP (Hypertext Transfer Protocol)
GET
URI에 해당하는 정보를 요청하는 메소드 입니다.
- Accept-Lanugage : 원하는 언어를 명시합니다. 서버에게 요청에 대한 응답을 받을 때, 클라이언트 자신이 처리할 수 있는 언어를 알립니다.
- Accpet-Encoding : 원하는 인코딩 방식을 명시합니다.
- User-Agent : 요청을 보내는 클라이언트에 대한 정보를 나타냅니다.
- Connection : 요청이나 응답을 보내는 측이 특정 연결에 대해 원하는 옵션을 명시합니다. “close” 일 경우 응답이 마무리 되었을 경우 연결이 닫도록 합니다. HTTP/1.0 이하의 버전에서는 반드시 Connection 헤더를 명시해야 한다고 합니다.
해당 자료에 대한 접근 권한이 없을 경우 서버로 부터 “401 Unauthorized” 응답을 받습니다.

HTTP BASIC 인증 (RFC 2617)
Base64 인코딩, “사용자명:비밀번호”

이후의 모든 요청에는 BASIC 인증 헤더를 넣어주어야 합니다.
200 OK : 요청이 성공적으로 이루어졌음을 나타냅니다.

POST
정보를 요청하는 메소드 입니다. GET 메소드와 다른 점은 길이 제한이 없고, 요청 정보를 HTML 의 헤더에 넣어서 보낸다는 것입니다.


Posted in Development
Leave a comment
RTP (Real-time Transport Protocol)
오디오/비디오와 같은 실시간 데이터를 멀티캐스트 혹은 유니캐스트 네트워크를 통해 전송하는데 적합한 단말 대 단말(end-to-end) 전송 프로토콜입니다. RTP 프로토콜은 자원 예약을 준비하지 않으며, 실시간 서비스에 대한 QoS 를 보장하지 않습니다.
RTP header, version 2:
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| V | P | X | CC | M | PT | Sequence Number | |||||||||||||||||||||||||
| Timestamp | |||||||||||||||||||||||||||||||
| Synchronization Source (SSRC) identifier | |||||||||||||||||||||||||||||||
| Contributing Source (CSRC) identifier [0..15] … | |||||||||||||||||||||||||||||||
- V (Version) : 2bit
- P (Padding) : 1bit
- X (Extension) : 1bit
- CC (CSRC Count) : 4bits
- M (Marker) : 1bit
- PT (Payload Type) : 7bits
- Sequence Number : 16bits
- Timestamp : 32bits
- SSRC (Synchronization Source) : 32bits
- CSRC (Contributing Source) : 32bits
RTP 버전을 나타냅니다. RFC 3550 일 경우 2 입니다. (RFC 1889 는 1)
페이로드의 일부가 아닌 패딩 바이트가 있는지를 나타냅니다. 패딩의 마지막 바이트에는 무시해야 하는 패딩 바이트의 길이에 대한 정보가 있습니다.
고정 RTP 헤더(12bytes) 이후에 하나의 확장 헤더가 있는지를 나타냅니다.
고정 RTP 헤더 이후에 있는 CSRC의 수를 나타냅니다.
패킷 스트림 내에서 프레임의 경계와 같은 중요한 이벤트를 표시하는데 사용합니다.
RTP 페이로드의 형식을 나타냅니다. (RFC 3551) 수신하는 측에서는 모르는 형식을 경우 무시해야 합니다.
RTP 데이터 패킷을 보낼 때 마다 하나씩 증가시키는 순서 번호입니다. 수신측에서는 이 값을 이용하여 패킷 손실을 감지하고, 패킷 순서 복구에 사용합니다. 순서 번호 초기 값은 보안상의 이유로 무작위하게 생성합니다.
RTP 데이터 패킷의 샘플링 순간을 나타냅니다. 샘플링 순간은 단조롭고 선형적인 시간이어야 합니다. 예를 들어 샘플링이 160 단위로 발생한다면, 각 블락은 160 단위로 증가할 것입니다.
동기화 소스에 대한 식별자입니다. 값은 무작위한 값을 사용하며, 같은 RTP 세션 내에서는 유일해야 합니다.
해당 RTP 패킷의 페이로드를 구성하는데 기여한 SSRC 의 리스트를 나타냅니다. 최대 갯수는 15개 입니다. CSRC 는 mixer에 의해 추가됩니다.
RTP Packet Capture
RTCP (Real-time Control Protocol)
RTCP 는 세션 내의 모든 참가자에게 주기적으로 제어 패킷을 전송합니다. RTCP 를 통해 데이터의 전달 상황 감시, 최소한의 제어 기능, 미디어 식별 기능 등을 처리합니다. RTCP 패킷의 종류는 다음과 같습니다.
- SR (Sender Report)

- RR (Receiver Report)

- SDES (Source Description) : Canonical Name(CNAME) 을 포함한 소스에 대한 명세
- BYE : 참가 종료를 알립니다.
- APP : 어플리케이션에 특화된 기능 입니다.
RTP Profile for Audio and Video Conferences with Minimal Control
| PT | Name | Type | Clock rate (Hz) | Audio channels | References |
|---|---|---|---|---|---|
| 0 | PCMU | Audio | 8000 | 1 | RFC 3551 |
| 1 | 1016 | Audio | 8000 | 1 | RFC 3551 |
| 2 | G721 | Audio | 8000 | 1 | RFC 3551 |
| 3 | GSM | Audio | 8000 | 1 | RFC 3551 |
| 4 | G723 | Audio | 8000 | 1 | |
| 5 | DVI4 | Audio | 8000 | 1 | RFC 3551 |
| 6 | DVI4 | Audio | 16000 | 1 | RFC 3551 |
| 7 | LPC | Audio | 8000 | 1 | RFC 3551 |
| 8 | PCMA | Audio | 8000 | 1 | RFC 3551 |
| 9 | G722 | Audio | 8000 | 1 | RFC 3551 |
| 10 | L16 | Audio | 44100 | 2 | RFC 3551 |
| 11 | L16 | Audio | 44100 | 1 | RFC 3551 |
| 12 | QCELP | Audio | 8000 | 1 | |
| 13 | CN | Audio | 8000 | 1 | RFC 3389 |
| 14 | MPA | Audio | 90000 | RFC 2250, RFC 3551 | |
| 15 | G728 | Audio | 8000 | 1 | RFC 3551 |
| 16 | DVI4 | Audio | 11025 | 1 | |
| 17 | DVI4 | Audio | 22050 | 1 | |
| 18 | G729 | Audio | 8000 | 1 | |
| 19 | reserved | Audio | |||
| 20 - 24 |
|||||
| 25 | CellB | Video | 90000 | RFC 2029 | |
| 26 | JPEG | Video | 90000 | RFC 2435 | |
| 27 | |||||
| 28 | nv | Video | 90000 | RFC 3551 | |
| 29 30 |
|||||
| 31 | H261 | Video | 90000 | RFC 2032 | |
| 32 | MPV | Video | 90000 | RFC 2250 | |
| 33 | MP2T | Audio/Video | 90000 | RFC 2250 | |
| 34 | H263 | Video | 90000 | ||
| 35 - 71 |
|||||
| 72 - 76 |
reserved | RFC 3550 | |||
| 77 - 95 |
|||||
| 96 - 127 |
dynamic | RFC 3551 | |||
| dynamic | GSM-HR | Audio | 8000 | 1 | |
| dynamic | GSM-EFR | Audio | 8000 | 1 | |
| dynamic | L8 | Audio | variable | variable | |
| dynamic | RED | Audio | |||
| dynamic | VDVI | Audio | variable | 1 | |
| dynamic | BT656 | Video | 90000 | ||
| dynamic | H263-1998 | Video | 90000 | ||
| dynamic | MP1S | Video | 90000 | ||
| dynamic | MP2P | Video | 90000 | ||
| dynamic | BMPEG | Video | 90000 |
참고 자료:
Posted in Development
Leave a comment



