原创 C語言基礎-控制語句

控制語句 一、分支語句(選擇結構) if分支語句 單分支選擇 if(條件表達式) { 語句塊A } 例子: 定義兩個整型變量a和b,通過比較它們的大小,求出較大者。 int a, b, max; a = 4; //

原创 Qt與FFmpeg聯合開發指南(三)-- 解碼本地音視頻

FFmpeg音視頻解碼流程 AAC視頻格式解碼爲PCM編碼格式 h264視頻格式解碼爲YUV編碼格式 音頻解碼流程與視頻解碼流程大同小異(視頻解碼流程詳細見:Qt與FFmpeg聯合開發指南(二)-- 解碼播放本地視頻), 使用不同的解碼器

原创 Qt與FFmpeg聯合開發指南(二)-- 解碼本地視頻

由於FFmpeg是使用C語言開發,所有和函數調用都是面向過程的。以我目前的學習經驗來說,通常我會把一個功能的代碼全部放在main函數中實現。經過測試和修改認爲功能正常,再以C++面向對象的方式逐步將代碼分解和封裝。 一、開發前的準備工作(

原创 FFmpeg多媒體格式分類詳解

一、多媒體格式分類 多媒體的格式包括三種:封裝格式、視頻編解碼、音頻編解碼多 媒體封裝格式(又稱容器)   所謂封裝格式就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中,也就是說僅僅是一個外殼,或者大家把它當成一個放視頻軌

原创 Linux--靜態庫與動態庫的創建詳解

    C++靜態庫與動態庫 這次分享的宗旨是——讓大家學會創建與使用靜態庫、動態庫,知道靜態庫與動態庫的區別,知道使用的時候如何選擇。這裏不深入介紹靜態庫、動態庫的底層格式,內存佈局等,有興趣的同學,推薦一本書《程序員的自我修養——鏈接

原创 FFmepg的基本組成

一、FFmepg的基本組成 FFmpeg框架的基本組成包含AVFormat、AVCodec、AVFilter、AVDevice、AVUtil等模塊庫。 (1)FFmpeg的封裝模塊AVFormat AVFormat實現了多媒體領域絕大數

原创 Qt與FFmpeg聯合開發指南(五)-- 解碼播放本地視頻

   本篇目標:讀幀解碼顯示視頻 視頻播放器播放一個互聯網上的視頻文件,需要經過以下幾個步驟:解協議,解封裝,解碼視音頻,視音頻同步。如果播放本地文件則不需要解協議,爲以下幾個步驟:解封裝,解碼視音頻,視音頻同步。            

原创 Qt與FFmpeg聯合開發指南(四)-- 封裝解碼音視頻線程

代碼封裝實際是一個見仁見智的工作,可能不同的人對代碼結構的理解不同,實現的封裝方式也會存在差異。 爲什麼用線程封裝解碼音視頻? 在使用QT做窗體程序時有一些佔用時間較長的函數在運行時會使QT的窗體控件無法得到響應,也就是常說的程序假死,其

原创 Qt與FFmpeg聯合開發指南(六) -- 攝像頭每一幀數據的捕捉

要在QT中使用攝像頭,就要鏈接多媒體模塊以及多媒體工具模塊: QT += multimedia QT += multimediawidgets 接下來我們要用到三個類: QCamera:攝像頭對象 QCameraViewfinder:用

原创 Qt與FFmpeg聯合開發指南(三)-- 解碼播放本地音視頻

FFmpeg音視頻解碼流程 AAC視頻格式解碼爲PCM編碼格式 h264視頻格式解碼爲YUV編碼格式 音頻解碼流程與視頻解碼流程大同小異(視頻解碼流程詳細見:Qt與FFmpeg聯合開發指南(二)-- 解碼播放本地視頻), 使用不同的解碼器

原创 Qt與FFmpeg聯合開發指南(序)-- FFmpeg框架的基礎知識

ffmpeg是一個非常有用的命令行程序,它可以用來轉碼媒體文件。它是領先的多媒體框架FFmpeg的一部分,其有很多功能,比如解碼、編碼、轉碼、混流、分離、轉化爲流、過濾以及播放幾乎所有的由人和機器創建的媒體文件。 在這個框架中包含有各種工

原创 Qt與FFmpeg聯合開發指南(二)-- 解碼播放本地視頻

由於FFmpeg是使用C語言開發,所有和函數調用都是面向過程的。以我目前的學習經驗來說,通常我會把一個功能的代碼全部放在main函數中實現。經過測試和修改認爲功能正常,再以C++面向對象的方式逐步將代碼分解和封裝。 一、開發前的準備工作(

原创 FFmpeg框架的基礎知識

ffmpeg是一個非常有用的命令行程序,它可以用來轉碼媒體文件。它是領先的多媒體框架FFmpeg的一部分,其有很多功能,比如解碼、編碼、轉碼、混流、分離、轉化爲流、過濾以及播放幾乎所有的由人和機器創建的媒體文件。 在這個框架中包含有各種工

原创 Qt開發: Qt5使用FFmpeg開發庫

一、下載ffmpeg:    https://ffmpeg.zeranoe.com/builds/   二、解壓ffmpeg 選擇Windows 64-bit 版本,Static,Share,Dev三個都下載,下載好的三個文件分別爲:

原创 Linux下ffmpeg安裝教程(親測有效)

FFmpeg是一個自由軟件,可以運行音頻和視頻多種格式的錄影、轉換、流功能,包含了libavcodec —這是一個用於多個項目中音頻和視頻的解碼器庫,以及libavformat——一個音頻與視頻格式轉換庫。 下載 ffmpeg官網下載: