看板 WindowsPhone 關於我們 聯絡資訊
這兩個禮拜在研究實作實況串流 + 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 Encoding and Serving Choices and Migration Considerations (IIS) http://ppt.cc/F1kO (有講到AWMS) MP4 to Smooth Streams.xml http://www.getcodesamples.com/src/10B9ABF3/A1DBF577 Encoding an MP4 file to Smooth Streaming and Apple HLS in the cloud http://ppt.cc/qCnm (MSDN blog) DEMO Windows Azure Media Services – how to convert .mp4 to stream http://mingfeiy.com/hello-windows-azure-media-services Demo Windows Azure Media Service - how to convert .mp4 to streaming part 1 : http://vimeo.com/46275436 (影片) part 2 : http://vimeo.com/46299862 (影片) Published video does not have .ism manifest http://ppt.cc/57v3 (Azure論壇) Windows Azure 媒体服务和 2012 年伦敦奥运会 http://ppt.cc/R6Wz PlayReady http://playready.directtaps.net/smoothstreaming/ Announcing Release of Windows Azure Media Services http://ppt.cc/DQsg --- 看完球賽 只睡不到三小時 現在又花了兩個多小時打了這篇文章 整個又餓又睏又累呀>< 只希望這篇賺到1000P去買一份雞排來吃了.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.10.80.50 ※ 文章網址: http://www.ptt.cc/bbs/WindowsPhone/M.1404196273.A.4B3.html felaray:轉錄至看板 Cloud 07/01 16:35
songla1204:推! 正好要學 azure 07/01 17:36
※ 編輯: felaray (59.120.142.132), 07/02/2014 14:33:53 ※ 編輯: felaray (124.10.80.50), 07/03/2014 11:11:27 HTTP Live Streaming (HLS) on Windows Phone (free solution) http://blogs.msdn.com/b/msgulfcommunity/archive/2013/05/08/ http-live-streaming-hls-on-windows-phone.aspx ※ 編輯: felaray (124.10.80.50), 07/08/2014 09:31:18