Fw: [開發] 媒體服務與串流實況概念 (Azure)

看板Cloud作者 (傲嬌魚)時間10年前 (2014/07/01 16:35), 9年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
※ [本文轉錄自 WindowsPhone 看板 #1JibMnIp ] 作者: felaray (傲嬌魚) 看板: WindowsPhone 標題: [開發] 媒體服務與串流實作概念(偷渡問題) 時間: Tue Jul 1 14:31:07 2014 這兩個禮拜在研究實作實況串流 + CDN,因為之前完全沒概念,撞了很多牆. 所以想寫成一篇文章~給有需要的人參考,當然也有問題想提出來討論~ 前言: 一開始以為只要有個servercloud service就可以輸出,所以打算使用 Windows Azure Media Service (WAMS) 就可以解決.事實上也是如此,在既有檔案 的情況下這是最佳解. 但是實況串流(Live Smooth Streaming)的情況下 WAMS 似乎還不支援? 看了許多MSDN論壇上的古老文章都說Live Smooth is coming sooooon... 並且建議用IIS裝Media service這個IIS擴充功能來解決. (論壇上08~13年的文章都這麼說,奇怪的是2014卻沒相關文章) 最後腦羞的決定先來架個 IIS + Media serivce 看看.後來才稍微搞懂要怎麼做. 概念: 以往如果要給人看影片的話,丟到 Server 上,再提供對方 url 或是用 html tag 來呈現就好,所以原本覺得這實在沒甚麼難度. 後來經過幾天的鬼打牆才搞懂 影片要先經過 編碼 -> 發佈點 -> 用戶端 方案: A: 本機上傳 -> 雲服務 Azure Media service(編碼/發佈) -> client B: 本機編碼 -> 遠端主機 IIS + Media service(發佈) -> client C: 雲主機 Azure VM 跑IIS (編碼/發佈) -> client 實作: A: 首先到 Azure 入口網站,右上角選擇中文,創個媒體服務 http://ppt.cc/o0Fr 然後到了媒體服務的項目,在裡面其實有精靈可以簡單讓你上傳影片,並且直接 在雲端上編碼,並用串流輸出 這些都蠻簡單的我就不說了.而且創好以後也有 範例程式碼可以即時下載回去研究. 但注意到了嗎?那只是上傳影片,和實況一點關係都沒有啊! 當時還不太懂,但是猜測要用動態編碼的概念將本機的要實況的內容即時編碼 然後輸出到WAMS上.不過我在這邊打牆太多天 加上覺得WAMS的費用好像蠻貴 的,所以暫時先打住,換到了方案B (WAMS費用:http://ppt.cc/TlLN ) B: 想要實作這個方案,需要編碼和裝載媒體服務的IIS遠端主機(當然要本機也可以) 。編碼工具用 Microsoft Expression Encoder 4 官方載點 http://ppt.cc/4n~x Dreamspark可以下載到進階功能版 。發佈工具用 IIS Media Services 4.1 請看 http://ppt.cc/chd4 IIS 架設的部分麻煩自己找教學,就算win7/8也可以裝 首先安裝好Encoder 4,開啟的時候選擇實況方案.這時候就可以選擇內容來源 要從電腦裝置或是影片.選好以後設定輸出格式還有發布點即可. 回到IIS的部分,也是安裝好 IIS 以後開啟主控台,並且到預設網站下會看到 Media Service的選項,選擇 Live Smooth Streaming,建立好發布點,並且啟動 發布點. 這時候就可以在Encoder 4 進行編碼,即時輸出到IIS上.再透過web/裝置去收看 (以上說得很簡略,因為詳細教學在這:http://ppt.cc/-CGI 簡體字 但很詳細) C: 既然B方案可以在本機上執行,那把B方案給移植到了Azure VM如何? 首先安裝了上述的軟體,並且在本機編碼發佈到 Azure VM 的 IIS 上, 初步實作應該可行,但是我家網路上傳512k太慢,這過程到在還沒看到訊號之前 就掛掉惹ww 所以有了C方案,想說我在雲端VM上編碼,同時間也在本機當作發布點如何? 其實過程差不多都跟B一樣,但是一開 Encoder 4.....就悲劇惹 系統提示說找不到 wmvcore.dll,研究了一個小時,才知道是和桌面體驗有關的. 新增系統功能 Desktop Experience 就解決了.如果是Win2012的話就要看這篇 http://ppt.cc/mbFs 才找到那個功能. 最後總算開起來啦! 也都設定好 然後一編碼就....當惹ww 說是程式沒有回應 試了兩三次還是不行 我就跑去看德國踢球了 =.=|| 小結: 花了一個多禮拜加上無數次的鬼打牆,目前還是達不到我的要求,我希望不透過任 何硬體就可以做到實況串流.當然會有人說:幹嘛這麼累?用實況網站就好啦 但是那個和我要做的東西不同,所以還是只能自己做XD 但經過步驟B 總算對實況串流有些概念了.如果有人能夠用A方案做出來,麻煩跟 我說! T.T 稍後應該會繼續來嘗試看看動態編碼.不過前幾天在家跑WAMS提供的範例console 居然也會出現遠端500的錯誤! 找問題找很久,後來去外面咖啡廳想來debug,居然 又正常了! 當下覺得應該又是和網路速度有關係. 所以對我來說A方案是最佳解,C方案也能解決我網速的問題.B方案就是下下解, 只能用來驗證概念而已.當然也最簡單 :) 測試工具: 這是一個驗證你串流成功與否的好網站 , 請注意網址有特定的格式. http://smf.cloudapp.net/healthmonitor http:/ <stream server> / <push file>.ism/manifest 參考資料: WP7 串流影音播放簡單做 (IIS Smooth Streaming + MMPPF) http://ppt.cc/bJLL 雖然是WP7的 但是依舊可以參考 使用畫面擷取作為現場廣播裝置 (Encoder 4) http://ppt.cc/t0jr 準備伺服器進行 Live Smooth Streaming 廣播 (Encoder 4) http://ppt.cc/DZGt IIS Smooth Streaming 影音串流媒體的建立與發佈 http://ppt.cc/RsWR DEMO Azure Media Services – convert .mp4 to smooth streaming format http://ppt.cc/1Bv0 How to: Deliver streaming content (Azure) http://ppt.cc/OTa9 --- 看完球賽 只睡不到三小時 現在又花了兩個多小時打了這篇文章 整個又餓又睏又累呀>< 只希望這篇賺到1000P去買一份雞排來吃了.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.10.80.50 ※ 文章網址: http://www.ptt.cc/bbs/WindowsPhone/M.1404196273.A.4B3.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: felaray (124.10.80.50), 07/01/2014 16:35:43

07/01 22:18, , 1F
nice practice, 雖然大部分人應該還是用aws
07/01 22:18, 1F
查了一下 AWS的是 Digital-media service http://aws.amazon.com/cn/digital-media/ ※ 編輯: felaray (124.10.80.50), 07/06/2014 02:44:27

07/07 15:04, , 2F
一般來說都是搭配 CDN 或第 3 方預建的 AMI 來做的.
07/07 15:04, 2F

07/07 15:04, , 3F
相關的參考資料 http://amzn.to/1odiRRe
07/07 15:04, 3F
謝謝~ 後來有找到WOWZA 他後面是用AWS來做的~

07/07 15:05, , 4F
不過好奇怎麼想算 Smooth Streaming ?只需服務 Windows 的
07/07 15:05, 4F

07/07 15:06, , 5F
Device 嗎?若以 iOS 和 Android 4.+ 那麼大的數量,一般會
07/07 15:06, 5F

07/07 15:06, , 6F
選用 HLS 為主。
07/07 15:06, 6F
在Encode的時候有HLS的選項,不過我想先在web端實作看看.所以先轉成Smooth Streaming ,到時候就可以直接透過測試工具去看看我處理實況的code正不正確~ 不過Azure Media service後來吃光了我帳戶的額度,光Encode就花上不少 後來這件事情 就因為沒有額度而暫緩了 ※ 編輯: felaray (124.10.80.50), 07/08/2014 09:28:09 ※ 編輯: felaray (124.10.80.50), 07/08/2014 09:29:37
文章代碼(AID): #1JidBX0d (Cloud)