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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP?

發布時間:2025/3/12 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景

為滿足內網無紙化/電子教室等內網超低延遲需求,避免讓用戶配置單獨的服務器,我們研發了輕量級RTSP服務開發包。

單播不再贅述,這里重點介紹下我們的組播技術方案:

組播解決的主要痛點是服務器部署和帶寬占用問題,一般來說,內網電子教室/無紙化/實時同屏場景用RTMP推送+RTMP服務器,然后其他端從服務器拉取RTMP流,這個方案的劣勢在于,如果單獨部署服務器,需要額外的機器,增加了成本開銷,如果教師端機器作為服務器,網絡和機器性能雙重壓力下,負荷過重。

通過組播技術方案,只要網絡設備支持組播組網,輕松實現多并發的同屏/攝像頭直播場景。

但是,組播的劣勢在于,高碼率的無線網絡環境體驗很差,也就是說,如果是Windows或者Android平臺推送,Android無線PAD播放,真正好用的,還是RTMP推拉流技術解決方案。

二、基于組播的技術方案

1. 設置需要共享的視音頻,設置碼率后,點擊“配置查看Rtsp服務”,選中“組播”和“SSM”選項,點擊啟動服務即可:

2. 確定后,返回主界面,點擊“發布Rtsp流”,拷貝回調的RTSP url,用我們的SmartPlayer.exe或移動端播放器,播放即可。

注意:需要內網網絡設備支持組播功能。

經長時間測試,毫秒級延遲,完全滿足內網同屏技術指標。

內置RTSP服務核心接口(以Windows C++ 接口為例:nt_smart_publisher_sdk.h):

/*+++rtsp server操作接口+++*//** 創建一個rtsp server * pRtspServerHandle: rtsp server 句柄* reserve:保留參數傳0* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *OpenRtspServer)(NT_PHANDLE pRtspServerHandle, NT_INT32 reserve);/** 設置rtsp server 監聽端口, 在StartRtspServer之前必須要設置端口* rtsp_server_handle: rtsp server 句柄* port: 端口號,可以設置為554,或者是1024到65535之間,其他值返回失敗* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerPort)(NT_HANDLE rtsp_server_handle, NT_INT32 port);/** 設置rtsp server 鑒權用戶名和密碼, 這個可以不設置,只有需要鑒權的再設置* rtsp_server_handle: rtsp server 句柄* user_name: 用戶名,必須是英文* password:密碼,必須是英文* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerUserNamePassword)(NT_HANDLE rtsp_server_handle, NT_PCSTR user_name, NT_PCSTR password);/** 設置rtsp server 組播, 如果server設置成組播就不能單播,組播和單播只能選一個, 一般來說單播網絡設備支持的好,wifi組播很多路由器不支持* rtsp_server_handle: rtsp server 句柄* is_multicast: 是否組播, 1為組播, 0為單播, 其他值接口返回錯誤, 默認是單播* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerMulticast)(NT_HANDLE rtsp_server_handle, NT_INT32 is_multicast);/** 設置rtsp server 組播組播地址 * rtsp_server_handle: rtsp server 句柄* multicast_address: 組播地址* 如果設置的不是組播地址, 將返回錯誤* 組播地址范圍說明: [224.0.0.0, 224.0.0.255] 為組播預留地址, 不能設置. 可設置范圍為[224.0.1.0, 239.255.255.255], 其中SSM地址范圍為[232.0.0.0, 232.255.255.255]* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerMulticastAddress)(NT_HANDLE rtsp_server_handle, NT_PCSTR multicast_address);/** 獲取rtsp server當前的客戶會話數, 這個接口必須在StartRtspServer之后再調用* rtsp_server_handle: rtsp server 句柄* session_numbers: 會話數* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *GetRtspServerClientSessionNumbers)(NT_HANDLE rtsp_server_handle, NT_INT32* session_numbers);/** 啟動rtsp server* rtsp_server_handle: rtsp server 句柄* reserve: 保留參數傳0* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *StartRtspServer)(NT_HANDLE rtsp_server_handle, NT_INT32 reserve);/** 停止rtsp server* rtsp_server_handle: rtsp server 句柄* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *StopRtspServer)(NT_HANDLE rtsp_server_handle);/** 關閉rtsp server* 調用這個接口之后rtsp_server_handle失效,* 成功返回 NT_ERC_OK*/NT_UINT32 (NT_API *CloseRtspServer)(NT_HANDLE rtsp_server_handle);/*---rtsp server操作接口---*/

三、基于RTMP的技術方案

注意事項

1. 組網:無線組網,需要好的AP模塊才能撐得住大的并發流量,推送端到AP,最好是有線網鏈接;

2. 服務器部署:如果Windows平臺,可以考慮NGINX,如果是Linux,可以考慮SRS或NGINX,服務器可以和Windows平臺的教師機部署在一臺機器;

3. 教師端:如教師有移動的PAD,可以直接推到RTMP服務器,然后共享出去;

4. 學生端:直接拉取RTMP流播放即可;

5. 教師和學生互動:學生端如需作為示范案例,屏幕數據共享給其他同學,只需請求同屏,數據反推到RTMP服務器,其他學生查看即可。

6. 擴展監控:如果需要更進一步的技術方案,如教師端想監控學生端的屏幕情況,可以有兩種方案,如學生端直接推RTMP過來,或者,學生端啟動內置RTSP服務,教師端想看的時候,隨時看即可(亦可輪詢播放)。

RTMP延遲大,這種說法,相對片面,好多是由于推拉流模塊本身問題導致(如果服務器系NIGNX或SRS,基本可排除服務器轉發導致的大時延,不要再賴服務器了),從我們官方和實際場景來看,RTMP整體技術方案,延遲可做到1秒內,毫秒級。

總結

以上是生活随笔為你收集整理的面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP?的全部內容,希望文章能夠幫你解決所遇到的問題。

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