原创 intel gpu 解碼
背景 在linux上使用intel的gpu加速解碼h264,根據以往的經驗往往需要將intel gpu的demo集成到我們自己代碼當中, 但是這樣侷限性很大, 每一代的gpu加速的修改, 我們代碼都需要調整,得不償失。 封裝接口
原创 gb28181提供的功能
功能 根據項目需要暫時使用了以下功能: 一. 跟NVR相關操作 1.0獲取當前服務器有幾個nvr註冊進來 1.1 通過Nvr 的20位碼獲取NVR的具體信息 二. 跟攝像頭相關的操作 2.0 獲取當前的nvr下有幾個camera
原创 gb 28181的20位編碼簡介
舉例:36030000042000000003 設備的20位編碼組成 國標編碼由中心編碼(8位)、行業編碼(2位)、類型編碼(3位)、網絡標識(1位)和序號(6位)五個段共20位十進制數字組成。 系統編碼 =中心編碼(8位) +
原创 海康和大華NVR 遇到的一些問題
1. 流格式的結構不一樣 有些大華設備的流並不是以PS頭作爲取一幀的前提, 要以Mark位爲結束標識 有些大華設備的流取一幀要判斷下一個ps頭,把之前的數據作爲一幀 2. 錄像目錄結構不太一樣 大華的錄像目錄並不會給filepat
原创 gb28181 服務對外發布結構
結構 將NVR和sip服務器要放在同級域中, 然後其他服務可以在外網,這樣可以在外網獲取到NVR的流和消息 交流 qq羣:227919596 (gb28181交流合作)
原创 rtsp簡單介紹
一. 介紹 Rtsp 即realtime stream protocol,它是應用層協議, 可以控制流的(暫停/繼續/後退/前進等), 二. 兩種方式 分爲: 1. RTP/AVP/UDP 2. RTP/A
原创 在linux 環境中封裝intel硬編
背景 在linux上使用intel的gpu加速編碼h264,根據以往的經驗往往需要將intel gpu的demo集成到我們自己代碼當中, 但是這樣侷限性很大, 每一代的gpu加速的修改, 我們代碼都需要調整,得不償失。 封裝接口 clas
原创 開發實現C++ RTMP直播拉流播放器
背景 該直播播放器的背景是來源於 《拉流推流服務器設計》的一個分支,它的重點是把拉下來的流進行解碼顯示播放。 設計點 要實現跨平臺, 目前支持的平臺linux和windows 要模塊化和結構化 可以拉各個平臺的直播流 要音視頻同步 基
原创 intel GPU加速在linux 上測試, 多路編碼
背景 我使用的機子的配置Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz 4核 8G內存 120G硬盤 測試方式, 使用intelGPU 1080p yuv 數據文件, 讀取編碼並寫到264文件中, 這
原创 webrtc sigslot 使用以及源碼分析
背景 在使用webrtc的時候,我們會看到使用sigslot,那什麼是sigslot就是我們所說的信號與槽, qt使用的。 webrtc中的Sigslot 是Sarah Thompson 設計實現的C++ 事件處理的框架,這套框架非常輕量
原创 webrtc linux 和 android 版本下載與編譯
背景 我目前使用的是豆莢vpn代理才能訪問webrtc開源項目,通過給開發環境配置代理可以順利完成其源碼的下載。 安裝depot_tools mkdir webrtc cd webrtc git clone https://chromiu
原创 開發實現C++ RTMP直播推流sdk
前言 rtmp即Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫,它是由Adobe公司提出的一種應用層的協議,用來解決多媒體數據傳輸流的多路複用(Multiplexing)和分包(packetizi
原创 多進程的一種場景
多進程執行一段程序 std::vector<pid_t> pid_vector; pid_vector.clear(); pid_t p; int i = 0; for (i = 0; i < pro
原创 拉流推流服務器設計
背景 該服務器也是基於一個客戶的需求產生的。客戶那邊使用的是騰訊的直播sdk, 將不同終端的流推到騰訊雲平臺, 但是又想推到其他平臺, 基於此需求,該產品產生了。 該產品通訊協議使用的是WebSocket, 客戶端可以自己定義 可以拉騰