原创 HLS--M3U8解析

  目錄 1 簡介 2 2 概述 2 3 播放列表文件 3 3.1 介紹 3 3.2新標籤 4 3.2.1 EXT-X-TARGETDURATION 4 3.2.2 EXT-X-MEDIA-SEQUENCE 4 3.2.3 EXT-X-K

原创 hls中的playlist(m3u8)

       最近忙着學習MSS(Microsoft smooth streaming),都忘了HLS的內容。最近遇到幾個bug都是hls seek有關,hls的精準seek問題,seek的最小單位是視頻分片(ts流),導致無法精準see

原创 dlopen failed總結

1、dlopen 動態庫失敗原因 ①動態庫位置沒有放對地方,dlopen路徑錯誤(可以打印dlerror()函數) 解決辦法:使用正確路徑。run time的so路徑一般都在環境變量LD_LIBRARY_PATH中,可以獲取該環境變量,或

原创 MSS(Microsoft smoothing streaming)介紹

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-sstr/8383f27f-7efe-4c60-832a-387274457251?redirectedfro

原创 C++和java中生產者消費者模型

下面用代碼簡單實現生產者消費者模型:主要是用的是線程、線程鎖、線程條件變量。 先使用c++的代碼實現: #include <jni.h> #include <string> #include "pthread.h" #include "A

原创 DTS、PTS 的概念

視頻 視頻的播放過程可以簡單理解爲一幀一幀的畫面按照時間順序呈現出來的過程,就像在一個本子的每一頁畫上畫,然後快速翻動的感覺。 但是在實際應用中,並不是每一幀都是完整的畫面,因爲如果每一幀畫面都是完整的圖片,那麼一個視頻的體積就會很大,

原创 vsnprintf

函數簡介 頭文件: #include <stdio.h> 函數聲明: int _vsnprintf(char* str, size_t size, const char* format, va_list ap); 參數說明 char

原创 android代碼優化----ListView中自定義adapter的封裝(ListView的模板寫法)

【聲明】  歡迎轉載,但請保留文章原始出處→_→  生命壹號:http://www.cnblogs.com/smyhvae/ 文章來源:http://www.cnblogs.com/smyhvae/p/4477079.html   【其他

原创 libcurl基礎知識1

一、LibCurl基本編程框架libcurl是一個跨平臺的網絡協議庫,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 協議。libcurl同樣支持HTTPS證書授權,HTTP P

原创 如何在makefile中獲得shell變量

最近在編譯android的時候,腳本(shell)中有個變量,希望能夠在makefile中得到這個變量值,進行編譯。 source腳本的時候定義這個變量,make的時候用到這個變量。 如何在makefile中獲得shell環境變量: 1、

原创 pthread線程detached和joinable

線程有兩種狀態,在任何一個時間點上,線程是可結合的(joinable),或者是分離的(detached)。一個可結合的線程能夠被其他線程收回其資源和殺死;在被其他線程回收之前,它的存儲器資源(如棧)是不釋放的。相反,一個分離的線程是不能被

原创 Apple官方對於Http Live Streaming的常見問題回答

  1、支持哪些類型的編碼器? HLS協議本身對編碼器的選擇沒有任何限制。 然而,HLS目前實現的編碼格式爲H.264 視頻和AAC 音頻 (HE-AAC 或 AAC-LC)。 Apple官方提供的切片工具支持MPEG-TS Over

原创 C++中的生命週期

類A,含構造函數和析構函數 普通函數fun,函數體裏新建了類A的局部自動對象FunObj和局部靜態對象InStaObj main方法新建了類A的局部自動對象MainObj,調用fun方法 外面新建了A的的外部靜態對象ExStaObj和外部

原创 jstack分析線程狀態(java分析內存泄漏)

背景 記得前段時間,同事說他們測試環境的服務器cpu使用率一直處於100%,本地又沒有什麼接口調用,爲什麼會這樣?cpu使用率居高不下,自然是有某些線程一直佔用着cpu資源,那又如何查看佔用cpu較高的線程? 當然一個正常的程序員不會寫

原创 C/C++中的內存泄漏及查找方法(二)

知道內存泄漏產生的原因,那麼怎麼在龐大的code中定位產生內存泄漏的code? 通過#define malloc/new達到目的 1, 定義供應用程序使用的頭文件 //libmem.h #ifndef _LIBMEM_H_ #define