1. 程式人生 > >FFMPEG基礎庫程式設計開發學習筆記——FFMPEG概述

FFMPEG基礎庫程式設計開發學習筆記——FFMPEG概述

宣告一下:這些關於ffmpeg的文章只是用於記錄我的學習歷程和以便於以後查閱,文章中的一些文字可能是直接摘自於其他文章、書籍或者文獻,學習ffmpeg相關知識是為了使用在Android上,我也才是剛開始接觸學習,如有不對之處還請指出。

1、FFMPEG簡介 Open-source multimedia library,遵從GPL/LGPL協議,ffmpeg只是一個商標,它的所有權屬於ffmpeg org。由Fabrice Bellard(法國著名程式設計師 Born in1972)於2000年發起建立的開源專案,同時也是TinyCC(1996)、發現最快速計算圓周率演算法(1997)、TinyGL(1998)、QEMU(2003)、Jslinux(2011)等等的發起人或作者。 FFmpeg在linux平臺下開發,但它同樣也可以在其他作業系統環境中編譯執行,包括Windows、Mac OS X等。FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式,它包括了目前領先的音/視訊編碼庫libavcodec。 2、FFMPEG功能:
多媒體視訊處理工具FFmpeg有非常強大的功能,包括視訊採集功能、視訊格式轉換、視訊抓圖、給視訊加水印等。 視訊採集功能:ffmpeg視訊採集功能非常強大,不僅可以採集視訊採集卡或USB攝像頭的影象,還可以進行螢幕錄製,同時還支援以RTP方式將視訊流傳送給支援RTSP的流媒體伺服器,支援直播應用。 視訊格式轉換功能:ffmpeg可以輕易地實現多種視訊格式之間的相互轉換。 視訊截圖功能:對於選定的視訊,擷取指定時間的縮圖。視訊抓圖,獲取靜態圖和動態圖,不提倡抓gif檔案,因為抓出的gif檔案大而播放不流暢 給視訊加水印:使用ffmpeg可以給視訊新增水印。 3、模組組成:
FFmpeg是一套可以用來記錄、轉換數字音訊、視訊,並能將其轉化為流的開源計算機程式。它包括了領先的音/視訊編解碼庫libavcodec等。 libavformat:用於各種音視訊封裝格式的生成和解析,包括獲取解碼所需資訊以生成解碼上下文結構和讀取 音視訊幀等功能;音視訊的格式解析協議,為libavcodec分析碼流提供獨立的音訊或視訊碼流源。 libavcodec:用於各種型別聲音/影象編解碼;該庫是音視訊編解碼核心,實現了市面上可見的絕大部分解碼器的功能,libavcodec庫被其他各大解碼器ffdshow,MPlayer等所包含或應用。 libavdevice:硬體採集、加速、顯示。操作計算機中常用的音視訊捕獲或輸出裝置; libavfilter:filter音視訊濾波器的開發,如寬高比、剪裁、格式化、非格式化、伸縮。 libavutil:包含一些公共的工具函式的使用庫,包括算數運算、字元操作。 libavresample:音視訊封裝編解碼格式預設等。 libswscale:(原始視訊格式轉換)用於視訊場景比例縮放、色彩對映轉換;影象顏色空間或格式轉換。 libswresample:原始音訊格式轉碼 libpostproc:(同步、時間計算的簡單演算法)用於後期效果處理;音視訊應用的後期處理,如影象的去塊效應。 ffmpeg:該專案提供一個工具,可用於格式轉換、解碼或電視卡即時編碼等; ffsever:一個HTTP多媒體即時廣播串流伺服器。 ffplay:是一個簡單的播放器,使用ffmpeg庫解析和解碼,通過SDL顯示。 轉載請註明出處:
http://blog.csdn.net/gc_gongchao/article/details/47706137