1. 程式人生 > >EasyDarwin開源流媒體伺服器支援basic基本認證和digest摘要認證解析

EasyDarwin開源流媒體伺服器支援basic基本認證和digest摘要認證解析

RTSP認證作為RTSP標準協議的一部分,其內容在網上可以找到很多,在此就不在贅述。EasyDarwin作為RTSP伺服器也提供了對RTSP請求的基本認證和摘要認證。

EasyDarwin用RTSPSession物件來處理RTSP請求,在其Run函式的kAuthenticatingRequest狀態和kAuthorizingRequest狀態及其呼叫的QTSS_RTSPAuthenticate_Role角色和QTSS_RTSPAuthorize_Role角色用來處理RTSP請求的認證部分,角色的具體處理在 QTSSAccessModule模組的AuthenticateRTSPRequest函式和QTSS_RTSPAuthorize_Role函式中,其中前者主要處理使用者名稱/密碼認證,後者處理許可權認證。如果想對細節有更多瞭解,就多分析這方面的原始碼,因為我也不是完全熟悉,所以就對細節不在詳述,僅僅把自己研究的怎樣通過檔案的配置來使EasyDarwin在進行拉流基本認證和摘要認證的時候新增我們自己建立的使用者名稱和密碼。

首先下載最新版本的EasyDarwin,在***\EasyDarwin\EasyDarwin\WinNTSupport目錄下存在3個檔案:qtaccess、qtusers和qtgroups,qtaccess是控制訪問許可權的,qtusers是管理使用者名稱和密碼的,qtgroups是用來說明使用者是屬於那一個組的。

我們先來配置qtusers,下面是我配置好的一個qtusers檔案,內容如下:

realm EasyDarwin
aGFja21l:0muym.z3yrHSw:18060847e049b6fd5d993aaa62e96585
admin:admin:6351fbbe4f7b8f2672515fed518df79d

其中第一行realm EasyDarwin,說明我們設定了認證的realm 為EasyDarwin,當然這裡也可以為其他字串。

第二行是以兩個冒號分割的3個字串,分別為我們設定的使用者名稱、密碼和加密的密碼,其中密碼對應於基本驗證,加密的密碼對應於摘要認證,使用者名稱和密碼我們可以隨意設定,但加密的密碼需要計算,其計算規則為MD5(username:realm:password),在這裡username為aGFja21l,realm為EasyDarwin,password為0muym.z3yrHSw,經計算得到加密的密碼為18060847e049b6fd5d993aaa62e96585。

第三行是設定另一個使用者名稱和密碼,其規則和第二行一樣,在此不再贅述。

現在我們看下qtaccess檔案,下面是我配置好的一個qtaccess檔案,內容如下:

AuthScheme digest
require user aGFja21l admin

第一行表示我們採取的是摘要認證,如果想採用基本認證,在此更換為AuthScheme basic

第二行表示我們希望有哪些使用者可以訪問,在此將我們剛才建立的使用者aGFja21l 和admin新增到這裡。

OK,到此檔案配置已經結束,如果你想驗證下,可以使用VLC,地址鍵入rtsp://user:[email protected]:port/XXX.sdp來進行驗證,或者鍵入rtsp://ip:port/XXX.sdp且在接下來彈出的認證對話方塊裡輸入賬號名和密碼。

如有錯誤,歡迎指正!

獲取更多資訊

QQ交流群:496258327

Copyright © EasyDarwin.org 2012-2016

EasyDarwin


相關推薦

EasyDarwin源流媒體伺服器支援basic基本認證digest摘要認證解析

RTSP認證作為RTSP標準協議的一部分,其內容在網上可以找到很多,在此就不在贅述。EasyDarwin作為RTSP伺服器也提供了對RTSP請求的基本認證和摘要認證。EasyDarwin用RTSPSession物件來處理RTSP請求,在其Run函式的kAuthenticati

EasyDarwin源流媒體伺服器Golang版本:服務端錄影功能釋出

EasyDarwin開源流媒體伺服器(www.easydarwin.org)現在使用Go版本實現了。最新的程式碼提交,已經支援了推流(或者拉流)的同時進行本地儲存。 本地儲存的原理,是在推流的同時啟動ffmpeg作為一路Client來做儲存。ffmpeg在demux和mux的工作方面已經

EasyDarwin源流媒體伺服器Golang版本:拉轉推功能之拉流實現方法

EasyDarwin開源流媒體伺服器(www.easydarwin.org),拉轉推是一個很有意義的功能,它可將一個獨立的RTSP資料來源“拉”到伺服器,再通過轉發協議轉發給多個客戶端,或者通過EasyDarwin的本地儲存功能進行儲存。國內大多攝像機都支援RTSP協議,通過拉轉推可將第三方

EasyDarwin源流媒體伺服器gettimeofday效能優化(3000萬/秒次優化至8000萬次/秒)

—本文由EasyDarwin開源團隊成員貢獻 一、問題描述 Easydarwin中大量使用gettimeofday來獲取系統時間,對系統性能造成了一定的影響。我們來做個測試: While(1) { Gettimeofday(&t

EasyDarwin源流媒體伺服器提供的RTMP直播推送庫

EasyRTMP EasyRTMP是什麼? EasyRTMP是一個EasyDarwin配套使用,也可以單獨使用的RTMP推送庫,通過EasyRTMP我們就可以避免接觸到稍顯複雜的RTMP推送流程,只需要呼叫EasyRTMP的幾個API介面,就能輕鬆、穩定地把流媒體音視

解決用EasyDarwin源流媒體伺服器做HLS直播時Flash Player卡住的問題

最近在開發EasyDarwin開源流媒體伺服器HLS直播的時候發現一個現象:在PC上用flash player播放HLS和在ios上面播放HLS時,效果明顯不同,在ios上播放非常穩定,而在flash player上播放會經常性卡住,需要重新重新整理網頁才能夠正常播放。經過

easyDarwin--源流媒體實現

移動互聯 流媒體服務 現在 幫助 接口 需求 -type layer dia EasyDarwin 是由國內開源流媒體團隊開發和維護的一款開源流媒體平臺框架,從2012年12月創建並發展至今,從原有的單服務的流媒體服務器形式,擴展成現在的雲平臺架構的開源項目,更好地幫助

EasyDarwin源流媒體雲平臺之語音對講功能設計與實現

EasyDarwin雲平臺一直在穩步的升級迭代中,近日,EasyDarwin雲平臺實現了語音對講的功能。對講功能的加入,標誌著EasyDarwin雲平臺進一步的完善。 流程設計 客戶端使用POST的方式在body中攜帶協議報文向雲平臺傳送開始對講命令; 雲

EasyDarwin源流媒體專案

EasyDarwin是由國內開源流媒體團隊維護和迭代的一整套開源流媒體視訊平臺框架,從2012年12月建立並發展至今,包含有單點服務的開源流媒體伺服器,和擴充套件後的流媒體雲平臺架構的開源框架,開闢了諸多的優質開源專案,能更好地幫助廣大流媒體開發者和創業型企

主流源流媒體伺服器收集

流媒體解決方案 Live555流媒體平臺框架 EasyDarwin實時流媒體播放伺服器程式DarwinStreamingSrvr流媒體實時傳輸開發包 jrtplib多媒體處理工具 ffmpeg多媒體編碼工具包LibavFlash流媒體伺服器 Red5流媒體伺服器 Open

源流媒體Red5-編譯部署

zip 地址 就是 dea 環境 bubuko -s target package 源碼下載地址:https://github.com/Red5/red5-server 使用工具:IntelliJ IDEA 下載源碼後直接用IDEA打開,等待全部加載完成後 編譯看是否報

EasyDSS流媒體伺服器軟體對資料庫Sqlite3MySQL的同時支援說明

EasyDSS流媒體音視訊直播與點播伺服器軟體,是一套提供一站式的轉碼、點播、直播、檢索、回放、錄影下載服務的高效能RTMP/HLS/HTTP-FLV流媒體服務,極大地簡化了流媒體相關業務的開發和整合的工作。 其中,點播功能主要包含:上傳、轉碼、分發。直播功能,主要包含:直播、錄影, 直

源流媒體系統:OBS ( Open Broadcaster Software ) 介紹

無意間發現了一個非常優秀的開源流媒體系統:OBS ( Open Broadcaster Software )  執行截圖: 該軟體是基於MFC的,下載原始碼後一次性就可以編譯通過,使用很簡單。 使用了以下開源庫:   x264                   -

EasyPlayer源流媒體移動端播放器推出RTSP-RTMP-HTTP-HLS全功能Pro版

EasyPlayerPro介紹 Android EasyPlayerPro專業版全功能播放器,是由EasyDarwin開源團隊維護的一款支援RTSP、RTMP、HTTP、HLS多種流媒體協議的播放器版本。Android上同時保留原來RTSP專用播放器,功能精煉

IBM P伺服器的Linux基本安裝配置

學習如何在 IBM 獨立機架伺服器上安裝並配置 Red Hat Enterprise Linux® 4。示例展示了在 x86 系統上的安裝,不過這些示例也可以應用到各種硬體架構上,包括 x86_64、IA64、S/390® 和 ppc64。 簡介 正如您瞭解的一樣,Linux

關於basic認證digest認證的初步理解

1.  basic認證是把使用者和密碼通過base64加密後傳送給伺服器進行驗證 2.  digest認證則是把伺服器響應的401訊息裡面的特定的值和使用者名稱以及密碼結合起來進行不可逆的摘要演算法運算得到一個值,然後把使用者名稱和這個摘要值發給伺服器,服務通過使用者名稱去

EasyDarwin媒體伺服器啟動函式StartServer程式碼分析

在前面部落格中分析EasyDarwin字典類QTSS_Dictionary時瞭解到相關QTSS_DictionaryMap,QTSSAttrInfoDict等屬性內容,其初始化分配記憶體是在伺服器啟動的時候。 正好回過來分析伺服器的初始化啟動函式QTSS_ServerSta

用NodeJS/express-4.0實現的靜態檔案伺服器(serveStatic外掛直接支援HTTP Range請求,因此可用來做mp4流媒體伺服器

var express = require('express'), serveIndex = require('serve-index'), //只能列表目錄,不能下載檔案? serveStatic = require('serve-stat

[流媒體伺服器搭建] EasyDarwin伺服器搭建及客戶端推流完整示例

Windows下環境搭建一、準備工作,需要先下載我們需要的程式1、EasyDarwin  下載地址:https://github.com/EasyDarwin/EasyDarwin2、ffmpeg         下載地址:http://ffmpeg.org/3、nginx

原始碼Window下搭建rtmp流媒體伺服器

有這樣需求,將攝像頭視屏釋出出去,並且需要在web網頁上通過Flash播放器播放。首先Flash被我所知道的所有瀏覽器所支援。如果是Activex控制元件。還需要被使用者額外安裝,而且一不小心還會出問題。但是Flash player預設是被安裝的。而且是比較穩定的。雖然開源