本申請涉及通話領(lǐng)域,尤其涉及一種錄音方法及計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、在虛擬號業(yè)務(wù)中,在信令完成媒體協(xié)商后,通過中介的媒體服務(wù)把主被叫的實時傳輸協(xié)議(real-time?transport?protocol,rtp)流透傳對方來實現(xiàn)通話,這個過程中會在中介媒體服務(wù)中完成錄音等媒體處理過程。
2、相關(guān)技術(shù)中,對虛擬號場景下的通話進(jìn)行錄音一般有如下兩種方案:一、分別對主被叫的rtp流解析出對應(yīng)的音頻數(shù)據(jù),然后根據(jù)不同企業(yè)的合音信息進(jìn)行實時解碼、編碼、合音操作后得到一個結(jié)果文件,但這種實時合音錄音成功率偏低,且服務(wù)運維成本高;二、對rtp流解析主被叫的音頻數(shù)據(jù)分別保存為音頻文件,在通過異步消息機(jī)制把合音信息和錄音文件傳輸?shù)胶弦舴?wù)去合成錄音成一個文件,但這種方式合音過程復(fù)雜,且合音之后有聲音不同步、部分音頻數(shù)據(jù)丟失等情況。
技術(shù)實現(xiàn)思路
1、本申請實施例提供一種錄音方法及計算機(jī)程序產(chǎn)品,以解決相關(guān)技術(shù)中的合音錄音成功率低等的問題。
2、第一方面,本申請實施例提供了一種錄音方法,應(yīng)用于錄音系統(tǒng),所述錄音系統(tǒng)包括媒體錄音模塊和媒體合音模塊,所述方法包括:
3、在所述媒體錄音模塊接收到信令服務(wù)端發(fā)起會話建立的情況下,初始化原生文件,并將合音信息寫入所述原生文件,所述會話建立中攜帶所述合音信息;
4、所述媒體錄音模塊監(jiān)聽主被叫終端雙方的實時傳輸協(xié)議rtp流,得到通話信息,并將所述通話信息寫入所述原生文件;
5、所述媒體錄音模塊對所述主被叫終端雙方的rtp流數(shù)據(jù)進(jìn)行封裝,并將封裝后的rtp流數(shù)據(jù)在緩沖區(qū)進(jìn)行排序,將排序后的rtp流數(shù)據(jù)寫入所述原生文件;
6、在通話結(jié)束的情況下,所述媒體合音模塊基于所述原生文件中的信息進(jìn)行合音,得到錄音文件。
7、第二方面,本申請實施例提供了一種錄音系統(tǒng),包括媒體錄音模塊和媒體合音模塊,其中,
8、所述媒體錄音模塊,用于接收到信令服務(wù)端發(fā)起會話建立的情況下,初始化原生文件,并將合音信息寫入所述原生文件,所述會話建立中攜帶所述合音信息;監(jiān)聽主被叫終端雙方的實時傳輸協(xié)議rtp流,得到通話信息,并將所述通話信息寫入所述原生文件;對所述主被叫終端雙方的rtp流數(shù)據(jù)進(jìn)行封裝,并將封裝后的rtp流數(shù)據(jù)在緩沖區(qū)進(jìn)行排序,將排序后的rtp流數(shù)據(jù)寫入所述原生文件;
9、所述媒體合音模塊,用于在通話結(jié)束的情況下,基于所述原生文件中的信息進(jìn)行合音,得到錄音文件。
10、第三方面,本申請實施例提供了一種電子設(shè)備,包括處理器,存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。
11、第四方面,本申請實施例提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)上存儲計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)第一方面所述的方法的步驟。
12、第五方面,本申請實施例提供了一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)上的計算機(jī)程序,所述計算機(jī)程序包括程序指令,所述程序指令被計算機(jī)執(zhí)行時實現(xiàn)如第一方面所述的方法的步驟。
13、在本申請實施例中,在錄音過程中設(shè)置一個原生文件,將錄音的相關(guān)文件,如合音信息、通話信息和封裝后的rtp數(shù)據(jù)等寫入該原生文件中,在合音過程中基于上述原生文件進(jìn)行合音,由于原生文件中保存了主被叫的rtp信息,方便定位和修復(fù),提升合音錄音成功率,并且在存儲錄音文件的過程中設(shè)置一個緩沖區(qū),將封裝后的rtp流數(shù)據(jù)在緩沖區(qū)進(jìn)行排序,可以借助緩沖區(qū)解決亂序或丟包的情況,進(jìn)一步提升合音成功率。
1.一種錄音方法,其特征在于,應(yīng)用于錄音系統(tǒng),所述錄音系統(tǒng)包括媒體錄音模塊和媒體合音模塊,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主被叫終端雙方的rtp流數(shù)據(jù)包括早期rtp流數(shù)據(jù)和通話rtp流數(shù)據(jù);
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將封裝后的rtp流數(shù)據(jù)在緩沖區(qū)進(jìn)行排序,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述媒體錄音模塊根據(jù)接收到的rtp流數(shù)據(jù)中的所述seq的值是否連續(xù),判斷所述rtp流數(shù)據(jù)的rtp狀態(tài),包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將排序后的rtp流數(shù)據(jù)寫入所述原生文件,包括:
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將排序后的rtp流數(shù)據(jù)寫入所述原生文件,包括:
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在通話結(jié)束的情況下,所述媒體合音模塊基于所述原生文件中的信息進(jìn)行合音,得到錄音文件,包括:
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,基于所述原生文件進(jìn)行合音,得到錄音文件,包括:
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述對解析出的主被叫終端雙方的rtp流數(shù)據(jù)進(jìn)行補幀處理,得到補幀文件,包括:
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述方法還包括:
14.一種錄音系統(tǒng),其特征在于,包括媒體錄音模塊和媒體合音模塊,其中,
15.一種電子設(shè)備,其特征在于,包括處理器,存儲器及存儲在所述存儲器上并可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至13任一項所述的方法的步驟。
16.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述計算機(jī)可讀存儲介質(zhì)上存儲計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至13任一項所述的方法的步驟。
17.一種計算機(jī)程序產(chǎn)品,其特征在于,所述計算機(jī)程序產(chǎn)品包括存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)上的計算機(jī)程序,所述計算機(jī)程序包括程序指令,所述程序指令被計算機(jī)執(zhí)行時實現(xiàn)如權(quán)利要求1至13任一項所述的方法的步驟。