日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JRtplib开发笔记(一):JRtplib简介、JThread库编译

發布時間:2024/8/1 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JRtplib开发笔记(一):JRtplib简介、JThread库编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原博主博客地址:https://blog.csdn.net/qq21497936
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/84785284

目錄

前話

2019年12月6日補充

JRTPLIB介紹

CMake介紹

JThread編譯

步驟一:下載JThread1.3.1并解壓,如下圖:

步驟二:新建jthread-1.3.1_build文件夾,打開CMake設置好源碼路徑和編譯路徑,如下圖:

步驟三:點擊Configure配置編譯環境和環境變量(筆者使用環境為VS2017)

步驟四:點擊Generate、打開工程

步驟五:編譯release和debug


無線同屏技術開發支撐技術

JRtplib開發筆記(一):JRtplib簡介、JThread庫編譯》:?https://blog.csdn.net/qq21497936/article/details/84785284
JRtplib開發筆記(二):JRtplib庫編譯、示例演示》:?https://blog.csdn.net/qq21497936/article/details/84785593
JRtplib開發筆記(三):JRtplib庫編程使用說明》:?https://blog.csdn.net/qq21497936/article/details/84957120
JRtplib開發筆記(四):JRtplib的VS開發環境搭建以及Demo》:?https://blog.csdn.net/qq21497936/article/details/84957708

?

? ? ? ? ? ? ? ? ? JRtplib開發筆記(一):JRtplib簡介、JThread庫編譯

?

前話

? ? ? ? 項目中局域網AP需要達到60個點的同屏,經過多方實測,最終根據實際效果采用rtp+fec,幀率可以達到每秒5-15幀(實測)。

因為應用層使用wpf開發(C#),方案選型時使用了微軟提供的rtp庫,在項目上線前的實測階段發現該庫存在重大bug(rtpSession會話掉線后,無法再加入,重啟軟件、重新連接網絡都不行,只能重啟,且同一時刻啟動電腦50臺固定隨機3-5臺出現),該庫是微軟高度封裝的rtp庫,無法解決,最終依據之前幾個項目的經驗,核心庫功能庫除非必須使用微軟提供的庫(C#)或者組件。

往后筆者將會盡量使用C、C++和平臺編程開發,不論是cpu占用率,內存管控和效率,都有大量的提升,還能移植不同平臺。

?

2019年12月6日補充

該方案在2018年11月最終成功同屏,60臺在一個AP局域網下,真同屏效果預期達到原先預期,且已經跨windows、linux、android,優化了庫底層源碼、壓縮比以及其他細節,2019年3月至11月隨項目改進優化幾個版本,優化已超預期效果,目前得到行業內各大客戶好評,公開課常用,且僅因為同屏,多客戶選擇使用我司系統而放棄其他中大廠同類產品。

?

JRTPLIB介紹

? ? ? ? JRtplib是一個用C++編寫的面向對象的庫,旨在幫助開發人員使用RFC3550中描述的實時傳輸協議(RTP),該庫可以提供接口給開發者實現RTP發送和接收數據,而無需擔心SSRC沖突、調度和傳輸RTCP數據等。用戶只需要向庫提供發送的有效負載數據,并且味苦提供訪問傳入的RTP和RTCP數據即可。

? ? ? ? 編譯JRtplib封裝了多平臺的多線程,使用起來只需要固定的幾個類即可實現跨平臺,此處提到JThread庫是因為JRtplib中可以支持使用JThread庫。

?

CMake介紹

? ? ? ? 筆者使用的開發環境是VS2017, JRTPLIB封裝到C庫中給C#調用,我們先編譯JThread庫,需要使用到CMake。

? ? ? ? CMake是一個工程文件生成工具。用戶可以使用預定義好的CMake腳本,根據自己配置選擇開發環境(像是Visual Studio, Code::Blocks, Eclipse)生成不同IDE的工程文件。

? ? ? ? Cmake下載地址:http://download.csdn.net/download/qq21497936/10154545

? ? ? ? 解壓后直接運行cmake-gui.exe

? ? ? ?

? ? ? ?解壓后直接運行cmake-gui.exe

? ? ? ?

JThread編譯

? ? ? ? 當前版本最新的是1.3.1版本:

? ? ? ? 官網地址:http://research.edm.uhasselt.be/jori/page/CS/Jthread.html

? ? ? ? CSDN地址:https://download.csdn.net/download/qq21497936/10826029

步驟一:下載JThread1.3.1并解壓,如下圖:

? ? ? ??

步驟二:新建jthread-1.3.1_build文件夾,打開CMake設置好源碼路徑和編譯路徑,如下圖:

? ? ????

? ? ? ??

步驟三:點擊Configure配置編譯環境和環境變量(筆者使用環境為VS2017)

?? ? ? ?

?? ? ? ?

? ? ? ? 點擊Finished,等待配置:

? ? ? ??

? ? ? ?修改環境變量,并確認使用靜態編譯,如下圖

? ? ? ??

(補充:筆者為什么使用靜態編譯?情景一:項目測試時,50臺設備,同樣的硬件設備,同樣的ghost系統,同樣的初始化步驟,存在幾臺總是出現運行無反應,實際時起來了,但是c/c++庫掛了;情景二:此臺開發機編譯后可直接exe運行,另外一臺開發機卻exe不行,搭建環境步驟一樣,本質原因是C/C++以及系統dll等問題;綜合以上原因,直接使用靜態編譯,避免出現這種因環境造成的運行問題)。

?

步驟四:點擊Generate、打開工程

? ? ? ? ?

步驟五:編譯release和debug

? ? ? ? ?

? ? 分別生成debug和release版本

? ? ? ?

? ? ? ??

?

?

JRtplib開發筆記(一):JRtplib簡介、JThread庫編譯》:?https://blog.csdn.net/qq21497936/article/details/84785284
JRtplib開發筆記(二):JRtplib庫編譯、示例演示》:?https://blog.csdn.net/qq21497936/article/details/84785593
JRtplib開發筆記(三):JRtplib庫編程使用說明》:?https://blog.csdn.net/qq21497936/article/details/84957120
JRtplib開發筆記(四):JRtplib的VS開發環境搭建以及Demo》:?https://blog.csdn.net/qq21497936/article/details/84957708

?

原博主博客地址:https://blog.csdn.net/qq21497936
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/84785284

總結

以上是生活随笔為你收集整理的JRtplib开发笔记(一):JRtplib简介、JThread库编译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。