天天看點

FFmpeg簡介

轉自:http://www.hellotongtong.com/avwelcome/avbase-ffmpeg-intro.html

 視訊課程:https://edu.51cto.com/sd/5f2f3

FFmpeg簡介

    ffmpeg是一個跨平台的音視訊處理庫,為了跨平台那麼就需要編譯出适用于各個平台的ffmpeg庫。

    一般在windows平台下會進行windows開發和安卓開發,是以本文的目的就是在windows平台下編譯用于windows和安卓使用的ffmpeg庫

    FFmpeg是一套可以用來記錄、轉換數字音頻、視訊,并能将其轉化為流的開源計算機程式。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視訊的完整解決方案。它包含了非常先進的音頻/視訊編解碼庫libavcodec,為了保證高可移植性和編解碼品質,libavcodec裡很多code都是從頭開發的。

好文章,來自【福優學苑@音視訊+流媒體】

FFmpeg是一套可以用來記錄、轉換數字音頻、視訊,并能将其轉化為流的開源計算機程式。它包括了領先的音/視訊編碼庫libavcodec等。

libavformat:用于各種音視訊封裝格式的生成和解析,包括擷取解碼所需資訊以生成解碼上下文結構

和讀取音視訊幀等功能;

libavcodec:用于各種類型聲音/圖像編解碼;

libavutil:包含一些公共的工具函數;

libswscale:用于視訊場景比例縮放、色彩映射轉換;

libpostproc:用于後期效果處理;

ffmpeg:該項目提供的一個工具,可用于格式轉換、解碼或電視卡即時編碼等;

ffsever:一個 HTTP 多媒體即時廣播串流伺服器;

ffplay:是一個簡單的播放器,使用ffmpeg 庫解析和解碼,通過SDL顯示;

官網介紹FFMPEG是一個多媒體架構,其包含了多個子產品庫:AVFormat,AVCodec,AVFilter,AVDivice,AVUtil等,并且提供了基于這些庫的三個指令行工具: ffmpeg,ffplay,ffprobe。

    一種方式是直接使用ffmpeg提供的這三個指令行工具來進行多媒體處理;

    另一種是使用ffmpeg封裝的這些庫進行二次開發。

列出支援的格式

剪切一段媒體檔案

提取一個視訊檔案中的音頻檔案

從 MP4檔案中抽取視訊流導出為裸的 H264資料

視訊靜音,即隻保留視訊

使用 AAC 音頻資料和 H264視訊生成 MP4檔案

音頻格式轉換

從 WAV 音頻檔案中到處 PCM 裸資料

将一個 MP4的檔案轉換為一個 GIF 動圖

使用一組圖檔生成 gif

淡入效果器使用

淡出效果器使用

将兩路聲音合并,比如加背景音樂

為視訊添加水印效果

視訊提亮效果器

視訊旋轉效果器的使用

視訊裁剪效果器的使用

将一段視訊推送到流媒體伺服器上

将流媒體伺服器上的流dump到本地

将兩個音頻檔案以兩路流的形式封裝到一個檔案中