안녕하세요? 이번에 pSOSystem에서 RTP/RTCP, RTSP 구현을 해야하는데 리눅스에서 쓸만한 소스를 먼저 보려구합니다. 혹시 RTP/RTCP, RTSP를 포팅해보신분이 계시다면 추천할 만한 소스좀 부탁드립니다. 될 수 있으면 깔끔하게 다른코드말고 저것만 들어 있으면 더욱 좋겠습니다.
등입니다. 이것들은 모두 C++로 구현이 되어 있네요... Bellab은 rtplib만을 C로 구현한 것이고, 그래도 고무적인 것은 linphone 이라는 VoIP 소스에 RTP와 RTCP가 C로 구현된 library가 있다는 것입니다. 하지만 아직도 RTSP가 C로 구현된 것은 찾질 못했네요...
임베디드 환경에서 개발하시네요.
저도 임베디드 환경에서 VoIP시스템 쪽에서 일을 하고 있는데,
원하는 소스를 구하기가 만만치가 않더군요.
임베디드 환경이라서, 저도 모든 코드가 C로 구현되어 있는데,
RTP쪽은(저는 RTSP쪽은 아직 안해봐서 모르겠구요), openh323의 C++코드를 가져다가 C로 변환해서 사용했습니다.
지금은 이것저것 필요한 것들을 추가해서 플랫폼 독립적인 형태의 라이브러리로 갖추어졌는데, 처음엔 저도 님처럼 C로 구현된 라이브러리를 찾으러 다니곤 했지만, C로 된 코드는 아시겠지만, 가독성이 떨어지기 때문에 자신의 환경에 맞추어서 리팩토링하기가 만만치 않습니다.
그리고, 대부분의 RTP라이브러리 들은 내부적으로 사용하는 또다른 라이브러리를 지원해주어야 하는 제약사항이 있어서, 이런 부분들을 뜯어내는데 시간이 대부분이 걸리고, 다 뜯어내더라도 안정성 시험하느라 시간이 다 가죠.
개인적으로는 openh323라이브러리 쪽에 비교적 작업하기가 용이했읍니다. 파일도 그렇게 많지 않고, ptlib쪽 문서를 참조하면서 의존코드들을 하나씩 자신의 임베디드 환경쪽 라이브러리에 맞게 변형하면서 작업했거든요.
좀더 풍부한 기능의 RTP라이브러리가 필요하다면, vovida쪽을 적극 추천합니다. 코드가 좀 많아서 작업시간은 많이 걸리겠지만, 다양한 기능을 지원하더군요.
RTSP 라면.... Real Time Streaming Protocol
RTSP 라면.... Real Time Streaming Protocol 을 말하시는 것인가요?
맞다면... www.videolan.org 한번 가보시는 것이 좋을듯 합니다...
아, 제가 중요한걸 빼먹었군요...
C 로 구현된 소스를 찾고 있는데, 제가 찾아본 RTP/RTCP, RTSP의 구현은 모두 C++, JAVA 로 된것 밖에는 찾을 수가 없네요... Bellab 에서 제공하는 rtplib 만 C로 되어있는데, 이것은 RTSP 가 구현되어 있지 않아서...
혹시 RTSP라도 C로 구현되어 있는 것이 있는지 찾아 봤는데, 힘드네요...찾기가..
그리고 혹시 이런 문제,
1. C 로 된 librtp에 C++로 구현된 RTSP를 포팅한다.
2. C++로 모두 구현된 소스를 C로 포팅한다.
둘중에 한 방법을 고르라면, 어떤 것을 선택하시겠습니까?
고수님들의 조언을...
- by swhong in jgdr.net -
http://www.live.com/liveMedia/
http://www.live.com/liveMedia/
--
익스펙토 페트로눔
그것 역시
live.com에서 제공하는 library역시 C++ library입니다. 지금까지 제가 찾아본 바로는
BellLab,
Darwin,
Hellix,
Komsys,
live.com,
MPEG4IP,
PopCorn,
SR-RTP(nms.lcs.mit.edu),
UCL-CommonMultimediaLibrary,
VOVIDA
등입니다. 이것들은 모두 C++로 구현이 되어 있네요... Bellab은 rtplib만을 C로 구현한 것이고, 그래도 고무적인 것은 linphone 이라는 VoIP 소스에 RTP와 RTCP가 C로 구현된 library가 있다는 것입니다. 하지만 아직도 RTSP가 C로 구현된 것은 찾질 못했네요...
ㅠ.ㅠ
- by swhong in jgdr.net -
spook 라는 녀석이 있습니다.
rtsp가 c로 구현된걸로 알고 있는데요.. 저도 이걸 이용해서 rtsp 서버를 만들었는데.. 아쉬운것은 오픈소스 프로젝트가 이미 드롭된지 오래되었다는 게 좀 그렇죠..
spook를 참조해보시면 어떨까요?
제가 rtsp 서버를 구현하는데 같은 이유로 고생을 좀 했는데 spook 라는 소스를 구했는데.. 이건 다 C로 되어있습니다.
좀 오래전에 drop 된 프로젝트이긴 하지만, 공부하시기엔 좋을 것 같네요.
임베디드 환경에서 개발하시네요.저도 임베디드 환경에서 VoIP시스템
임베디드 환경에서 개발하시네요.
저도 임베디드 환경에서 VoIP시스템 쪽에서 일을 하고 있는데,
원하는 소스를 구하기가 만만치가 않더군요.
임베디드 환경이라서, 저도 모든 코드가 C로 구현되어 있는데,
RTP쪽은(저는 RTSP쪽은 아직 안해봐서 모르겠구요), openh323의 C++코드를 가져다가 C로 변환해서 사용했습니다.
지금은 이것저것 필요한 것들을 추가해서 플랫폼 독립적인 형태의 라이브러리로 갖추어졌는데, 처음엔 저도 님처럼 C로 구현된 라이브러리를 찾으러 다니곤 했지만, C로 된 코드는 아시겠지만, 가독성이 떨어지기 때문에 자신의 환경에 맞추어서 리팩토링하기가 만만치 않습니다.
그리고, 대부분의 RTP라이브러리 들은 내부적으로 사용하는 또다른 라이브러리를 지원해주어야 하는 제약사항이 있어서, 이런 부분들을 뜯어내는데 시간이 대부분이 걸리고, 다 뜯어내더라도 안정성 시험하느라 시간이 다 가죠.
개인적으로는 openh323라이브러리 쪽에 비교적 작업하기가 용이했읍니다. 파일도 그렇게 많지 않고, ptlib쪽 문서를 참조하면서 의존코드들을 하나씩 자신의 임베디드 환경쪽 라이브러리에 맞게 변형하면서 작업했거든요.
좀더 풍부한 기능의 RTP라이브러리가 필요하다면, vovida쪽을 적극 추천합니다. 코드가 좀 많아서 작업시간은 많이 걸리겠지만, 다양한 기능을 지원하더군요.
댓글 달기