原创 基於FFmpeg和SDL1.2的極簡播放器實現

思路 基於FFmpeg寫一個播放器,其實十分的簡單。實際上,主要是對FFmpeg的API的封裝,同時,我們需要將音視頻通過主機呈現出來,所以還依賴於平臺的SDL庫,整體步驟和思路如下: 1. 編譯用於音視頻解碼的FFmpeg庫;

原创 C語言中可變參數的使用方法

寫在前面 其實,可變參數這個東東自從入門C語言開始就一直在使用,最經典的就是printf打印輸出。不論是從事嵌入式開發,還是搞Android的NDK開發,經常會用到可變參數輸出log,但是很多時候是用別人封裝好的API,而忽略了事

原创 FFmpeg的代碼結構和編譯系統

FFmpeg的目錄結構 打開FFmpeg的源代碼目錄,可以發現目錄結構相對比較簡單, compact目錄下主要是頭文件,是爲了兼容不同平臺或系統的數據類型定義,例如compat/msvcrt/snprintf.h和snprint

原创 FFmpeg之Hello World

引子 任何入門教程都以Hello World作爲經典指導,我們也不免落入俗套,基於FFmpeg的Hello World只是熟悉一下怎麼基於FFmpeg的庫文件編寫自己的應用程序。當然,像FFmpeg源碼裏本身提供的ffmpeg,f

原创 至簡播放器ffplay工作原理

下載,編譯及運行 參考博文 http://blog.csdn.net/ericbar/article/details/79382783 即可完成ffplay的基本測試。 如果要進行GDB調試,需要先編譯一個帶GDB信息的

原创 與FFmpeg的初次邂逅

前面的文章(http://blog.csdn.net/ericbar/article/details/69937295)已經幫助我們搭建好了編譯FFmpeg的環境,接下來,便可以來認識一下FFmpeg的廬山真面目了。 下載FFmp

原创 基於NDK編譯Android平臺的FFmpeg動態庫

需求 FFmpeg在Linux平臺(如Ubuntu)上的支持已經比較完善了,如前述文章介紹 http://blog.csdn.net/ericbar/article/details/73702061,我們很容易就可以基於FFmp

原创 搭建FFmpeg的編譯開發環境(VMware+Ubuntu)

準備工作 爲了方便學習和研究FFmpeg,我們必須有一個合適的開發試驗環境。FFmpeg默認是基於Linux環境來開發的,在類Linux操作系統裏,編譯會變得更加的簡單。如果你對Linux不熟悉,可以參閱相關書籍。 首先,我們需

原创 C語言結構體初始化的四種方法

定義 struct InitMember { int first; double second; char* third; float four; }; 方法一:定義時賦值 struct InitM

原创 C99標準裏的inttypes.h頭文件

來源 在查看代碼時看到如下類型: fprintf(stderr, "\033[%"PRIu32";3%"PRIu32"m%s\033[0m", (color[level] >> 4) & 15,

原创 在ubuntu16.04下測試ffplay程序

下載FFmpeg及SDL源碼 離上次博文發佈已經有一段時間了,這次我們來測試一下強大的FFmpeg播放器程序ffplay,它是FFmpeg原生附帶的。 本文編寫時,FFmpeg的最新版本是3.4.2,從官網ffmpeg.org上

原创 一款支持視頻壓縮的小型轉碼工具

軟件名稱 《小視頻壓縮》 軟件需求 移動網絡下的視頻分享,需要對原始視頻進行壓縮,以達到小尺寸的目的,本軟件提供轉碼和視頻壓縮的基本功能。 軟件功能 1.本軟件支持不同的媒體源格式,支持從手機目錄打開視頻,也支持其他應用分享來的視

原创 隱私政策

本應用尊重並保護所有使用服務用戶的個人隱私權。爲了給您提供更準確、更有個性化的服務,本應用會按照本隱私權政策的規定使用和披露您的個人信息。但本應用將以高度的勤勉、審慎義務對待這些信息。除本隱私權政策另有規定外,在未徵得您事先許可的

原创 基於VMware安裝macOS 10.14.5(Mojave)遇到的幾點問題

寫在前面 基於VMware虛擬機安裝蘋果系統(黑蘋果)僅可用於學習研究,不要用於商業用途。 安裝方法 安裝方法網上已經介紹的很多了,這裏就不再熬述,可以參考如下作者的文章: https://www.applex.net/threa

原创 在Android Studio中添加com.android.support:design的支持

關於Material Design Google在2015的IO大會上,給我們帶來了Material Design的設計規範,同時,也給我們帶來了全新的Android Design Support Library,利用這個庫在Andr