ffmpeg 入門(一)

1。個人背景:一個在公司一直跟視頻流打交道的工程師,但是不負責解碼,我主要負責的軟件就是將第三方非標準,標準的碼流從第三方相機,平臺,dvr,nvr等中獲取到對應的碼流,進行分發或者存儲到本地,所以有時還要讀硬盤。

2。老是聽解碼的人說到ffmpeg這個庫,自己以前一直想調用下,瞭解後面程序員做的工作,這次正好有機會記錄下這個庫的使用,增加自己的理解。


正題:

1.fmpeg類庫中有下面幾樣東西:

(1)Protocol:FFmpeg類庫支持的協議-------》rtmp,udp,tcp,ftp,http,https這種

(2)AVFormat:FFmpeg類庫支持的封裝格式---》wav,avi,mp3,MP4

(3)AVCodec:FFmpeg類庫支持的編解碼器----》bmp,png,yuv

(4)AVFilter:FFmpeg類庫支持的濾鏡

(5)Configure:FFmpeg類庫的配置信息


2.官方下載:Dev開發包,編譯運行會發現還需要下載對應的Shared包。所以從官方下載Dev包和Shared包,Dev裏面是include,lib文件,而Shared裏面是dll文件


3.做一個基於FFmpeg的轉碼器。它可以將一種視頻格式(包括封裝格式和編碼格式)轉換爲另一種另一種視頻格式。轉碼器在視音頻編解碼處理的程序中,屬於一個比較複雜的東西。因爲它結合了視頻的解碼和編碼。一個視頻播放器,一般只包含解碼功能;一個視頻編碼工具,一般只包含解碼功能;而一個視頻解碼器,則需要先對視頻進行解碼,然後再對視頻進行編碼,因而相當於解碼器和編碼器的結合。下面列舉了一個視頻的轉碼流程。輸入視頻的封裝格式是FLV,視頻編碼標準是H.264,音頻編碼標準是AAC;輸出視頻的封裝格式是AVI,視頻編碼標準是MPEG2,音頻編碼標準是MP3.從流程中可以看護,首先從輸入視頻中分離出視頻碼流和音頻壓縮碼流,然後分別將視頻碼流和音頻碼流進行解碼,獲取到非壓縮的像素數據/音頻採樣數據,接着將非壓縮的像素數據/音頻採樣數據重新進行編碼,獲得重新編碼後的視頻碼流和音頻碼流,最後將視頻碼流和音頻碼流重新封裝成一個文件。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章