EasyIPCamera高性能攝像機RTSP服務器RTSPServer解決方案


EasyIPCamera

EasyIPCamera是由EasyDarwin團隊開發的一套非常穩定、易用、支持多種平台(包括Windows/Linux 32&64,Android,ARM hisiv100/hisiv200/hisiv400等平台)的RTSPServer組件,接口調用非常簡單成熟,無需關注RTSPServer中關於客戶端監聽接入、音視頻多路復用、RTSP具體流程、RTP打包與發送等相關問題,支持多種音視頻格式,再也不用像調用live555 RTSPServer那樣處理整個RTSP OPTIONS/DESCRIBE/SETUP/PLAY/RTP/RTCP的復雜流程和擔心內存釋放的問題了!

BTW:EasyIPCamera在海思3156A芯片上的性能經過我們半年多的調試,目前已經可以穩定在4路1080P並發:

  • TCP/UDP 方式分別連接3路下,1080P 4M 定碼率,音頻格式G711(64K)G726(16K 24K 32K 40K)AAC(64K 96K 128K)都沒問題;
  • TCP/UDP 方式分別連接4路下,1080P 4M 定碼率,音頻格式G711(64K)G726(16K 24K 32K 40K)AAC(64K 96K 128K)都沒問題;
  • 支持Basic、Digest兩種鑒權模式;

調用示例

  • EasyIPCamera:在不同的調用平台上,我們實現了不同的調用示例;

    1. EasyIPCamera_Win:Windows采集攝像頭/屏幕桌面/麥克風的音視頻做為數據源的RTSPServer;
    2. EasyIPCamera_RTSP:以其他IPC硬件(海康、大華、雄邁)提供的RTSP流做為EasyIPCamera的數據源,對外提供RTSPServer功能;
    3. ARM上我們提供基於海思v100/v200/v300/v400以及其他ARM芯片的攝像機芯片編碼后的音視頻做為數據源的RTSPServer,具體芯片調用demo示例代碼請郵件至support@easydarwin.org申請;

    Windows編譯方法,

    Visual Studio 2010 編譯:./EasyIPCamera-master/EasyIPCamera.sln
    

    Linux編譯方法,

    chmod +x ./Buildit
    ./Buildit
    
  • 我們同時提供Windows、Linux、ARM版本的EasyIPCamera SDK:可通過郵件發送至support@easydarwin.org進行申請,注意ARM版本需要附上交叉編譯工具鏈,我們會幫您具體編譯,目前Github已經更新支持的平台有:

    支持平台 芯片 目錄位置
    Windows x86 ./Lib/
    Windows x64 ./Lib/x64/
    Linux x86 ./Lib/
    Linux x64 ./Lib/x64/
    Android Android ./Android/
    海思 arm-hisiv100-linux ./Lib/hisiv100/
    海思 arm-hisiv200-linux ./Lib/hisiv200/
    海思 arm-hisiv300-linux ./Lib/hisiv300/
    海思 arm-hisiv400-linux ./Lib/hisiv400/
    郵件獲取更多平台版本

調用全流程

設計方法

EasyIPCamera參考live555 testProg中的testOnDemandRTSPServer示例程序,將一個live555 testOnDemandRTSPServer封裝在一個類中,例如,我們稱為Class EasyIPCamera,在EasyIPCamera_Create接口調用時,我們新建一個EasyIPCamera對象,再通過調用EasyIPCamera_Startup接口,將EasyIPCamera RTSPServer所需要的監聽端口、認證信息、通道信息等參數輸入到EasyIPCamera中后,EasyIPCamera就正式開始建立監聽對外服務了,在服務的過程中,當有客戶端的連接或斷開,都會以回調事件的形式,通知給Controller調用者,調用者再具體來處理相關的回調任務,返回給EasyIPCamera,在EasyIPCamera服務的過程當中,如果回調要求需要Controller調用者提供音視頻數據幀,Controller調用者可以通過EasyIPCamera_PushFrame接口,向EasyIPCamera輸送具體的音視頻幀數據,當調用者需要結束RTSPServer服務,只需要調用EasyIPCamera_Shutdown停止服務,再調用EasyIPCamera_Release釋放EasyIPCamera就可以了,這樣整個服務過程就完整了!

EasyIPCamera支持數據格式說明

EASY_SDK_VIDEO_FRAME_FLAG數據可支持多種視頻格式:

#define EASY_SDK_VIDEO_CODEC_H265           /* H265  */
#define EASY_SDK_VIDEO_CODEC_H264           /* H264  */
#define EASY_SDK_VIDEO_CODEC_MJPEG          /* MJPEG */
#define EASY_SDK_VIDEO_CODEC_MPEG4          /* MPEG4 */

視頻幀標識支持

#define EASY_SDK_VIDEO_FRAME_I              /* I幀 */
#define EASY_SDK_VIDEO_FRAME_P              /* P幀 */
#define EASY_SDK_VIDEO_FRAME_B              /* B幀 */
#define EASY_SDK_VIDEO_FRAME_J              /* JPEG */

EASY_SDK_AUDIO_FRAME_FLAG數據可支持多種音頻格式:

#define EASY_SDK_AUDIO_CODEC_AAC            /* AAC */
#define EASY_SDK_AUDIO_CODEC_G711A          /* G711 alaw*/
#define EASY_SDK_AUDIO_CODEC_G711U          /* G711 ulaw*/
#define EASY_SDK_AUDIO_CODEC_G726           /* G726 */

獲取更多信息

郵件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2016

EasyDarwin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM