在上一篇文章 FFmpeg學習(四):FFmpeg API 介紹與通用 API 分析 中,我們簡單的講解了一下FFmpeg 的API基本概念,並分析了一下通用API,本文我們將分析 FFmpeg 在編解碼時使用的API。 一、FFmpeg 解碼 API 分析 1. ...
一 libavformat介紹 libavformat的主要組成與層次調用關系如下圖: AVFromatContext是API層直接接觸到的結構體,它會進行格式的封裝和解封裝,它的數據部分由底層提供,底層使用了AVIOContext,這個AVIOContext實際上就是為普通的I O增加了一層Buffer緩沖區,再往底層就是URLContext,也就是達到了協議層,協議層的實現由很多,如rtmp ...
2018-07-20 18:40 0 1088 推薦指數:
在上一篇文章 FFmpeg學習(四):FFmpeg API 介紹與通用 API 分析 中,我們簡單的講解了一下FFmpeg 的API基本概念,並分析了一下通用API,本文我們將分析 FFmpeg 在編解碼時使用的API。 一、FFmpeg 解碼 API 分析 1. ...
一、FFmpeg 介紹 FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫。 二、FFmpeg 組成 libavformat:用於 ...
一、FFmpeg 相關術語 1. 容器/文件(Container/File):即特定格式的多媒體文件,比如MP4,flv,mov等。 2. 媒體流(Stream):表示在時間軸上的一段連續的數據,比如一段聲音數據、一段視頻數據或者一段字母數據,可以是壓縮的,也可以是非壓縮的,壓縮的數據需要關聯 ...
在 FFmpeg 學習(六):FFmpeg 核心模塊 libavformat 與 libavcodec 分析 中,我們分析了FFmpeg中最重要的兩個模塊以及重要的結構體之間的關系。 后面的文章,我們先不去繼續了解其他模塊,先針對在之前的學習中接觸到的結構體進行分析,然后在根據功能源碼,繼續了解 ...
在上文FFmpeg 結構體學習(二): AVStream 分析我們學習了AVStream結構體的相關內容。本文,我們將講述一下AVPacket。 AVPacket是存儲壓縮編碼數據相關信息的結構體。下面我們來分析一下該結構體里重要變量的含義和作用。 一、源碼整理 首先我們先看一下結構體 ...
基於Ubuntu16.04 一:FFmpeg的下載 (一)git命令下載源碼(太慢) (二)官網下載源碼:http://www.ffmpeg.org/download.html (三)文件解壓 (四)目錄分析 二:FFmpeg配置 ...
在上文FFmpeg 結構體學習(六): AVCodecContext 分析我們學習了AVCodec結構體的相關內容。本文,我們將講述一下AVIOContext。 AVIOContext是FFMPEG管理輸入輸出數據的結構體。下面我們來分析一下該結構體里重要變量的含義和作用。 一、源碼整理 ...
在上文FFmpeg 結構體學習(三): AVPacket 分析我們學習了AVPacket結構體的相關內容。本文,我們將講述一下AVFrame。 AVFrame是包含碼流參數較多的結構體。下面我們來分析一下該結構體里重要變量的含義和作用。 一、源碼整理 首先我們先看一下結構體AVFrame ...