原创 ffmpeg安裝第三方編碼器

安裝好了ffmpeg後,如果你使用ffmpeg工具去把某個視頻文件轉成h264視頻編碼、mp3音頻編碼or其他ffmpeg自身不帶的xxx編碼類型,就會看到報錯信息,unknown encoder 'xxx'。此刻你需要的只要去安裝其他的

原创 H.264編碼原理

H.264/AVC 是ITU-T 視頻編碼專家組(VCEG)和ISO/IEC 動態圖像專家組(MPEG )聯合組成的聯合視頻組(JVT)共同努力制訂的新一代視頻編碼標準,它最大的優勢是具有很高的數據壓縮比率,在同等圖像質量的條件下,H.2

原创 Ubuntu下安裝ffmpeg

1.首先登入ffmpeg的官網下載源文件: http://ffmpeg.org/download.html#get-sources 2.解壓 tar -xvjf ffmpeg-2.4.tar.bz2 3.運行自動配置 ./confi

原创 Linux系統編程:fcntl函數與文件鎖

一、fcntl函數 功能:操縱文件描述符,改變已打開的文件的屬性 int fcntl(int fd, int cmd, ... /* arg */ ); cmd的取值可以如下: 複製文件描述符 F_DUPFD (long

原创 提高程序運行效率的方法(補充中)

注:以C/C++程序爲例 一、儘量減少值傳遞,多用引用來傳遞參數。     至於其中的原因,相信大家也很清楚,如果參數是int等語言自定義的類型可能能性能的影響還不是很大,但是如果參數是一個類的對象,那麼其效率問題就不言而喻了。

原创 linux系統編程之信號(二):一些信號發送函數和不同精度的睡眠

一、kill, raise, killpg 函數 int kill(pid_t pid, int sig); int raise(int sig); int killpg(int pgrp, int sig);kill命令是調用kill函

原创 STL順利容器之雙端隊列(deque)

雙端隊列是由動態數組實現。 頭文件: #include <deque> 構造方法: deque<type> deq                                        創建一個沒有任何元素的雙端隊

原创 H.264碼流結構解析

1. H.264簡介 MPEG(Moving Picture Experts Group)和VCEG(Video Coding Experts Group)已經聯合開發了一個比早期研發的MPEG 和H.263性能更好的視頻壓縮編碼標準,這

原创 static修飾的變量與函數說明

static變量和static函數 static關鍵字有兩種意思 1,表示變量是靜態存儲變量 表示變量存放在靜態存儲區.  2,表示該變量是內部連接 (這種情況是指該變量不在任何{}之內,就象全局變量那樣,這時候加上static) ,也

原创 有關C/C++的一些基礎知識

1.多態類中的虛函數表是Compile-Time,還是Run-Time時建立的? 答案:虛擬函數表是在編譯期就建立了,各個虛擬函數這時被組織成了一個虛擬函數的入口地址的數組.而對象的隱藏成員--虛擬函數表指針是在運行期--也就是構造函數

原创 Linux中的fork()函數分析

 一、fork入門知識      一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不同,兩個進程也可以做不同的事。

原创 ffmpeg解碼基礎

目前幾乎所有的主流多媒體播放器都是基於開源多媒體框架ffmpeg來做的,可見ffmpeg的強大。下面是對一個媒體文件進行解碼的主要流程: 1.    解複用(Demux) 當我們打開一個多媒體文件之後,第一步就是解複用,稱之爲De

原创 Linux下的ctag工具介紹

對於Linux下的C/C++的 程序員,使用VIM+Ctags的組合來寫程序也許是最佳的選擇。 這裏我主要講一下Ctags這個程序。儘管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可

原创 STL順序容器之向量(vector)

1,構造方法: vector<type> vecList                                        創建一個沒有任何元素的向量vector<type> vecList(otherVecList)

原创 Linux系統編程之管道:管道的讀寫規則與Pipe Capacity以及PIPE_BUF

一、當沒有數據可讀時 O_NONBLOCK disable:read調用阻塞,即進程暫停執行,一直等到有數據來到爲止。(管道通信默認爲阻塞) O_NONBLOCK enable:read調用返回-1,errno值爲EAGAIN。 #