原创 從零編寫rtsp-client端

目錄   簡介: github工程源碼: rtsp協議簡介 rtsp相關的一些問題 簡介: 使用live555接受rtsp流,發現在 使用udp傳輸的過程中,h264數據丟幀,播放端花屏,起初以爲是網絡不好出現udp丟包,可是局域網環境下

原创 android第三方app改爲系統app,加入system組,獲取system權限

用Androd studio 開發的app,編譯出apk, 想獲取system權限。 環境:編譯好的apk, android 源碼環境,有root權限和源碼對應的開發板,我這裏是user版本。 思路:1 可以的話直接把整個app源碼移到

原创 第三方app加載系統/system/lib下的庫--is not accessible for the namespace

第三方app想load /system/lib 下的so庫。報錯:is not accessible for the namespace 緣由:android限制了app加載so庫,從 7.1.2 源碼來看,在加載so庫的時候會檢查 加載

原创 vlc-android-aar包編譯分析

之前有分析過很多 vlc 源碼組成: 《VLC源碼makefile分析 》 《vlc源碼分析--issue 》 《vlc-添加自定義的demuxer解複用插件----播放h264裸文件》 《vlc源碼分析(1)--vlm.c 添加簡單推流

原创 vlc-添加自定義的demuxer解複用插件----播放h264裸文件

使用vlc3.0.6  在ubuntu 64bit上編譯,vlc使用插件的方式組織對多種視頻源的支持,比如 avi、mp4、mkv、等等,這裏想添加一個自己的demuxer,從一個h.264文件中讀h264數據,播放。(vlc並不支持直接

原创 vlc源碼分析-clock.c 時間戳模塊

vlc 播放網絡視頻流,比如rtsp流,需要進行是否超時的判斷,判斷是網路的延遲接受,還是因爲解碼器太慢導致延遲等,利用到網絡流的時間戳,把網絡流的時間戳和系統實際的時間建立一個對應關係,就是 /src/input/clock.c這個模塊

原创 vlc讀取rtsp流-源碼分析---時間戳dts的計算

h264流中有兩個概念,pts,dts: vlc源碼分析--播放速度控制原理,pts,dts vlc 使用插件的形式開發,讀取rtsp流時,會根據url地址解析,加載 liblive555_plugin.so 插件,作爲demuxer使

原创 h264測試文件--從h.264文件讀取單獨幀C語言版本

測試服務器需要一個h264流,從h264文件讀取流的函數實現: c語言版本 注意需要h264文件開頭即爲00 00 00 01 /*** ***20190828 canok *** output: complete frames

原创 Android native層服務例子Bp和Bn

轉入android陣地,被各種權限所阻撓,app寫個jni各種沒有權限,只能開個native服務,本來android的服務,就是基於Binder機制所建立的,如果寫個簡單的服務 只需繼承自Bindler, 實現onsTransact().

原创 c 語言宏定義實現字符串常量添加固定頭或尾

有的時候需要創建打開一個指定目錄下的多個文件,各個文件名都有共同的路徑前綴,用宏定義,來實現給 字符串添加固定的前綴: #include<stdio.h> #define LOG_PATH "/work/temp/" #define

原创 vlc-源碼分析--rtsp服務端

vlc使用了live555開源庫,但是隻是播放網絡視頻流的時候用live555作爲 接受,對於串流rtsp功能,爲自行實現的一個服務端程序,單線程IO複用服務端模型。這裏分析下這個服務端的源碼 位於 src/network/htt

原创 linu進程間通信,線程間同步

(以下純屬個人見解) 對於進程,多數的關注重點是在於 兩個進程之間的通信,其實也存在同步的機制包含在"通信"裏面,只是不同的進程擁有獨立的地址空間,互不干涉,所以重點在於怎樣讓連個進程進行數據往來交流。 而線程,屬於同一個進程創建的線程本

原创 live555:testRTSPClient.cpp 源碼分析-讀取rtsp流demo

testRTSPClient.cpp 位於live555源碼目錄 live/testprogs目錄下,編譯出來 testRTSPClient 可以直接用來接收流,不過這個流接受之後只是打印一下信息,然後丟棄,並沒有存儲到什麼文件。

原创 vlc-android-源碼編譯-修改依賴的live555源碼文件

編譯後的vlc-android, 有需要vlc依賴的第三方庫live555中添加一些修改。 由於vlc依賴第三方庫是自己指定下載特定版本並且最終將第三方庫打包到一起,所以,應該去修改編譯環境中的第三方源碼包。 如果已經成功編譯過源

原创 自用遠程雲主機ubuntu14.04拷貝文件

開始的目的是爲了下載一個google的開源代碼,當然沒辦法下,至於什麼 “強” 的,就不折騰了,shadowsocks 折騰了老半天,多了都是過期文章,也沒搞出個什麼玩意,直接百度 衛 批 嗯 是不會給你答案的,毛了,直接上寶ta