国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FreeSWITCH添加g729編碼及pcap音頻提取

這篇具有很好參考價(jià)值的文章主要介紹了FreeSWITCH添加g729編碼及pcap音頻提取。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

操作系統(tǒng) : debian 11 (bullseye,docker)、Windows10_x64
FreeSWITCH版本 :1.10.9
Docker版本:23.0.6
Python 版本 ?: ?3.9.2
?
日常工作中,有時(shí)候會(huì)遇到g729編碼的相關(guān)內(nèi)容,但FreeSWITCH默認(rèn)是不支持g729編碼轉(zhuǎn)碼的,今天記錄下使用開(kāi)源的 bcg729 進(jìn)行g(shù)729轉(zhuǎn)碼的過(guò)程(本文僅作技術(shù)研究,商業(yè)使用請(qǐng)購(gòu)買商業(yè)版本),以及如何從g729格式的pcap數(shù)據(jù)中提取音頻文件。
本文基于docker打包的debian 11環(huán)境,構(gòu)建base包的過(guò)程可以參考我之前的文章:
https://www.cnblogs.com/MikeZhang/p/dockerPackFs20230617.html?

一、添加g729編碼及開(kāi)啟轉(zhuǎn)碼

1、獲取bcg729源碼

GitHub地址:https://github.com/xadhoom/mod_bcg729

FreeSWITCH添加g729編碼及pcap音頻提取

?下載命令:

wget https://github.com/xadhoom/mod_bcg729/archive/refs/tags/v1.0.5.tar.gz

2、編譯及安裝bcg729編碼

1)啟動(dòng)編譯環(huán)境:

docker run --name fs --network host -t -d fs:base /bin/bash

FreeSWITCH添加g729編碼及pcap音頻提取

?說(shuō)明:該環(huán)境已經(jīng)安裝freeswitch 1.10.9,具體編譯過(guò)程可參考我在文章開(kāi)頭給出的參考信息。

2)復(fù)制及解壓文件

docker cp bcg729_v1.0.5.tar.gz fs:/usr/src
docker exec -it fs bash
cd /usr/src/
tar zxf bcg729_v1.0.5.tar.gz

3)編譯及安裝

編譯過(guò)程會(huì)從這里下代碼:

git clone https://github.com/BelledonneCommunications/bcg729.git

需要安裝git

apt install git

編譯及安裝:

make && make install

也可在宿主機(jī)系統(tǒng)下載后復(fù)制到docker容器,如果下載過(guò)慢,可直接使用我下載及編譯好的文件:

FreeSWITCH添加g729編碼及pcap音頻提取

?編譯及安裝過(guò)程:

docker cp mod_bcg729_all fs:/root/
docker exec -it fs bash
cd /root/mod_bcg729_all/
make && make install
可從如下渠道獲?。?/div>
關(guān)注微信公眾號(hào)(聊聊博文,文末可掃碼)后回復(fù) 20230722 獲取。

3、加載bcg729編碼

文件:conf/autoload_configs/modules.conf.xml

修改內(nèi)容:

<!--load module="mod_g729"/-->
<load module="mod_bcg729"/>

控制臺(tái)查看編碼:

show codec

FreeSWITCH添加g729編碼及pcap音頻提取

4、開(kāi)啟bcg729轉(zhuǎn)碼

文件:conf/vars.xml
修改或添加內(nèi)容:

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,G722,PCMU,PCMA,G729,H264,VP8"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,G722,PCMU,PCMA,G729,H264,VP8"/>
<X-PRE-PROCESS cmd="set"data="media_mix_inbound_outbound_codecs=true"/>

文件:

sip_profiles/internal.xml
sip_profiles/external.xml

修改或添加內(nèi)容:

<param name="inbound-late-negotiation" value="false"/>
<param name="disable-transcoding" value="false"/>

5、其它

如果測(cè)試過(guò)程中遇到30秒掛機(jī)的情況,設(shè)置下rtp地址為內(nèi)網(wǎng):

<X-PRE-PROCESS cmd="set" data="external_rtp_ip=192.168.137.33"/>
<X-PRE-PROCESS cmd="set" data="external_sip_ip=192.168.137.33"/>

二、從pcap提取音頻文件

?提取過(guò)程和提取pcma格式音頻類似,相關(guān)工具可從這篇文章提供的渠道獲?。?/p>

https://www.cnblogs.com/MikeZhang/p/20230326-pcapToWav.html

這里簡(jiǎn)單描述下區(qū)別。

1、Windows 10環(huán)境使用wireshark提取rtp音頻

https://wiki.wireshark.org/HowToDecodeG729

使用wireshak 2.6.0以后的版本支持解析g729格式。

FreeSWITCH添加g729編碼及pcap音頻提取

?解析效果如下:

FreeSWITCH添加g729編碼及pcap音頻提取

?導(dǎo)出wav文件:

FreeSWITCH添加g729編碼及pcap音頻提取

?在彈出的界面輸入文件路徑即可。

2、Windows 10環(huán)境使用python提取rtp音頻

使用python導(dǎo)出rtp音頻大概分為以下兩個(gè)步驟:

1)使用libpcap從pcap文件中提取raw格式的音頻;

libpcap的使用可以參考這篇文章:

https://www.cnblogs.com/MikeZhang/p/pythonUseLibpcap20221029.html

2)使用ffmpeg將raw格式轉(zhuǎn)換成需要的格式(比如mp3)

可從ffmpeg官方網(wǎng)站下載,也可從文末提供的資源地址獲取。

python示例代碼:

FreeSWITCH添加g729編碼及pcap音頻提取

完整示例代碼可以從如下途徑獲?。?/span>

關(guān)注微信公眾號(hào)(聊聊博文,文末可掃碼)后回復(fù) 20230722 獲取。

三、運(yùn)行效果

?1、bcg729轉(zhuǎn)碼運(yùn)行效果

1000分機(jī):僅支持g729編碼
1001分機(jī):僅支持PCMA編碼

FreeSWITCH添加g729編碼及pcap音頻提取

?轉(zhuǎn)碼效果:

FreeSWITCH添加g729編碼及pcap音頻提取

?g729轉(zhuǎn)碼運(yùn)行效果視頻可以從如下途徑獲?。?/span>

關(guān)注微信公眾號(hào)(聊聊博文,文末可掃碼)后回復(fù) 2023072201 獲取。

2、pcap音頻提取效果

wireshark提取效果:

FreeSWITCH添加g729編碼及pcap音頻提取

?python提取效果:

FreeSWITCH添加g729編碼及pcap音頻提取

?g729音頻提取運(yùn)行效果視頻可以從如下途徑獲?。?/span>

關(guān)注微信公眾號(hào)(聊聊博文,文末可掃碼)后回復(fù) 2023072202 獲取。

四、資源下載

本文涉及源碼和文件,可以從如下途徑獲?。?/p>

關(guān)注微信公眾號(hào)(聊聊博文,文末可掃碼)后回復(fù) 20230722 獲取。

FreeSWITCH添加g729編碼及pcap音頻提取

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-595533.html

到了這里,關(guān)于FreeSWITCH添加g729編碼及pcap音頻提取的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FreeSWITCH添加自定義endpoint之媒體交互

    FreeSWITCH添加自定義endpoint之媒體交互

    操作系統(tǒng) :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 ? 之前寫過(guò)FreeSWITCH添加自定義endpoint的文章: https://www.cnblogs.com/MikeZhang/p/fsAddEndpoint20230528.html 今天記錄下endpoint媒體交互的過(guò)程并提供示例代碼及相關(guān)資源下載,本文涉及示例代碼和資源可從如下渠道獲?。?關(guān)注微信公眾號(hào)(聊聊

    2024年02月14日
    瀏覽(12)
  • FreeSWITCH添加自定義endpoint之a(chǎn)pi及app開(kāi)發(fā)

    FreeSWITCH添加自定義endpoint之a(chǎn)pi及app開(kāi)發(fā)

    操作系統(tǒng) :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 之前寫過(guò)FreeSWITCH添加自定義endpoint的文章,今天整理下api及app開(kāi)發(fā)的筆記。歷史文章可參考如下鏈接: FreeSWITCH添加自定義endpoint FreeSWITCH添加自定義endpoint之媒體交互 這里列舉下開(kāi)發(fā)過(guò)程中常用的函數(shù)。 1、根據(jù)uuid查詢session 使用

    2024年02月08日
    瀏覽(16)
  • 如何提取視頻的音頻到手機(jī)?這個(gè)音頻提取方法很簡(jiǎn)單

    如何提取視頻的音頻到手機(jī)?這個(gè)音頻提取方法很簡(jiǎn)單

    提取視頻中的音頻可以幫助您獲得視頻的聲音部分,而無(wú)需觀看整個(gè)視頻。這對(duì)于那些只想聽(tīng)視頻的聲音或想將視頻的聲音與其他音頻內(nèi)容混合使用的人來(lái)說(shuō)非常方便。此外,提取音頻也可以為需要?jiǎng)?chuàng)建音頻剪輯或混音的音頻制作者提供幫助。那么怎么提取呢?教大家?guī)追N簡(jiǎn)

    2024年02月10日
    瀏覽(20)
  • 怎么提取視頻中的音頻?這些提取音頻方法很簡(jiǎn)單

    怎么提取視頻中的音頻?這些提取音頻方法很簡(jiǎn)單

    將視頻中的音頻提取出來(lái),可以單獨(dú)對(duì)音頻進(jìn)行處理,如剪輯、增強(qiáng)聲音等,而不影響視頻本身的內(nèi)容。在后期制作中,音頻需要經(jīng)過(guò)一系列的處理,如去噪、降噪、混響等,提取出音頻可以更方便地進(jìn)行這些處理,確保音頻效果更好。教大家?guī)追N好用的提取音頻方法,一起

    2024年02月16日
    瀏覽(21)
  • 提取音頻怎么弄?這三個(gè)方法讓你一鍵提取音頻文件

    提取音頻怎么弄?這三個(gè)方法讓你一鍵提取音頻文件

    大家平時(shí)在看視頻的時(shí)候會(huì)聽(tīng)到很多好聽(tīng)的背景音樂(lè),如果我們想將其中的音樂(lè)單獨(dú)提取出來(lái),要怎么操作呢?有哪些簡(jiǎn)單快捷的方法可以幫我們提取到自己想要的音頻呢? 接下來(lái)就來(lái)教大家音頻提取器怎么用,保證大家一看就會(huì),讓你輕松保存下你喜歡的音頻內(nèi)容。 方法

    2024年02月02日
    瀏覽(21)
  • 視頻的音頻提取怎么做?這樣提取很簡(jiǎn)單

    視頻的音頻提取怎么做?這樣提取很簡(jiǎn)單

    提取視頻中的音頻通常在需要從視頻中獨(dú)立使用音頻或需要對(duì)音頻進(jìn)行編輯時(shí)使用。例如,當(dāng)我們需要將音頻上傳到音樂(lè)流媒體平臺(tái)或?qū)⑵溆糜诓タ突蚱渌纛l項(xiàng)目時(shí),就可能需要從視頻中提取音頻。問(wèn)題是該怎么提取呢?教給大家?guī)追N簡(jiǎn)單的提取方法,一起來(lái)學(xué)習(xí)下吧。

    2024年02月16日
    瀏覽(17)
  • 【FFmpeg】ffmpeg 命令行參數(shù) ⑦ ( 使用 FFmpeg 提取 PCM 音頻數(shù)據(jù) | PCM 音頻格式 | 提取 PCM 音頻格式常用參數(shù) | 查詢文檔方法 )

    【FFmpeg】ffmpeg 命令行參數(shù) ⑦ ( 使用 FFmpeg 提取 PCM 音頻數(shù)據(jù) | PCM 音頻格式 | 提取 PCM 音頻格式常用參數(shù) | 查詢文檔方法 )

    PCM 全稱 \\\" Pulse Code Modulation \\\" , 脈沖編碼調(diào)制 , 該 音頻數(shù)據(jù) 是未經(jīng)壓縮的 采樣裸數(shù)據(jù) , 只有 知道該數(shù)據(jù)的 采樣率 / 采樣位數(shù) / 通道數(shù) 才能將該音頻數(shù)據(jù)播放出來(lái) ; PCM 數(shù)據(jù)是 最原始的音頻數(shù)據(jù) , 音頻內(nèi)容完全無(wú)損 , 但是 PCM 數(shù)據(jù)體積龐大 , 對(duì) PCM 音頻數(shù)據(jù)壓縮 分為 無(wú)損壓縮

    2024年04月11日
    瀏覽(31)
  • 通過(guò)python如何實(shí)現(xiàn)視頻提取音頻,并將音頻轉(zhuǎn)文本

    通過(guò)python如何實(shí)現(xiàn)視頻提取音頻,并將音頻轉(zhuǎn)文本

    大致思路: (1)使用moviepy庫(kù)中的VideoFileClip類讀取視頻文件,并將其轉(zhuǎn)換為音頻文件; (2)使用pydub庫(kù)中的splitonsilence函數(shù)將音頻文件分割成多個(gè)音頻片段,以便進(jìn)行語(yǔ)音識(shí)別; (3)使用SpeechRecognition庫(kù)中的Recognizer類進(jìn)行語(yǔ)音識(shí)別,并將識(shí)別結(jié)果寫入文本文件中 注意: 將

    2024年02月05日
    瀏覽(31)
  • 音視頻開(kāi)發(fā):音頻編碼原理+采集+編碼實(shí)戰(zhàn)

    音視頻開(kāi)發(fā):音頻編碼原理+采集+編碼實(shí)戰(zhàn)

    消除冗余信息,壓縮量最大,也叫有損壓縮 剔除人耳聽(tīng)覺(jué)范圍外的音頻信號(hào)20Hz以下和20000Hz以上; 去除被掩蔽的音頻信號(hào),信號(hào)的遮蔽可以分為頻域遮蔽和時(shí)域遮蔽; 頻域遮蔽效應(yīng) 屏蔽70分貝以下,20HZ以下,20000HZ以上 屏蔽分貝小,頻率小的聲音 兩個(gè)頻率相近發(fā)出的聲音,

    2024年02月05日
    瀏覽(20)
  • 如何用python提取音頻

    可以使用 Python 的多種庫(kù)來(lái)提取音頻。其中一種方法是使用 ffmpeg 庫(kù)。 首先,需要安裝 ffmpeg 庫(kù),可以使用以下命令進(jìn)行安裝: 然后,可以使用以下代碼來(lái)提取音頻: 在這段代碼中,我們首先讀取了視頻文件,然后使用 audio 屬性提取了視頻文件中的音頻流,最后使用 ffmpeg.

    2024年02月11日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包