聲音編碼

1.脈沖編碼調制PCM文件格式簡介

將音頻數字化,其實就是將聲音數字化。最常見的方式是透過脈沖編碼調制PCM(Pulse Code Modulation) 。運作原理如下。首先我們考慮聲音經過麥克風,轉換成一連串電壓變化的信號,如圖一所示。這張圖的橫座標為秒,縱座標為電壓大小。要將這樣的信號轉為 PCM 格式的方法,是使用三個參數來表示聲音,它們是:聲道數采樣位數采樣頻率

?????????采樣頻率即取樣頻率,指每秒鐘取得聲音樣本的次數。采樣頻率越高,聲音的質量也就越好,聲音的還原也就越真實,但同時它占的資源比較多。由于人耳的分辨率很有限,太高的頻率并不能分辨出來。在16位聲卡中有22KHz、44KHz等幾級,其中,22KHz相當于普通FM廣播的音質,44KHz已相當于CD音質了,目前的常用采樣頻率都不超過48KHz。?

????????采樣位數即采樣值或取樣值(就是將采樣樣本幅度量化)。它是用來衡量聲音波動變化的一個參數,也可以說是聲卡的分辨率。它的數值越大,分辨率也就越高,所發出聲音的能力越強。
 
?????????聲道數很好理解,有單聲道和立體聲之分,單聲道的聲音只能使用一個喇叭發聲(有的也處理成兩個喇叭輸出同一個聲道的聲音),立體聲的pcm可以使兩個喇叭都發聲(一般左右聲道有分工) ,更能感受到空間效果。?
聲波曲線1?聲波曲線2?聲波曲線3
  下面再用圖解來看看采樣位數和采樣頻率的概念。讓我們來看看這幾幅圖。圖中的黑色曲線表示的是pcm文件錄制的自然界的聲波,紅色曲線表示的是pcm文件輸出的聲波,橫坐標便是采樣頻率;縱坐標便是采樣位數。這幾幅圖中的格子從左到右,逐漸加密,先是加大橫坐標的密度,然后加大縱坐標的密度。顯然,當橫坐標的單位越小即兩個采樣時刻的間隔越小,則越有利于保持原始聲音的真實情況,換句話說,采樣的頻率越大則音質越有保證;同理,當縱坐標的單位越小則越有利于音質的提高,即采樣的位數越大越好。

????????在計算機中采樣位數一般有8位和16位之分,但有一點請大家注意,8位不是說把縱坐標分成8份,而是分成2的8次方即256份; 同理16位是把縱坐標分成2的16次方65536份; 而采樣頻率一般有11025HZ(11KHz),22050HZ(22KHz)、44100Hz(44KHz)三種。

樣點
t1
t2
t3
t4
t5
t6
t7
...
t16
t17
t18
t19
t20
幅值
0011
0101
0111
1001
1011
1101
1110
...
0110
0110
0101
0011
0000


????????那么,現在我們就可以得到pcm文件所占容量的公式:
     存儲量=(采樣頻率*采樣位數*聲道)*時間/8(單位:字節數)

  例如,數字激光唱盤(CD-DA,紅皮書標準)的標準采樣頻率為44.lkHz,采樣數位為16位,立體聲(2聲道),可以幾乎無失真地播出頻率高達22kHz的聲音,這也是人類所能聽到的最高頻率聲音。激光唱盤一分鐘音樂需要的存儲量為:     
     (44.1*1000*l6*2)*60/8=10,584,000(字節)=10.584MBytes
這個數值就是pcm聲音文件在硬盤中所占磁盤空間的存儲量。

  計算機音頻文件的格式決定了其聲音的品質,日常生活中電話、收音機等均為模擬音頻信號,即不存在采樣頻率和采樣位數的概念,我們可以這樣比較一下:
????????44KHz,16BIT的聲音稱作:CD音質;
????????22KHz、16Bit的聲音效果近似于立體聲(FM Stereo)廣播,稱作:廣播音質;
????????11kHz、8Bit的聲音,稱作:電話音質。?
????????微軟的WAV文件就是pcm編碼的一種。

?

2.數字音頻基礎知識
? 麥克風錄音的過程其實就是將模擬信號轉化成數字信號的過程,其中涉及的一些概念如下:
?1.采樣率(Sampling Rate)
??? 采樣率指聲卡在一秒之中對聲音(波形)作記錄的次數,根據研究聲音播出時的質量常常只能達到采樣率的一半,因此必須采取雙倍的采樣率才能將聲音標準重現.也就是只要采樣率大于原始信號頻率的兩倍以上即可減低錯誤,達到和原始聲音差不多的質量.人的聽力大概是20KHZ,所以高品質的采樣率應為其兩倍以上.
??? 當聲音來源為音樂時,因為它所橫跨的頻率變化極為寬廣,通常以44.1KHZ的頻率為CD音樂采樣率的標準.但是若以語言為主由于人說話的語音大概是10KHZ,因此加倍采樣,只取22KHZ即可,采樣率越高所記錄下來的音質就越清晰,當然,越高的采樣所記錄下的文件就越大.
?2.采樣位
??? 解析度決定了采樣的音波是否能保持原來的形狀,越接近原型則需解析度越高,若以8位來采樣的話其能表達的組合種類是2的8次方,即256,表示用8位的采樣大小能分辨出256個層次的聲音,若用16位來采樣,則能分辨的差異將高達2的16次方,為65536,其精度自然大為提高.16位,8位采樣的差別在于動態范圍的寬窄,動態范圍寬廣,音量起伏的大小變化就能夠更精細的被記錄下來,如此一來不論是細微的聲音或是強烈的動感震撼,都可以表現的淋漓盡致,而CD音質的采樣規格正式16位采樣的規格.
?3. 量化誤差(Quantization error)?
?????? 在采樣的過程中,不斷連續變化的模擬信號要用數字化的數值來表示,這樣的過程就會發生所謂的量化誤差(Quantization error).所謂的量化誤差指的是實際的信號的振幅(smplitude)和數字化之后所的數字之間的差異.如果用將數字信號還原成模擬信號的角度看,量化誤差就是失真(Distortion).我們可以用增加采樣大小的方式來降低量化誤差,也就是更多的位(bits)來表示一個采樣信號,這樣可以提高精度.
?4. 量化(Quantization), 線性量化法(Linear quantization)和非線性量化法(Nonlinear quantization)
?????? 所謂的量化(Quantization)就是將模擬信號所代表的連續范圍分成一段一段的區間(Interval),每一段區間我們定義一個數字化的值.區間的數目是跟采樣大小有關,舉例來說,有一種最簡單的量化法稱為”線性量化法”(Linear quantization),這種量化法采用等距離的間隔空間,架設一個訊號它的最大值是5.0,采樣大小為3位,則每個量化區間就時5.0/2^3,也就是0.625單位.另外一種相反的量化方法就是”非線性量化法”(Nonlinear quantization),這種量化法采用不同的間隔空間.以”對數量化法”(Logarithm quantization)為例.低振幅范圍的量化區間就比高振幅的范圍的區間較為接近,用這種量化的法產生的結果就是在低振幅時我們會得到佳好的效果.通常如果使用同樣的采樣大小,非線性量化法會比線性量化法得到更好的聲音品質.但是如果是要對聲音做濾波(filtered)或一些運算的時候,使用線性量化法會比較容易處理.
?5. 聲音強度?
???????? 波形振幅的平方.兩個聲音強度上的差常以分貝(db)為單位來度量,計算公式如下:
??? 20*log(A1/A2)分貝,A1,A2為兩個聲音的振幅.
a.如果采樣大小為8位,則采樣的動態范圍為20*log(256)分貝=48db;
b.如果樣本大小為16位,則采樣動態范圍為20*log(65536)大約是96分貝,接近了人聽覺極限和痛苦極限,是再線音樂的理想范圍,windows同時支持8位和16位的采樣大小.

?6. 音頻編碼方法
????? 目前已經發展了許多音頻編碼的方法用以減少存儲量或是傳輸的時間,以下所列為兩種較普遍的編碼方法:
?? a.PCM(Pulse code modulation);
脈沖編碼調制,即對波形按照固定周期頻率采樣。為了保證采樣后數據質量,采樣頻率必須是樣本聲音最高頻率的兩倍,這就是Nyquist頻率.
?? b.ADPCM(Adaptive delta pulse modulation).

碼率高低直接影響音質,碼率高音質好,碼率低音質差。

碼率就是數據傳輸時單位時間傳送的數據位數,一般我們用的單位是kbps即千位每秒。

通俗一點的理解就是取樣率,單位時間內取樣率越大,精度就越高,處理出來的文件就越接近原始文件,但是文件體積與取樣率是成正比的,所以幾乎所有的編碼格式重視的都是如何用最低的碼率達到最少的失真,圍繞這個核心衍生出來的cbr(固定碼率)與vbr(可變碼率),都是在這方面做的文章,不過事情總不是絕對的,從音頻方面來說,碼率越高,被壓縮的比例越小,音質損失越小,與音源的音質越接近。
計算機中的信息都是二進制的0和1來表示,其中每一個0或1被稱作一個位,用小寫b表示,即bit(位);大寫B表示byte,即字節,一個字節=八個位,即1B=8b;前面的大寫K表示千的意思,即千個位(Kb)或千個字節(KB)。表示文件的大小單位,一般都使用字節(KB)來表示文件的大小。

Kbps:首先要了解的是,ps指的是/s,即每秒。Kbps指的是網絡速度,也就是每秒鐘傳送多少個千位的信息(K表示千位,Kb表示的是多少千個位),為了在直觀上顯得網絡的傳輸速度較快,一般公司都使用kb(千位)來表示,如果是KBps,則表示每秒傳送多少千字節。1KBps= 8Kbps。ADSL上網時的網速是512Kbps,如果轉換成字節,就是512/8=64KBps(即64千字節每秒)。

一幀就是一副靜止的畫面,連續的幀就形成動畫,如電視圖象等。
我們通常說幀數,簡單地說,就是在1秒鐘時間里傳輸的圖片的幀數,也可以理解為圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)表示。每一幀都是靜止的圖象,快速連續地顯示幀便形成了運動的假象。高的幀率可以得到更流暢、更逼真的動畫。每秒鐘幀數 (fps) 愈多,所顯示的動作就會愈流暢。

何謂音樂的比特率?
也可以叫碼率,無非就是一種音樂每秒播放的數據量,單位用bit表示,也就是二進制位。 bps就是比特率。b就是比特(bit),s就是秒(second),p就是每(per),一個字節相當于8個二進制位。也就是說128bps的4分鐘的歌曲的文件大小是這樣計算的(128/8)*4*60=3840kB=3.8MB,也就是說同樣比特率(bps)的同一歌曲不論是什么格式(如mp3 wma)容量大小都是基本一樣的,這只能代表一種傳輸率,并不能代表音質,由于壓縮引擎的不同,不同格式的音質又千差萬別。但同格式來說比特率也高代表文件也就越大,相對來說音質也就越好。

何謂音樂的采樣率?
采樣率是指在單位時間的采樣數。采樣速率為44KHz,說明每秒采樣數量為44K個,這是也就是用44000個數據來描述1秒內的聲音波形。也就是說采樣率越高音質也是越好。但是他同比特率是完全不同的兩個概念。

比特率越高音質越高,文件大小也越大,但是源音文件的質量決定最終質量
從高往低轉,音質會變差,但從低往高轉音質最多不變 但是文件卻會變大很多

一般mp3在128比特率左右為益,也大概在3-4 BM左右的大小

碼率,選擇他直接影響到你的mp3文件尺寸大小和聽感,壓縮比高的失真大,壓縮比小的失真小,但是怎么才能找到一個我們自己兩方面都能接受的平衡點呢?這就需要在實驗里仔細摸索,考慮到低碼率的文件聲音素質不太適合播放音樂,所以最低定為128kbps,依次使用128、192、256、320共四種固定碼率的文件來進行對比和測試。

128kbps的壓縮比還是比較粗糙的,高頻部分壓縮后失真非常明顯,聽起來空洞,干癟、刺耳,還時常有忽悠忽悠的聲音,樂器的質感很差,部分樂器都變了味道,甚至可能會聽錯,3分39的一段樂曲壓縮后的體積是3414kb,體積雖然不大但是聲音不能讓人滿意,存在比較大的缺陷。


192kbps碼率的壓縮效果比起128來說可是要好多了,首先聲音扎實,至少沒有那種空洞感,高頻失真也小了很多,聲音緊湊,雜音小,干凈,達到了相對比較理想的聽音效果,只是由于壓縮還是比較厲害,細節的表現仍舊不是很好,樂器尤其是管樂器的質感還是很硬,不真實,缺乏樂感,壓縮后的尺寸是5123kb,我覺得這個壓縮比例在128~~256m容量的mp3播放器上使用比較好,既可以滿足基本的聽感,也在尺寸上合適,128m大約能存儲95分鐘的音樂,256m則翻倍為190分鐘的音樂。


256kbps的壓縮率比起192自然是在音質上更上了一個臺階,就拿曲目剛開始的10秒鐘說,大提琴部的低頻明顯顆粒感就小了很多,聲音更加順滑自然,質感和紋理也更加清楚一些,細節方面多了不少,氣氛的渲染比較突出,后面的曲子進行中的聲部輪換也表現力起來許多,大信號小信號的清晰度也提升一些,聲音更加細致耐聽,但是與此同時,文件的體積也一下子增加到了6831kb,這對于256m的mp3播放器來說還是可以承受的,計算一下不難知道,按照256的碼率可以存放約135分鐘的音樂,一般來說也是夠用了,128m就有點少了,只能支持一個小時多一點,所以推薦128m的使用192碼率。


320kbps是lame能夠提供的最大碼率了,最終的生成文件是8592kb,大概就是8.4M,對比wav文件的37M來說,壓縮比基本為4.5:1,但是生成的mp3文件聽起來已經失真非常小了,對比其他碼率320的自然優勢明顯,音色,細節等等都非常細膩,基本是達到了原樣復制了cd的聲音素質,特別在帶有mp3播放功能的cd播放器上上聽起來,基本沒有什么區別,不過我使用了比較高檔的耳塞,解析力比較高,再加上我對音樂和器材的經驗和能力,對比wav文件還是聽出了許多不同,首先;壓縮過的mp3聽起來有點縮水的感覺,整體比較干,沒有wav文件聽起來鮮活充滿動感,末端細節、泛音和空間感上,分離度上也不及wav文件來的素質高,不過在音色上已經算是相當接近了,只是表現力上面差一些,數碼味道比較濃重。所以如果您使用的是ipod等這類微型硬盤式的隨身聽播放器,那我還是推薦您使用320kbps的壓縮比率,這樣可以得到相對最好的聆聽感覺,當然直接聽wav是最好的啦~~無壓縮,沒損失,可惜現在還沒什么隨身聽支持ape這種無損壓縮,不然又可以多種選擇了。

1、 APE:


APE格式:Monkey""s Audio(www.monkeysaudio.com),簡單的說ape是一種音頻的無損壓縮格式,大小只有wav文件的一半,但是音質沒有絲毫降低。能夠在最大程度上還原CD的音質,當然這也取決于抓軌的質量 。如果抓軌的質量好,ape的音質就會和CD差不多這是mp3等有損壓縮無法達到的,當然無損的代價就是體積的增大,1CD從200mb到400不等所以如果有足夠的帶寬的保證,ape給網友交流CD帶來了更多的方便,解決了許多古典音樂愛好者傳送高音質CD的需求。一張80分鐘的音樂CD大小大約700M,這么大尺寸的傳輸,顯然是非常不方便的,這時用Monkey""s Audio-能把WAV文件壓縮成一半大小(甚至更小)的APE文檔,并且在理想狀態下,當你把APE解壓成WAV,音質沒有絲毫損失。


優點:壓縮率高;音質無損;裝載插件后,可以用Winamp直接播放,音質比任何參數的Mp3或Mp3 Pro更好。

缺點:壓縮及解壓時間過長。


2、 MP3 Pro


為了減低失真程度,MP3 Pro這種新MP3格式出現了。它將整個音頻頻段分離成中低頻和高頻兩個信道,由傳統MP3編碼器負責中低頻部分,而另一個采用SBR技術的(Spectral Band Replication/頻段復制)的譯碼器則負責高頻部分,最后兩者在MP3 Pro播放軟件中同時播放,從而得到顯著超過相同Bitrate的MP3之音質。不但高頻細節豐富,顫抖的現象亦已不易覺察,與原始WAV文件非常接近。


MP3 Pro采用的SBR技術,并非直接將音樂中的高頻分離出來并編碼那么簡單,而是根據對原來編碼器所傳輸的低頻訊號進行分析,從而重新構建出高頻訊號。


3、Real Audio
Real Audio,擴展名RA:這種格式真可謂是網絡的靈魂,強大的壓縮量和極小的失真使其在眾多格式中脫穎而出。和MP3相同,它也是為了解決網絡傳輸帶寬資源而設計的,因此主要目標是壓縮比和容錯性,其次才是音質。所以我們一般在網上遇到的新音樂試聽都是使用這中格式的。


3、 WMA

WMA就是Windows Media Audio編碼后的文件格式,由微軟開發,WMA針對的不是單機市場,是網絡!競爭對手就是網絡媒體市場中著名的Real Networks。微軟聲稱,在只有64kbps的碼率情況下,WMA可以達到接近CD的音質。和以往的編碼不同,WMA支持防復制功能,她支持通過Windows Media Rights Manager 加入保護,可以限制播放時間和播放次數甚至于播放的機器等等。WMA支持流技術,即一邊讀一邊播放,因此WMA可以很輕松的實現在線廣播,由于是微軟的杰作,因此,微軟在Windows中加入了對WMA的支持,WMA有著優秀的技術特征,在微軟的大力推廣下,這種格式被越來越多的人所接受。比起ra來說,版權恐怕是所用用戶最討厭它的地方了。


4、 ACC:


AAC(高級音頻編碼技術,Advanced Audio Coding)是杜比實驗室為音樂社區提供的技術。AAC號稱「最大能容納48通道的音軌,采樣率達96 KHz,并且在320Kbps的數據速率下能為5.1聲道音樂節目提供相當于ITU-R廣播的品質」。和MP3比起來,它的音質比較好,也能夠節省大約30%的儲存空間與帶寬。它是遵循MPEG-2的規格所開發的技術。松下的mp3產品都采用了這種編碼方式,當然也兼容mp3格式,我自己使用時發現aac是非常好用的音頻格式,128kbps的aac足以和224kbps的mp3抗衡,空間卻小了差不多一半,但是在空間上和結構上aac和mp3編碼出來后的風格不太一樣,喜歡與否屬于仁者見仁智者見智的事情。


5、 ATRAC 3/ATRAC 3 plus:


ATRAC3(AdaptiveTransformAcousticCoding3)由日本索尼公司開發,是MD所采用的ATRAC的升級版,其壓縮率(約為ATRAC的2倍)和音質均與MP3相當。壓縮原理包括同時掩蔽、時效掩蔽和等響度曲線等,與MP3大致相同。ATRAC3的版權保護功能采用的是OpenMG。目前,對應ATRAC3的便攜式播放機主要是索尼公司自己的產品。不過,該公司已于2000年2月與富士通、日立、NEC、Rohm、三洋和TI等半導體制造商簽署了制造并銷售ATRAC3用LSI的專利許可協議。在mdlp壓縮中錄制cd和mp3相比,ATRAC3還是有一定的聲音優勢的,但是版權問題使得使用不是很方便,ATRAC 3 plus由于算法先進,在音質上得到了更一步的提高,但是只在sony的產品上有比較廣泛的應用,這個讓人比較郁悶。


6、 VQF:


所謂VQF,是指TwinVQ(Transform-domain Weighted INterleave Vector Quantization),它是日本NTT(Nippon Telegraph and Telephone)集團屬下的NTT Human Interface Laboratories開發的一種音頻壓縮技術。該技術受到著名的YAMAHA公司的支持。VQF是其文件的擴展名。它和MP3的實現方法相似,都是通過采用有失真的算法來將聲音進行壓縮,不過它與MP3的壓縮技術相比卻有著本質上的不同:VQF的目的是對音樂而不是聲音進行壓縮,因此,VQF所采用的是一種稱為"矢量化編碼(Vector Quantization)"的壓縮技術。該技術先將音頻數據矢量化,然后對音頻波形中相類似的波形部分統一與平滑化,并強化突出人耳敏感的部分,最后對處理后的矢量數據標量化再進行壓縮而成。我自己使用中感覺在低碼率情況下,還是vqf好用很多,比同等音質的mp3體積小30%左右,但是高比特率就不太好了,所以也少有人使用它。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455061.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455061.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455061.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Elastic Stack簡介

Elastic Stack簡介 如果你沒有聽說過Elastic Stack,那你一定聽說過ELK,實際上ELK是三款軟件的簡稱,分別是Elasticsearch、 Logstash、Kibana組成,在發展的過程中,又有新成員Beats的加入,所以就形成了Elast…

webpack v3 結合 react-router v4 做 dynamic import — 按需加載(懶加載)

為什么要做dynamic import? dynamic import不知道為什么有很多叫法,什么按需加載,懶加載,Code Splitting,代碼分頁等。總之,就是在SPA,把JS代碼分成N個頁面份數的文件,不在用戶剛進來…

go kegg_工具篇丨GO和KEGG富集不到通路?快試試這個超贊的功能分析工具吧

GO和KEGG富集分析是我們在篩選出差異表達基因之后,都會去做的套路性分析。然鵝……我相信,總有那么一些“倒霉孩子”會遇到跟我一樣的窘境吧,好不容易篩選出來的差異基因,嘗試了DAVID(https://david.ncifcrf.gov/)、Metascape(htt…

大齡程序員的未來在何方

來源:http://www.gad.qq.com//article/detail/30358?sessionUserTypeBFT.PARAMS.229862.TASKID&ADUIN114328649&ADSESSION1501026740&ADTAGCLIENT.QQ.5533_.0&ADPUBNO26719 作者:foruok 大家都對大齡技術人員的未來非常關心&#xff0c…

搭建Telnet服務器

搭建Telnet服務器 作者:尹正杰 版權聲明:原創作品,謝絕轉載!否則將追究法律責任。 可能大家都知道現在已經很少有人用TELNET服務器, 因為它傳輸數據是以明文的方式,我們很容易通過抓包軟件講數據進行抓包&a…

table取tr對象 vue_Vue筆記

Vue集成了React和Angular的優點,摒棄了他們的缺點。Vue的官網:https://cn.vuejs.org/v2/api/Vue誕生于2016年,是現在非常流行的MVVM框架。Vue提供了“引包”的使用方法,初學者可以在這之下學習語法。不需要webpack,不需…

Beats入門簡介

使用Beat收集nginx日志和指標數據 項目需求 Nginx是一款非常優秀的web服務器,往往nginx服務會作為項目的訪問入口,那么,nginx的性能保障就變得非常重要了,如果nginx的運行出現了問題就會對項目有較大的影響,所以&…

PHP-curl

//初始化$curl curl_init();//設置抓取的urlcurl_setopt($curl, CURLOPT_URL, http://www.baidu.com);//設置頭文件的信息作為數據流輸出curl_setopt($curl, CURLOPT_HEADER, 1);//設置獲取的信息以文件流的形式返回,而不是直接輸出。curl_setopt($curl, CURLOPT_R…

MPlayer開發

一、介紹 不論是音頻數據還是視頻數據,我都為MPlayer項目開發過一些開源的解碼器。因此我個人認為我有資格寫一篇文檔來介紹如何開發新的編解碼器。 學習如何添加一個新的編解碼器的最好方法通常是學習大量的已有代碼。本文檔僅僅是對代碼的一個補充&#x…

可編程led燈帶原理_SCPSD-250-04-27派克真空壓力傳感器故障和工作原理

SCPSD-250-04-27派克PARKER真空壓力傳感器故障和工作原理PARKER壓力開關現貨 PARKER壓力傳感器特價 派克真空壓力傳感器 PARKER數字壓力開關2020年還剩最后2天了,這一年大家都過得不太容易,尤其是我自己這是30年以來過得最艱難的一年,經…

總結面試時沒有回答上的內存對齊問題

前兩天面試某公司時,沒有回答上的一個問題,總結如下,以供參考。 問:下面這個結構類型的實例變量占用多少內存: struct struct1 { int i; short j; char c; }; 我反問:是啥語言啥機器啥編譯環境…

Kibana入門安裝與介紹

Kibana入門 Kibana 是一款開源的數據分析和可視化平臺,它是 Elastic Stack 成員之一,設計用于和 Elasticsearch 協作。您可以使用 Kibana 對 Elasticsearch 索引中的數據進行搜索、查看、交互操作。您可以很方便的利用圖表、表格及地圖對數據進行多元化…

友善串口工具接收數據隨機換行_使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法...

練手項目,先上圖先實現一個簡單的串口工具,為之后的上位機做準備代碼如下:pyserial_demo.pyimport sys import serial import serial.tools.list_ports from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMessageBox from PyQt5.QtC…

Vue渲染函數

前面的話 Vue 推薦在絕大多數情況下使用 template 來創建HTML。然而在一些場景中,真的需要 JavaScript 的完全編程的能力,這就是 render 函數,它比 template 更接近編譯器。本文將詳細介紹Vue渲染函數 引入 下面是一個例子,如果要…

數據綁定原理

一、數據單向綁定原理指先把模板寫好,然后把模板和數據(數據可能來自后臺)整合到一起形成HTML代碼,最后把這段HTML代碼插入到文檔流里。缺點:一旦HTML代碼生成就沒有辦法改變,如果有新數據重新傳入,就必須重新把模板和…

視頻解碼優化

以下通過剖析一些經驗來了解視頻解碼優化 1. 在嵌入式系統中實現MPEG4的視頻解碼 有兩種方法可行 (1)采用ffmpeg(mplayer 的核心就是采用ffmpeg),然后對ffmpeg mp4解碼優化 1).對IDCT匯編化,并優化VLD的實現 ->inline&匯編化 2).根據ARM9 cache&cache…

Logstash入門簡介

Logstash入門簡介 介紹 Logstash是一個開源的服務器端數據處理管道,能夠同時從多個來源采集數據,轉換數據,然后將數據發送到最喜歡的存儲庫中(我們的存儲庫當然是ElasticSearch) 我們回到我們ElasticStack的架構圖&a…

Django templates 和 urls 拆分

如果在Django項目 下面新建了blog和polls兩個APP應用,在每個APP下面都各自新建自己的url和templates,那么我們需要如何進行項目配置呢? INSTALLED_APPS [ django.contrib.admin, django.contrib.auth, django.contrib.contenttypes, dja…

springboot怎么殺進程_線上服務平均響應時間太長,怎么排查?

線上服務平均響應時間太長,怎么排查?https://xie.infoq.cn/article/914b5c56000a3880016abd8d6前言:最近線上環境某個接口服務響應時間偏長,導致用戶體驗超差,那平時該怎么快速的排查這類問題呢?①、為代碼…

Redis學習第五課:Redis Set類型及操作

Set是集合,它是string類型的無序集合。set是通過hash table實現的,添加、刪除和查找的復雜度都是O(1)。 對集合我們可以取并集、交集、差集。通過這些操作我們可以實現SNS中的好友推薦和blog的tag功能。 Set集合操作: sadd:向名稱為Key的set中…