1. 網路攝像機 音頻編碼 g.711alaw g.711ulaw 選擇哪個好
G.711是語音模擬信號的一種非線性量化,細分有二種:G.711 A-law 和 G.711 u-law。不同的國家和地方都會選取一種作為自己的標准。G.711 bitrate 是64kbps。詳細的資料可以在ITU 上下到相關的spec,下面主要列出一些性能參數:
G.711(PCM方式:PCM=脈碼調制 :Pulse Code Molation)
采樣率:8kHz
信息量:64kbps/channel
理論延遲:0.125msec
品質:MOS值4.10
2. g711a與g711u編碼方式什麼不同
帶寬=包長度×每秒包數 =包長度×(1/打包周期) =(Ethernet頭+IP頭+UDP頭+RTP頭+有效載荷)×(1/打包周期) =(208bit +160bit+64bit+96bit +有效載荷)×(1/打包周期) =(528bit+(打包周期(秒)×每秒的比特數))×(1/打包周期) =( 528 / 打包周期 ) + 每秒比特數 按照上面的計算公式: G711:20ms打包!
3. android解碼播放G711音頻流該怎麼做
java">這是很久的代碼了,有點忘記了,給你參考下。
publicfinalstaticStringTAG="DefaultTalkBackSession";
TalkBackSessionsession;
CodecLibObjobj;
privateBlockingQueue<byte[]>inputQueue=newLinkedBlockingQueue<byte[]>();
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
try{
session=newDefaultTalkBackSession("192.168.78.65",15528);
obj=session.codecAbilityQuery();
if(obj!=null){
session.startLiveListening(newTalkBackSession.OnAudioDataReceiveListener(){
@Override
publicvoidonAudioDataReceived(byte[]data){
Log.d(TAG,"收到音頻數據:"+Utils.toHex(data));
try{
inputQueue.put(data);
}catch(InterruptedExceptione){
}
}
},obj,1);
session.startCall(obj,1);
ulaw_play();
ulaw_recored();
}
}catch(Exceptione){
e.printStackTrace();//|Settings|FileTemplates.
}
}
protectedvoidonDestroy(){
super.onDestroy();
if(session!=null){
if(obj!=null){
session.stopLiveListening();
session.endCall();
}
((DefaultTalkBackSession)session).stop();
}
ulaw_stop();
}
privatevoilaw_stop(){
if(ulaw_decode_thread!=null){
ulaw_decode_thread.interrupt();
}
ulawRunning=false;
}
privatevoilaw_play(){
ulawRunning=true;
(ulaw_decode_thread=newThread(ulaw_decode)).start();
}
booleanulawRunning=false;
Threalaw_decode_thread;
/**
*解碼線程
*/
Runnableulaw_decode=newRunnable(){
publicvoidrun(){
try{
Thread.sleep(200);
}catch(InterruptedExceptione){
e.printStackTrace();
}
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO);
intsamp_rate=8000;
intmaxjitter=AudioTrack.getMinBufferSize(samp_rate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
AudioTracktrack=newAudioTrack(AudioManager.STREAM_VOICE_CALL,samp_rate,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,
maxjitter,AudioTrack.MODE_STREAM);
track.play();
try{
while(ulawRunning)
{
byte[]dataForDecode=newbyte[0];
try{
dataForDecode=inputQueue.take();
}catch(InterruptedExceptione){
}
short[]audioData=newshort[dataForDecode.length];
//decode
G711.ulaw2linear(dataForDecode,audioData,audioData.length);
Log.d(TAG,"audioData="+Utils.toHex(audioData));
//play
track.write(audioData,0,audioData.length);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
track.release();
track=null;
}
}
};
Runnableulaw_encode=newRunnable(){
publicvoidrun(){
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO);
AudioRecordrecord=getAudioRecord();
intframe_size=160;
// intframe_rate=8000/frame_size;
// longframe_period=1000/frame_rate;
short[]audioData=newshort[frame_size];
byte[]encodeData=newbyte[frame_size];
intnum=0;
try{
while(ulawRunning)
{
num=record.read(audioData,0,frame_size);
if(num<=0)continue;
calc2(audioData,0,num);
//進行pcmu編碼
G711.linear2ulaw(audioData,0,encodeData,num);
//send
session.sendAudioData(encodeData);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
record.release();
}
}
};
voidcalc2(short[]lin,intoff,intlen){
inti,j;
for(i=0;i<len;i++){
j=lin[i+off];
lin[i+off]=(short)(j>>1);
}
}
privatevoilaw_recored(){
newThread(ulaw_encode).start();
}
(){
intsamp_rate=8000;
intmin=AudioRecord.getMinBufferSize(samp_rate,
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
Log.e(TAG,"minbuffersize:"+min);
AudioRecordrecord=null;
record=newAudioRecord(
MediaRecorder.AudioSource.MIC,//therecordingsource
samp_rate,//采樣頻率,一般為8000hz/s
AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT,
min);
record.startRecording();
returnrecord;
}
4. 請問:數字解碼器和數字編碼器分別有什麼作用,到底實現什麼功能
一下文字引用長沙航天和一電子設備廠官網內容網頁鏈接
什麼是高清編碼器?高清編碼器的作用及高清編碼器的技術指標
高清編碼器也稱為數字編碼器、視頻編碼器、高清視頻編碼器、數字電視編碼器、網路視頻編碼器、數字視頻編碼器,主要的作用就是將輸入的數字視音頻信號源進行數字編碼處理(包括HDMI信號源、SD-SDI信號源、HD-SDI信號源),常用編碼方式為MPEG-2、MPEG-4、H.264、H.265等,編碼成為可以實時傳輸的TS流數據,然後把數據流封裝為ASI形式或者IP形式輸出給下一級設備使用,比如IPQAM調制器、數字電視調制器、數字調制器,DTMB調制器等設備;ASI形式一般為BNC介面輸出,IP形式為1000M乙太網介面RJ45,IP數據流一般會支持TS/HLS/RTSP/FLV/RTMP/UDP/RTP/單播/組播等協議。
高清編碼器是數字高清電視系統、IPTV網路電視系統、網路視頻直播系統中的重要設備。
常見的高清編碼器有哪些?
輸入信號源為HDMI的高清編碼器被稱為HDMI高清編碼器(例如長沙航天和一公司生產的HY-8804BH型四路HDMI數字高清編碼主機);
編碼方式H.264的高清編碼器被稱為H.264高清編碼器;
輸出介面為IP形式的高清編碼器被稱為IP編碼器或網路編碼器、直播編碼器;
高清編碼器主要運用在哪裡?
高清編碼器可以廣泛應用於各類廣電有線高清數字電視系統、IPTV電視直播系統和網路直播、衛星數字電視系統、遠程教學、運程醫療、高清監控等。
高清編碼器正面圖片:高清編碼器技術指標:
輸入介面
HDMI
4路HDMI 1.3(內嵌音頻)
獨立音頻
2路立體聲或雙聲道,3.5mm模擬音頻介面
輸出介面
IP
1000M乙太網介面,RJ45,TS over TCPIP/UDP,
數據流支持TS/HLS/RTSP/FLV/RTMP/UDP/RTP/組播
音頻編碼
采樣頻率
44.1KHz、48KHz
碼率
48-128Kbps可調(每個通道)
編碼方法
AAC,AAC+,AAC++,MP3可選
RTSP流使用
G711A編碼
禁用/啟用,可選
視頻編碼
解析度
1920×1080@60P,1920×1080@50P,
1920×1080@60i,1920×1080@50i,
1280×720@60P,1280×720@50P,
720×480@60i,720×576@50i,
與輸入解析度相同自適應等多種格式
編碼模式
H.264/AVC
H.264級別
baseline profile/main profile/high profile
碼流控制
cbr、vbr,可選(每個通道)
編碼幀率
5-60可調(每個通道)
關鍵幀間隔(幀)
5-300可調(每個通道)
比特率(kbit)
32-32000可調(每個通道)
常規特性
尺寸
482mm×410mm×44mm,1U機箱
環境
0~45℃(工作);-20~80℃(儲存)
電源
100VAC-240VAC,50/60Hz,支持外接2個12V直流電源適配器(DC/12V/3A)*2
重量
≤3KG
整機功耗
≤25W
5. 網路監控攝像頭音頻編碼用aac好還是G.711A好。哪個編碼類型的音質好
現在的海康已經支持MPEG格式,MP2是最佳錄音格式,支持44100采樣,16位單雙通道,192K碼流,錄音質量十分接近CD效果,只是內置麥克風是單聲道,外置是雙通道就是CD音質。G711碼流只有64K(最大值,通常是56K)音質壓縮的太狠,損失太多。雖然有AAC選項,但不及MP2格式質量好。
6. android系統自帶的網路電話(可以設置sip 或者iax2)用的默認編碼是什麼在哪兒可以設置編碼
android系統自帶的互聯網電話用的是g711編碼,可以到voipdoup網站下載csipsimple軟體,設置使用729,gsm編碼使用。
1、G.711:是一種由國際電信聯盟(ITU-T)訂定音頻編碼方式,又稱為ITU-T G.711。
2、G.711使用64Kbps的帶寬,可將14bits轉換成8bits。目前G.711有兩個編碼方式:一種是u-law又稱mu-law,主要運用於北美和日本;另一種是a-law,主要運用於歐洲和世界其他地區。其中,a-law編碼方式是為方便計算機處理而特別設計的。2008年3月國際電信聯盟正式發布了最新的寬頻語音編譯碼標准G.711.1。