原创 [Cmake-Android音視頻]ffmpeg3.4視頻格式轉換

視頻格式轉換流程圖   函數介紹 sws_getContext(...) 創建像素格式轉換的上下文,每次會創建新的空間。多線程建議使用。   struct SwsContext *sws_getCachedContext(...)   

原创 [Cmake-Android音視頻]創建支持ffmpeg3.4的項目

AndroidStudio版本3.2 1.創建Android項目 1.1打開AndroidStudio,創建一個名爲FirstFfmpeg的項目,勾選C++支持 1.2 minimun SDK選擇5.0,4.0或者4.1都可以,根

原创 音視頻基礎知識---協議相關RTSP RTMP HLS

RTP(Real-time Transport Protocol)實時傳輸協議 RTP是用於Internet上針對多媒體數據流的一種傳輸協議。RTP由兩個緊密鏈接部分組成:RTP----傳送具有實時屬性的數據;RTCP控制協議(RTCP)

原创 [Cmake-Android音視頻]NDK-r14b編譯ffmpeg3.4支持neon,硬解碼

編譯環境 Ubuntu16.04 x86_64 Ffmpeg3.4 ndk-r14b 編譯前的準備 ubuntu16.04 64位 http://releases.ubuntu.com/16.04.3/ 下載ndk https://dl.

原创 [Cmake-Android音視頻]ffmpeg3.4軟硬解碼和多線程解碼

1.解碼流程圖   2.函數介紹 avcodec_register_all() 註冊解碼器格式,比如h264,mjpeg。   avcodec_find_decoder(...) 通過解碼器ID查找相應的解碼器。如果沒有找到,應該是在編

原创 [Cmake-Android音視頻]ffmpeg3.4實現解封裝

1.解封裝流程圖   2.函數介紹 av_register_all() 註冊所有的解封裝格式,也可以根據不同的封裝格式,單個註冊。   avformat_network_init() 註冊網絡,如rtsp,http   avformat

原创 音視頻基礎知識---像素格式YUV

YUV概述 YUV,是一種顏色編碼方法。常使用在各個影像處理組件中。 YUV在對照片或影片編碼時,考慮到人類的感知能力,允許降低色度的帶寬。 YUV,分爲三個分量: Y表示明亮度(Luminance或Luma),也就是灰度值; U(Cb)

原创 理解C語言中指針的聲明以及複雜聲明的語法

目錄視圖摘要視圖訂閱   理解C語言中指針的聲明以及複雜聲明的語法 標籤: c語言指針複雜聲明 2016-04-01 23:51 225人閱讀 評論(0) 收藏 舉報  分類: C 版權聲明:本文爲博

原创 音視頻基礎知識---音頻編碼格式

1.爲什麼要進行音頻編碼 音頻編碼的主要作用是將音頻採樣數據(PCM等)壓縮成爲音頻碼流,從而降低音頻的數據量,偏於存儲和傳輸。   2.音頻的裸數據格式就是脈衝編碼調製(Pulse Code Modulation,PCM)數據。 描述一

原创 音視頻基礎知識---視頻編碼格式

1.爲什麼要進行視頻編碼 未經編碼的數據數字視頻的數據量很大 存儲困難 傳輸困難 例如:一張大小爲1080*720的圖像,幀率25FPS,一個像素用12位表示,那麼可以作如下計算: 一幀圖像的數據大小1080*720*12/8/1024

原创 音視頻基礎知識---封裝格式介紹

1.什麼是音視頻的封裝格式 封裝格式也稱多媒體容器,它只是爲多媒體編碼提供了一個“外殼”,也就是將所有的處理好的視頻、音頻或字幕都包裝到一個文件容器內呈現給觀衆,這個包裝的過程就叫封裝。   2.常用的封裝格式   3.一些注意點 A