2017-03-04 62 views
2

我有一個使用Wowza Streaming Engine 4.1的ColdFusion應用程序。我已經完成了所有的整合,以記錄視頻或音頻和JW播放器的播放。我正在使用Wowza的VOD(視頻點播)應用程序。將視頻私人給我的網站用戶 - wowza +扳手

現在我想確保用戶只能播放他們自己的視頻。爲此我使用https://streamtoolbox.com/webservice-authentication-authorization

爲此,它不需要數據庫,以便我在application.xml文件屬性部分添加以下代碼:

<!-- Example Application.xml part from the Properties and modules element --> 

    <Modules> 
     <Module> 
      <Name>base</Name> 
      <Description>Base</Description> 
      <Class>com.wowza.wms.module.ModuleCore</Class> 
     </Module> 
     <Module> 
      <Name>logging</Name> 
      <Description>Client Logging</Description> 
      <Class>com.wowza.wms.module.ModuleClientLogging</Class> 
     </Module> 
     <Module> 
      <Name>flvplayback</Name> 
      <Description>FLVPlayback</Description> 
      <Class>com.wowza.wms.module.ModuleFLVPlayback</Class> 
     </Module> 
     <Module> 
      <Name>Wrench module</Name> 
      <Description>A module for user authentication and much more</Description> 
      <Class>com.streamtoolbox.Wrench</Class> 
     </Module> 
    </Modules> 
    <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections --> 
    <Properties> 
    <!-- Example Application.xml part from the Properties element --> 
     <Property> 
      <Name>wrench.db.driver</Name> 
      <Value></Value> <!-- Setting to nothing to go into no-database mode --> 
     </Property> 
     <Property> 
      <Name>wrench.token.resolver.url</Name> 
      <Value>http://example.com/auth-token.cfm</Value> 
      <!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value--> 
     </Property> 
     <Property> 
      <Name>wrench.connect.authorization.url</Name> 
      <Value>http://example.com/auth-ok.cfm</Value> 
      <!--Value>http://streamtoolbox.com/streaming/auth-nok.php</Value--> 
     </Property> 
    </Properties> 

我AUTH-OK CFM文件只包含下面的代碼:

{"result": "allow"} 

我的身份驗證令牌CFM文件只包含下面的代碼:

{"username":"john"} 

我已經重新啓動Wowza應用程序,並檢查視頻,但視頻是給下面的錯誤:

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause() 

我記錄文本文件,在ColdFusion中,看它是否被髮送到CFM文件的請求或不。但沒有發現。所以看起來我在application.xml文件中沒有正確運行的問題。

任何人都可以讓我知道我做錯了什麼嗎?

+0

@Leigh我剛剛更新了網址。我也使用這個網址http://streamtoolbox.com/streaming/auth-ok.php這是給予適當的迴應。所以URL沒有問題。是的,我嘗試過不同的瀏覽器。 –

+0

我將刪除我的評論,因爲他們無法回答問題。由於人們並不總是閱讀評論,所以我建議將您的評論移到問題中(以提高可見度)。然後刪除評論。 – Leigh

回答

1

在我看來,你還沒有配置wrench.token.resolver.url(或者你也可以使用數據庫)的令牌解析器web服務,所以基本上會發生什麼是連接進來,扳手沒有一個定義的方式來找出屬於該令牌的人,然後它不會調用授權web服務,因爲這需要傳遞用戶名。你需要實現一個簡單的Web服務,返回令牌的用戶名,格式如下(more details in the docs):

{"username":"john"} 
+0

@jabel,謝謝你的回覆。我做了你提到的改變,但它仍然無法正常工作並更新有問題的application.xml。你能讓我知道我做對了嗎? –

+1

對於記錄:來自播放器的傳入查詢不包含令牌,扳手拒絕連接,並有正當理由 – jabal

+1

@jabel。謝謝。它正在工作。 –