原创 音頻特徵(2):繪製波形圖

有時候,爲了直觀地表達跟分析音頻的特徵,畫幾個圖是必不可少的。當然,你可以把音頻文件拉到Adobe Audition或其它音頻分析軟件中,再使用它繪製出來的特徵圖。那有沒有辦法自己寫代碼來繪製,並做一些靈活的控制呢? 本文介紹通過

原创 音頻特徵(1):mfcc提取

除了調用FFmpeg來做多媒體開發,另一方面,是對音頻特徵進行研究。有很多具體的音頻特徵,比如頻率、振幅、節拍(bpm)、過零率、短時能量、MFCC等,在很多時候,提取這些特徵是進一步分析音頻的基礎。 如果你想對音頻進行一個分類,

原创 多媒體開發(20):試用kurento

之前講webrtc下載時,有提到,webrtc提供了“實時通信”的能力。而基於webrtc,涌現了一些各具特色的開源或商用項目,這些項目可以滿足不同的需求場景,比如視頻會議、直播連麥、實時通話等等。比如網上的這個截圖,介紹了各個基

原创 多媒體開發(19):webrtc的下載

webrtc是什麼? 先來看一下“百度百科”的解釋: WebRTC,名稱源自網頁實時通信(Web Real-Time Communication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的技術,是谷歌2010年以6

原创 多媒體開發(18):FFmpeg的常見結構體

除了之前講的avpacket跟avframe,FFmpeg還有其它一些結構經常在流程中出現。FFmpeg還有哪些常見的結構呢?先來看一下這個截圖: 這張圖中的主角,是AVFormatContext。AVFormatContext

原创 多媒體開發(17):FFmpeg的幀

之前FFmpeg頻頻出場,都是它的應用,但FFmpeg本身的結構或流程卻還沒有介紹過。就“能用即可”的角度,能把FFmpeg這個黑盒子用好,就已經是很好的成績了。 但追求理解甚至想修改FFmpeg的你,應該會關心FFmpeg本身的

原创 多媒體開發(16):幀率與碼率的概念

爲什麼說音視頻開發入門較難,因爲涉及到很多概念,之前還專門講“媒體格式”、“h264概念”的東西。現在又來,“幀率”跟“碼率”,這也是兩個常見的概念。你應該經常聽到“刷新的幀率是多少”或“碼率比較高所以網速要比較快”的表達吧。 本

原创 網絡應用(8):http的封裝與使用

之前講過http的協議,怎麼約定請求或響應的行、頭、體,也介紹怎麼使用curl來完成http的請求。這一次,再接再厲,換一個角度換一些角色,再次說http的封裝與使用。反正目的只有一個:加深對http協議的理解。 (1)tcp的實

原创 前後端開發(1):啓用PHP程序

當我們說php時,你可能想到的是最好的語言,php是最好的語言,這個沒有問題,拒絕反駁。但是,php既可以是腳本語言,也可以是一個程序–一個可以解釋php腳本的程序,本文指後者。 PHP原本是Personal Home Page(

原创 網絡應用(4):塊的概念 | Range

分塊來處理,也算是自然的想法,就是化整爲零。而於對於文件的下載同樣使用這個道理,既可整體下載,也可分塊下載。 小程這裏以http協議爲例,來看一下塊的概念與使用。 http的range http1.0請求與返回文件都是整體,不支持

原创 機器學習(2):簡單線性迴歸 | 一元迴歸 | 損失計算 | MSE

前文再續書接上一回,機器學習的主要目的,是根據特徵進行預測。預測到的信息,叫標籤。 從特徵映射出標籤的諸多算法中,有一個簡單的算法,叫簡單線性迴歸。本文介紹簡單線性迴歸的概念。 (1)什麼是簡單線性迴歸 “迴歸(regressio

原创 多媒體開發(13):iOS上音頻編碼成aac

如前面我所說,對於音頻的解碼,一般你都不用考慮硬解,用軟解就足夠了,這時可以選擇faad或FFmpeg等。但是,如果是音頻的編碼呢?這可不一樣,編碼比解碼明顯耗時,爲了快跟低功耗(特別對於低端機器),要優先考慮硬編碼(不能再使用f

原创 網絡應用(5):DNS使用 | dig | host | nslookup | whois

dns,domain name system,域名系統,把域名轉化成ip的系統。dns就好比數據庫,通過對它的查詢,能給url找到對應的ip。 我重點介紹幾個工具的使用,這些工具都能把域名轉換成ip,都使用了dns。 (1)dig

原创 網絡應用(6):http報文結構與curl的使用

http是一個協議,協議就是約定、規定,先不管爲什麼這麼約定有什麼高深的東西,爲了解決具體問題,我們先要能使用協議,理解協議中對我們有用的那部分數據,是的,我們不是研究生,更不是純研究,所有的研究都要由具體的問題來驅動。 那這裏的

原创 機器學習(1):常見術語 | 模型 | 樣本 | 特徵 | 標籤

說到機器學習,或討論這個事情時,什麼訓練、樣本、模型或算法就會蹦出來,今時今日什麼事情大家都知道一點點,很多代表就是這樣來的。但是,對於真心想弄清楚一個事情的我們來說,應該要理解一些基本的術語,所以這裏就說一些機器學習時遇到的基本