原创 Android wifi-framework WifiMonitor和WifiNative學習

WifiStateMachine作爲wifi-framework層最核心的類,其他很多wifi的類都是爲其服務的,接下來記錄下對WifiNative和WifiMonitor這兩個類的學習(閱讀《深入理解Android:WiFi模塊

原创 播放器:記錄對gzip解壓支持的修改

問題背景: 有些服務器,播放HLS時,m3u8文件經過gzip壓縮,需要進行解壓操作,否則無法播放。 方法1、使用curl下載 使用curl的話則十分簡單,可以在下載之前設置參數,curl會自己進行解壓。參考源文檔的解釋,參數en

原创 Android 播放音頻(PCM)的兩種方法--AudioTrack/OpenSL ES使用簡介

本文主要介紹Android上可以進行音頻(PCM)播放的兩個組件–AudioTrack/OpenSL ES的簡單使用方法。 對一個音頻文件(如MP3文件),如何使用FFmpeg進行解碼獲取到PCM,之前的文章已經有相應的說明: h

原创 Live555 RTSP播放分析(一)--基本模塊介紹

以testRTSPClient.cpp測試程序來對Live555 RTSP播放進行一個簡單的分析。同時對Live555幾大模塊的功能及使用進行簡單描述。 因爲我對Live555使用的比較多的是在客戶端播放場景下,所以可能有些不足或

原创 Live555 RTSP播放分析(二)--RTSPClient及MediaSession

以testRTSPClient.cpp測試程序來對Live555 RTSP播放進行一個簡單的分析。同時對Live555幾大模塊的功能及使用進行簡單描述。 因爲我對Live555使用的比較多的是在客戶端播放場景下,所以可能有些不足或

原创 Android OpenGL ES視頻渲染(二)EGL+OpenGL

相關文章:Android OpenGL ES視頻渲染(一)GLSurfaceView 上一篇講了如何在通過GLSurfaceView使用OpenGL進行視頻, 當時我們也講過,它是繼承自SurfaceView,具備SurfaceV

原创 Android MediaPlayer中的RTSP(一):RTSP簡介

背景: 我在最近的項目中遇到了使用Android的MediaPlayer來進行RTSP播放的場景。但對於RTSP這種流媒體協議,其實Android原生的播放器支持得不是很好,所以有許多需要修改的地方。 本文主要簡單介紹RTSP協議

原创 FFmpeg 探測流程分析

FFmpeg中,流的探測是一個比較耗時的過程,那他的具體流程是怎樣呢,本文進行簡單梳理。並對流探測的兩個重要函數:avformat_open_input和avformat_find_stream_info進行分析。 avforma

原创 Android 中全局鍵的處理GlobalKeyManager

如何使用快捷鍵跳轉到指定的頁面中,在android中的GlobalKeyManager中可以進行相關處理。 frameworks\base\core\res\res\xml\global_keys.xml指定了按鍵和對應的Comp

原创 Android 4.4 安裝INSTALL_FAILED_SHARED_USER_INCOMPATIBLE後原APK無法使用問題分析

背景: 記錄最近在項目中遇到的一個問題,先說現象: /system/app/下原本有一個可以正常使用的APK,APK本想下發自升級,APK存在問題無法安裝成功,但奇怪的是,原本/system/app/下正常的APK也無法使用了。

原创 初識IPv6 有狀態、無狀態地址相關協議

本文主要介紹IPv6全局單播地址(Global Address)的獲取方式及其相關的協議,DHCPv6協議和RA、RS報文(鄰居發現協議)。 1、全局單播地址類型 IPv6地址中分爲本地鏈路地址(Link-Local Addres

原创 Live555 組播及RTSPClient IPv6改造

背景 之前的文章我們講過如何使用Live555框架進行組播 RTP/UDP播放,以及使用rtspclient完成rtsp播放。 隨着網絡時代的發展,IPv6的實施也是越來越深入,而Live555框架目前暫未實現IPv6支持,我們對

原创 Android OpenGL ES視頻渲染(一)GLSurfaceView

Android中視頻渲染有幾種方式,之前的文章使用的是nativewindow(包括softwareRender)。今天介紹另一總視頻渲染的方式——OpenGL ES。 閱讀本文之前需要對OpenGL有一定的瞭解,可以參考http

原创 Android Runtime.exec()文件名帶空格不生效

今天遇到一個問題,在想使用Runtime.exec()創建軟連接,但是沒生效,一開始以爲是權限問題,但是發現有的文件可以創建成功,後來才知道是因爲文件名帶空格不生效。 不止是ln命令,cp這些命令也都一樣。 使用以下方法解決:

原创 FFmpeg hls.c分析

轉載自https://blog.csdn.net/wzw88486969/article/details/78821068 avformat_open_input(http.xxx.m3u8) init_input(