音視頻開發平臺 視頻錄製技術

如果您需要一個開放的、可實現視頻錄製的音視頻解決方案sdk,那麼強烈推薦Chat,它開放了所有的API接口及技術文檔,有部分示例源碼可供參考。但是需要注意的是Any從Chat r4115版本纔開始支持的哦,Chat開放了錄像服務器SDK接口(Chat Record Server SDK)。

錄像服務器SDK支持的平臺包括Windows、Linux(x86、x64),支持的開發語言有C++、Java,示例代碼位於SDK的src\recordserver目錄下。
Chat Record Server SDK是服務器端SDK,用於上層應用實現特定的服務器錄製功能。通過SDK接口可以獲取到每個用戶的視頻、語音、通信數據,由上層應用自己寫入文件。

錄像服務器SDK的工作原理是:

一、錄像服務器啓動:調用API:BRRS_InitSDK(0);之後,錄像服務器主動與核心服務器建立連接,連接成功之後,將會觸發錄像服務器的回調事件:BRRS_OnServerAppMessage_CallBack;錄像服務器讀當前目錄下的配置文件AnyChatRecordServer.ini,配置文件會指明核心服務器的IP地址、端口信息;錄像服務器與核心服務器連接成功之後,業務服務器也將收到相關的事件通知;

二、錄像任務的下達:
1、客戶端下達錄像指令:調用API接口:BRAC_StreamRecordCtrl(dwUserId, TRUE,dwFlags, 0),其中dwFlags參數增加標誌:BRAC_RECORD_FLAGS_SERVER;
2、或是業務服務器下達錄像指令:調用API接口:BRAS_StreamRecordCtrl(dwUserId, TRUE, 0, 0);

三、錄像任務的執行:
1、開始錄像事件:當錄像服務器收到錄像任務後,將產生一個回調事件:BRRS_OnRecordStart_CallBack(userid),通知上層應用錄像開始,上層應用可以創建一個文件用於錄像;
2、錄像數據事件:當錄像服務器收到語音、視頻、通信數據之後,將重複的產生回調事件:BRRS_OnRecordBuffer_CallBack(userid, buf),通知上層有錄像數據,上層應用可以將這些數據寫入到文件中;

四、錄像任務的停止:
1、客戶端下達停止指令:調用API接口:BRAC_StreamRecordCtrl(dwUserId, FALSE, 0, 0),
2、或是業務服務器下達錄像指令:調用API接口:BRAS_StreamRecordCtrl(dwUserId, FALSE, 0, 0);


五、事件回調:
1、錄像停止事件:當錄像服務器收到停止指令之後,將在錄像服務器上產生一個回調事件:BRRS_OnRecordFinish_CallBack(userid),上層應用可以關閉文件,並將錄像文件名通過事件參數反饋給錄像服務器,錄像服務器會將相關信息通知到業務服務器;

2、錄像任務事件:當業務服務器收到錄像服務器返回的錄像任務相關信息之後,將在業務服務器上產生一個回調事件:BRAS_OnServerRecord_CallBack(userid, lpRecordFileName),業務服務器可以將相關的錄像記錄進行保存等操作;

如有疑問可參閱bbs.anychat.cn

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章