본문 바로가기

내가 작업한 것들/소프트웨어

FLTK를 이용한 RTSP stream player (Win32)

 이 프로그램은 현재 제작중인 엔진을 테스트 하기 위해 만든 프로그램이나, 일반적인 RTSP 환경에서도 쓸 수 있기 때문에 공개 합니다. 다만 이 프로그램은 PC 성능에 따라 rendering performance 가 차이가 날 수 있음을 먼저 밝히며, 오디오 기능이 빠져 있음을 알리는 바 입니다.



 접속은 프로그램 실행시 바로 선택 할 수 있으며 기본으로 rtsp protocl 을 모두 지정해서 써 주셔야 합니다. 기본으로 테스트를 위해 만든 프로그램이다 보니 주소 오류에 대해서는 처리가 안되어 있음을 인지 해야 합니다.



 RTSP 서버에 붙게 되면 위 화면처럼 해당 스트림 크기로 자동으로 창이 조절 되면서 실행 됩니다. 아쉽게도 별도로 윈도우 크기를 조절할 수 있도록 만들어 지지는 않았습니다.


 이 프로그램은 개조된 FLTK 를 사용하고 있으며, 해당 소스코드는 는 100% 제 gitHub에 다음 주소로 공개 하고 있습니다. 라이센스는 FLTK 기본을 따르며, 이에 소스를 공개 중 입니다.

https://github.com/rageworx/fltk-1.3.3-ts


 또한 사용된 ffmpeg 은 2.2 에 SIMD assembler 를 제외한 C code 만을 이용한 scaler 를 사용 하였습니다.

 렌더링은 FLTK 에서 바로 GDI 로 flushing 을 하며, RGBA 32bit 를 사용하여 렌더링 하므로 DirectX 나 OpenGL 과 같은 가속은 사용하고 있지 않습니다. (추후 rendering surface 옵션은 변경 할 지도 ... )

https://github.com/rageworx/ffmpeg-2.2-mingw


 이 프로그램은 POSIX thread 를 사용 하였으며, 동적 연결을 위해 배포판 압축 파일 안에 dll 을 포함 하고 있습니다. 또한 프로그램 자체에 사용된 엔진이나 구동 소스는 아직 개발 중이며 추후 다듬어 지는대로 gitHub 에 공개 하도록 하겠습니다.


오디오 재생 추가 (출력 불안 함) 다운로드:


fltk_rtspp_03748.zip


used:

minGW32 version 4.8.1

FLTK 1.3.3 (ts mod)

ffmpeg 2.2 (rw mod, non-SIMD scaler, transform)

pthread 2.9.1.0 (gc)

오디오 출력: Windows audio mapper


........................


구 버젼 다운로드:


fltk_rtspp_03039.zip

used:

minGW32 version 4.8.1

FLTK 1.3.3 (ts mod)

ffmpeg 2.2 (rw mod, non-SIMD scaler, transform)

pthread 2.9.1.0 (gc)