999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于RTMP協議認證訪問方法的流媒體系統的設計與實現

2023-12-02 09:25:00嚴競雄
電腦知識與技術 2023年29期

嚴競雄

(1.南通理工學院計算機與信息工程學院,江蘇南通 226002;2.南通市虛擬現實與云計算重點實驗室,江蘇南通 226002;3.南通理工學院物聯網工程教研室,江蘇南通 226002;4.南通理工學院計算機技術應用研究所,江蘇南通 226002)

0 引言

移動互聯網時代,視頻直播隨處可見,人們更愿意以手機直播的方式來進行溝通和交流,直播手段也由開始的網頁直播方式發展到移動手機直播方式[1],在享受移動設備便利的同時,網絡安全也成為日益重要的話題。如何在保證直播正常開展的情況下,維護用戶的個人信息和隱私不被泄露成為網民日益關心的話題。因此,直播信息安全越來越受到社會各界的重視。本文通過一種基于RTMP 協議鑒權接入方法的設計來進行流媒體系統的實現,從技術角分析了RTMP協議的安全性,對現有的流媒體架構進行改進,從而更好地保護直播數據流的信息安全。

由于竊取鏈接的頻繁發生,反竊取鏈接技術應運而生,即通過一些技術手段和加密方法,防止非法用戶訪問,防止鏈盜從原始網站獲取數據和流量,通過相關指標跟蹤來源。一旦檢測到來源不是站點,它將被阻止或返回到指定頁面,以實現防盜鏈。RTMP 協議是一種用于實時數據通信的網絡協議。它主要用于Flash/Air 平臺與支持RTMP 協議的流媒體/交互式服務器之間的音頻、視頻和數據通信,因此可以用于支持網絡直播。然而,當前的防盜鏈是基于HTTP 協議的網頁,這在RTMP網絡廣播中很難實現。

RTMP防盜鏈是指通過在RTMP協議通信中添加鑒權令牌,來保證視頻資源安全的一種方式。在加入RTMP 流媒體直播點播鑒權功能后,RTMP 協議中將包含若干個鑒權字符串,如用戶名、密碼、播放權限等。只有合法生成的鑒權令牌才能進行正常的推流和拉流;另外,推拉流的時間戳令牌具有時效性,只有在有效期內才能正常地推拉流。

1 技術簡介

流媒體客戶端采用ActionScript 編程語言進行設計與實現,通過Flash 采集用戶視頻和音頻,采用H264進行視頻編碼,通過RTMP協議將編碼的視頻流推送到RTMP 服務端,服務器采用C++語言開發的RTMPServer,對外提供RTMP 直播服務,包含了基于RTMP 流媒體協議的相關交互過程,具有較強的先進性及應用價值。

2 功能原理

流媒體鑒權分為推流鑒權和拉流鑒權[2],都是利用RTMP 協議來實現的,該功能是通過RTMP 流媒體主機與客戶端推拉流程序配合實現:

1)啟用流媒體鑒權功能后,客戶端向視頻服務器請求推拉流地址前先將所需的權限信息和時效信息進行加密,生成鑒權串。

2)客戶端向視頻服務器發出包含鑒權串的RTMP請求。

3) 流媒體服務器對客戶端發送的RTMP 協議中的權限信息和時效信息進行提取,獲得加密鑒權串。

4) 流媒體服務器對RTMP 協議中的權限信息和時效信息進行驗證,對合法且在有效期內的請求正常響應,對非法或過期的請求拒絕響應。

3 需求分析

在流媒體交互過程中,因為原始的RTMP 協議在客戶端與服務器交互連接時并沒有做權限驗證,因此對于未經授權的直播流,RTMP 流媒體服務器并沒有辦法進行屏蔽攔截,因此需要對協議進行優化改進。RTMP協議交互連接的原理如圖1所示。

圖1 RTMP協議交互過程

圖2 connect指令結構示意圖

在RTMP協議進行connect命令交互的時候,可以對connect 命令中的AMF 消息進行追加token 相關字段,用于用戶的權限驗證。

4 鑒權方法

鑒權令牌的構成,即客戶端通過生成的鑒權串如下:推拉流地址中,ntoken、ptoken、ttoken、ftoken 字段分別代表用戶名、密碼、時間戳和播放權限,其中,ttoken是生成校驗字符串時的UNIX 時間戳,ntoken、ptoken、ttoken、ftoken中對應的值是根據一定規則生成的加密字符串。

5 系統設計

5.1 架構設計

項目架構如圖3 所示,發布端用戶通過RTMP 推流軟件將攝像頭采集的數據經過H264 編碼后,轉化為直播流推送到RTMP 流媒體核心服務器上,由核心服務器轉發給邊緣流媒體服務器,接收端用戶通過播放器連接邊緣流媒體服務器,從邊緣流媒體服務器上獲取數據流下載到本地進行視頻解碼,將解碼后的數據通過播放器播放出來[3]。這種架構設計的優點在于,當訪問或者是觀看人數眾多時,可以實現RTMP視頻流量的負載均衡,將流量分別分散到各個流媒體服務器上,減輕核心流媒體服務器的負載壓力,以獲得較好的觀看體驗。

圖3 流媒體架構示意圖

5.2 服務器設計

在RTMP服務器設計方面,可以按功能進行劃分,主要分為流媒體服務器的點播功能、直播功能、日志記錄功能等[4],在服務器端,通過對RTMP協議connect交互時的代碼進行改進,添加對connect時AMF信息的判斷比對,實現RTMP直播推流時的交互鑒權。

表1 鑒權字段示例

鑒權方法:RTMP服務器節點收到推流請求時做如下校驗。推流鑒權串中ttoken中的時間戳與當前時間相差不超過5分鐘;

校驗字段ntoken、ptoken、ftoken 所對應的值是否合法。RTMP服務器節點收到拉流請求時做如下校驗。拉流鑒權串中ttoken中的時間戳與當前時間相差不超過5分鐘;

校驗字段ntoken、ptoken、ftoken 所對應的值是否合法。

5.3 客戶端設計

客戶端使用ActionScript 對Flash 進行編碼,設計與服務器在連接交互時的接口,需要對ntoken、ptoken、ttoken、ftoken 設計字段,首先構造Object 這樣一個類型的對象,將ntoken、ptoken、ttoken、ftoken這幾個屬性加入Object 對象當中,然后對ntoken、ptoken、ttoken、ftoken 進行賦值,分別表示姓名、密碼、時間戳和播放權限。之后新建一個NetConnection的對象nc,使用addEventListener 監聽網絡連接事件,最后在連接時將accessToken 放在nc 對 象connect 函 數 的最后。

鑒權字符串生成

var ntoken: String =Base64.encode("Jack");

var ptoken: String =Base64.encode("123456");

var ttoken: String =Base64.encode(ts);

var ftoken: String =Base64.encode("bofang");

var accessToken =new Object();

accessToken.ntoken =ntoken;

accessToken.ptoken =ptoken;

accessToken.ttoken =ttoken;

accessToken.ftoken =ftoken;

nc = new NetConnection();

nc.client=this;

nc.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler);

nc.connect("rtmp://192.168.10.254/live/",accessToken);

6 應用效果

通過測試客戶端連接RTMP 流媒體服務器進行測試,可以從結果中看出,當客戶端發出的ntoken、ptoken、ttoken、ftoken 字段編碼經服務器校驗錯誤時,客戶端的播放請求遭到了服務器的攔截,客戶端的event.info.code 顯示為Failed。圖4 為鑒權失敗示意圖。

圖4 鑒權失敗示意圖

而當客戶端發出的ntoken、ptoken、ttoken、ftoken編碼字段經服務器校驗正確時,客戶端的播放請求得到服務器驗證后放行,event.info.code 顯示為Success。圖5為鑒權成功示意圖。

圖5 鑒權成功示意圖

7 結束語

通過這種方式進行流媒體鑒權,可以根據自身需求添加多個自定義加密Key,也可以用自定義的Key對默認的Key進行替換,同時還可以縮短或延長防盜鏈的有效時間。這樣的設計為用戶提供了自定義鑒權串的功能擴展和伸縮能力。

該方法與現有的RTMP 視頻服務相比較,優點在于客戶端向RTMP 服務器發起請求時,即客戶端和服務器雙方在進行connect交互時,客戶端在RTMP協議中對connect的AMF消息進行追加token字段,用于用戶的權限驗證。該方法主要運用了C++語言進行程序編寫,相關內容涉及Linux操作系統的配置與管理、流媒體服務器的安裝與配置以及RTMP 客戶端、發布端的部署與調優[5]。通過對RTMP協議connect交互時的安全性進行改進,以實現RTMP 直播推流時的交互鑒權,可以解決流媒體直播和點播過程中內容訪問鑒權和對流媒體內容進行保護等相關安全性問題,利用該成果可開發出基于RTMP 協議的流媒體交互安全認證平臺。

主站蜘蛛池模板: 波多野衣结在线精品二区| 91久久大香线蕉| 亚洲二区视频| 欧美高清三区| 粗大猛烈进出高潮视频无码| 国产精品视频猛进猛出| 伊人色综合久久天天| 久久久久亚洲AV成人人电影软件 | 亚洲不卡av中文在线| 成年看免费观看视频拍拍| 国产麻豆另类AV| 美女扒开下面流白浆在线试听| 日韩无码精品人妻| 国产免费久久精品44| 精品无码一区二区三区在线视频| 国产视频大全| 中文字幕人成人乱码亚洲电影| 精品欧美日韩国产日漫一区不卡| 欧美另类一区| 中文天堂在线视频| 欧美三级日韩三级| 免费无码AV片在线观看国产| 欧美激情二区三区| 欧美在线导航| 国产精品成人第一区| 午夜天堂视频| 国产精品久久久精品三级| 国产毛片高清一级国语 | 伊人色在线视频| 99在线视频免费| 日韩精品一区二区三区免费| 日韩a级片视频| 亚洲成人精品在线| 成人看片欧美一区二区| 欧美成人二区| 亚洲欧洲自拍拍偷午夜色| 国产午夜无码片在线观看网站 | 日本人真淫视频一区二区三区 | 伊人激情综合网| 午夜不卡视频| 97se综合| 精品無碼一區在線觀看 | 亚洲免费人成影院| 在线观看无码av五月花| 996免费视频国产在线播放| 少妇被粗大的猛烈进出免费视频| 性欧美精品xxxx| 日本高清成本人视频一区| 国产97公开成人免费视频| 中文字幕无码制服中字| 又黄又湿又爽的视频| 日韩小视频在线观看| 欧美亚洲第一页| 天天综合网色| 国产精品成人AⅤ在线一二三四| 国产福利一区视频| 91精选国产大片| 国产不卡在线看| 成人日韩精品| 在线另类稀缺国产呦| 日韩毛片免费| 91成人免费观看| 亚洲精品午夜无码电影网| 久久久久久久蜜桃| 亚洲综合第一区| 亚洲AV无码一区二区三区牲色| 国产成年女人特黄特色毛片免| 国产又黄又硬又粗| 亚洲成人网在线观看| 在线视频亚洲色图| 中文字幕欧美成人免费| 波多野结衣一级毛片| 不卡的在线视频免费观看| 最新国产麻豆aⅴ精品无| 无码国产偷倩在线播放老年人| 99热在线只有精品| 婷婷激情五月网| 日本在线国产| 一区二区欧美日韩高清免费| 久草视频精品| 无码aaa视频| 精品欧美一区二区三区久久久|