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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考

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

內網環境下,為了滿足內網無紙化/電子教室等內網超低延遲需求,避免讓用戶配置單獨的服務器,好多開發者希望有RTSP的技術方案,用于小并發場景,特別是在組網環境好的有線環境下,使用RTSP服務配合組播,是也是好多開發者考量的因素之一。

鑒于此,大牛直播SDK(Github)發布了輕量級RTSP服務,廢話不多說,先上架構圖:

輕量級RTSP服務功能支持

  • ?[音頻格式]AAC;
  • ?[視頻格式]H.264、H.265;
  • ?[協議類型]RTSP;
  • ?[傳輸模式]支持單播和組播模式;
  • ?[端口設置]支持RTSP端口設置;
  • ?[鑒權設置]支持RTSP鑒權用戶名、密碼設置;
  • ?[獲取session連接數]支持獲取當前RTSP服務會話連接數;
  • ?[多服務支持]支持同時創建多個內置RTSP服務;
  • ?[H.265支持]Windows內置rtsp server支持發布H.265視頻(64位庫);
  • ?[RTSP url回調]支持設置后的rtsp url通過event回調到上層。

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

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

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

廢話不多說,先上圖:

大牛直播SDK組播方案開啟如下:

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

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

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

經長時間測試,毫秒級延遲,完全滿足內網同屏技術指標,更重要的是,在組播同時,還可以同步支持內外網RTMP推送、RTSP推送和實時錄像功能。

內置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操作接口---*/

本文權當拋磚引玉,感興趣的開發者,可以參考看看。

總結

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

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