[开发] 媒体服务与串流实况概念 (偷渡问题)

楼主: felaray (傲娇鱼)   2014-07-01 14:31:07
这两个礼拜在研究实作实况串流 + CDN,因为之前完全没概念,撞了很多墙.
所以想写成一篇文章~给有需要的人参考,当然也有问题想提出来讨论~
前言: 一开始以为只要有个server或cloud 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
作者: songla1204 (TTP)   2014-07-01 17:36:00
推! 正好要学 azure

Links booklink

Contact Us: admin [ a t ] ucptt.com