1.一種基于安卓平臺的本地錄像與同步推送的方法,其特征在于,
在啟用錄像功能時,在Android系統(tǒng)的應(yīng)用層直接獲取攝像頭輸出的原始視頻數(shù)據(jù)和麥克風(fēng)輸出的原始音頻數(shù)據(jù);
創(chuàng)建視頻預(yù)處理模塊和音頻預(yù)處理模塊,分別對獲取到的所述原始視頻數(shù)據(jù)和原始音頻數(shù)據(jù)統(tǒng)一進(jìn)行預(yù)編譯;
創(chuàng)建視頻編碼器和音頻編碼器,分別對預(yù)編譯后的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行編碼;
創(chuàng)建視頻分流器和音頻分流器,分別將編碼后的視頻數(shù)據(jù)和音頻數(shù)據(jù)分成兩路,將其中一路編碼后的視頻數(shù)據(jù)和其中一路編碼后的音頻數(shù)據(jù)傳送至RTP通信模塊進(jìn)行打包封裝,并向遠(yuǎn)程實時推送;將另外一路編碼后的視頻數(shù)據(jù)和另外一路編碼后的音頻數(shù)據(jù)發(fā)送至媒體混合器MediaMuxer進(jìn)行音視頻混合處理后,進(jìn)行本地保存。
2.根據(jù)權(quán)利要求1所述的基于安卓平臺的本地錄像與同步推送的方法,其特征在于,所述原始視頻數(shù)據(jù)是通過攝像頭的Preview接口回調(diào)獲取的;所述原始音頻數(shù)據(jù)是通過Android系統(tǒng)的AudioRecoder接口獲取的。
3.根據(jù)權(quán)利要求1或2所述的基于安卓平臺的本地錄像與同步推送的方法,其特征在于,在Android系統(tǒng)的應(yīng)用層創(chuàng)建所述的視頻預(yù)處理模塊和所述的音頻預(yù)處理模塊,在Android系統(tǒng)的應(yīng)用層完成對所述原始視頻數(shù)據(jù)和原始音頻數(shù)據(jù)的預(yù)編譯。
4.根據(jù)權(quán)利要求3所述的基于安卓平臺的本地錄像與同步推送的方法,其特征在于,在Android系統(tǒng)的應(yīng)用層利用標(biāo)準(zhǔn)API的MediaCodec編碼接口創(chuàng)建所述的視頻編碼器和音頻編碼器,在Android系統(tǒng)的應(yīng)用層完成對所述預(yù)編譯后的視頻數(shù)據(jù)和音頻數(shù)據(jù)的編碼處理。
5.根據(jù)權(quán)利要求4所述的基于安卓平臺的本地錄像與同步推送的方法,其特征在于,在Android系統(tǒng)的應(yīng)用層創(chuàng)建所述的視頻分流器和音頻分流器,分別對編碼后的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行拷貝,以形成兩路編碼后的視頻數(shù)據(jù)和兩路編碼后的音頻數(shù)據(jù),并進(jìn)行分發(fā)。
6.一種執(zhí)法記錄儀,其系統(tǒng)軟件基于Android平臺開發(fā)設(shè)計,包括攝像頭和麥克風(fēng),其特征在于,還包括:
視頻數(shù)據(jù)采集模塊,其創(chuàng)建于Android系統(tǒng)的應(yīng)用層,在啟用錄像功能時,采集所述攝像頭生成的原始視頻數(shù)據(jù);
音頻數(shù)據(jù)采集模塊,其創(chuàng)建于Android系統(tǒng)的應(yīng)用層,在啟用錄像功能時,采集所述麥克風(fēng)生成的原始音頻數(shù)據(jù);
視頻預(yù)處理模塊,對所述視頻數(shù)據(jù)采集模塊采集到的原始視頻數(shù)據(jù)進(jìn)行預(yù)編譯;
音頻預(yù)處理模塊,對所述音頻數(shù)據(jù)采集模塊采集到的原始音頻數(shù)據(jù)進(jìn)行預(yù)編譯;
視頻編碼器,對所述視頻預(yù)處理模塊編譯輸出的視頻數(shù)據(jù)進(jìn)行編碼;
音頻編碼器,對所述音頻預(yù)處理模塊編譯輸出的音頻數(shù)據(jù)進(jìn)行編碼;
視頻分流器,將所述視頻編碼器編碼輸出的視頻數(shù)據(jù)分成兩路,一路發(fā)送至RTP通信模塊,另一路發(fā)送至媒體混合器MediaMuxer;
音頻分流器,將所述音頻編碼器編碼輸出的音頻數(shù)據(jù)分成兩路,一路發(fā)送至RTP通信模塊,另一路發(fā)送至媒體混合器MediaMuxer;
所述RTP通信模塊將接收到的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行打包封裝,并向遠(yuǎn)程的指揮中心實時推送;
所述媒體混合器MediaMuxer將接收到的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行音視頻混合處理,并保存在所述執(zhí)法記錄儀內(nèi)部的存儲器中。
7.根據(jù)權(quán)利要求6所述的執(zhí)法記錄儀,其特征在于,
所述視頻數(shù)據(jù)采集模塊通過攝像頭的Preview接口回調(diào)獲取所述的原始視頻數(shù)據(jù);
所述音頻數(shù)據(jù)采集模塊通過Android系統(tǒng)的AudioRecoder接口獲取所述麥克風(fēng)輸出的原始音頻數(shù)據(jù)。
8.根據(jù)權(quán)利要求6或7所述的執(zhí)法記錄儀,其特征在于,所述視頻預(yù)處理模塊和音頻預(yù)處理模塊創(chuàng)建于Android系統(tǒng)的應(yīng)用層,在Android系統(tǒng)的應(yīng)用層完成對所述原始視頻數(shù)據(jù)和原始音頻數(shù)據(jù)的預(yù)編譯。
9.根據(jù)權(quán)利要求8所述的執(zhí)法記錄儀,其特征在于,所述視頻編碼器和音頻編碼器是在Android系統(tǒng)的應(yīng)用層利用標(biāo)準(zhǔn)API的MediaCodec編碼接口創(chuàng)建的,所述視頻編碼器和音頻編碼器在Android系統(tǒng)的應(yīng)用層完成對預(yù)編譯后的視頻數(shù)據(jù)和音頻數(shù)據(jù)的編碼處理。
10.根據(jù)權(quán)利要求9所述的執(zhí)法記錄儀,其特征在于,所述視頻分流器和音頻分流器是在Android系統(tǒng)的應(yīng)用層創(chuàng)建的,分別對所述編碼后的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行拷貝,以形成兩路編碼后的視頻數(shù)據(jù)和兩路編碼后的音頻數(shù)據(jù),并進(jìn)行分發(fā)。