<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Giuseppe Guerrasio : Media</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx</link><description>Tags: Media</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Rai Net have expanded use of Live Smooth Streaming for Sports Event: Roma 09 FINA Swimming world championships and Berlin 2009 Athletics World Championships</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/09/11/rai-net-have-expanded-use-of-live-smooth-streaming-for-sports-event-roma-09-fina-swimming-world-championships-and-berlin-2009-athletics-world-championships.aspx</link><pubDate>Fri, 11 Sep 2009 08:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894017</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9894017.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9894017</wfw:commentRss><description>&lt;P&gt;How I introduced in my &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt; , Rai Net the internet company of RAI, the Italian public broadcaster, during the last FIFA Confederations Cup South Africa 2009 delivered free, live Web broadcasting in high definition television quality (720p) of the Italian soccer team matches during the tournament using Live Smooth Streaming . &lt;/P&gt;
&lt;P&gt;Smooth Streaming is an innovative technology based on &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;IIS Media Services&lt;/A&gt; and Silverlight, which the scope to simplify and make a reality delivering video content at high quality level through Internet up to true HD for Live and VOD.&lt;/P&gt;
&lt;P&gt;Smooth Streaming permit to solve one of the most significant limits in Internet video streaming connected to typical behaviors of the last mile for reproducing High Quality videos with high bitrates.&amp;nbsp; When we think to the way that the content is delivered to the client, we have a lot of parameter that change every second during the client reproduction. In particular bandwidth and CPU power availability conditions change every second and causing a video glitch and buffering during the reproduction of the content, especially for the content at high level of bitrates, generating a poor user experience.&lt;/P&gt;
&lt;P&gt;During the reproduction of the content Smooth Streaming dynamically detects current network and local PC conditions, and seamlessly switches the video quality of a media file that a Silverlight player receives. Consumers with high-bandwidth connections and newer hardware can experience HD quality streaming, and others with lower bandwidth speeds or older hardware receive an appropriate stream for their conditions, allowing the audience to enjoy an uninterrupted streaming experience with the highest quality possible.&lt;/P&gt;
&lt;P&gt;In my &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt; for Confederation Cup and for Smooth Streaming and in general and in the &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;official web site&lt;/A&gt; , you can found more information about this innovative technology &lt;/P&gt;
&lt;P&gt;After the success of this first test for Live Smooth Streaming, Rai Net have expanded the use of this technology for sports event on Rai Sport portal and delivered, up to true HD for Live and VOD after the Live event: Roma 09 FINA Swimming world championships and Berlin 2009 Athletics World Championships.&lt;/P&gt;
&lt;P&gt;In the follow pictures you can see some screen shots from Rai Sport Web Site from Roma 09 FINA Swimming world championships were you can see the adaptive part of smooth streaming at work:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_thumb.jpg" width=663 height=430 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;An from Berlin 2009 Athletics World Championships:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image004 border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_thumb.jpg" width=658 height=533 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image006 border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_thumb.jpg" width=659 height=520 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The architecture used for these events is practically the same used for the Confederation Cup and illustrated in the &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx" target=_blank mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx"&gt;previous post&lt;/A&gt;, with the exception of the CDN because for this event RAI use two different CDN and balance the load on both at 50%. In the follow picture you can see the architecture used for these two events:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=clip_image008 border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_thumb.jpg" width=665 height=451 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RaiNethaveexpandeduseofLiveSmoothStreami_632A/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The original HDTV 1080i signal in input is encoded in 7 different bitrates streams composed by a contiguous 2 secs video chunks codified in VC-1, created by 2 encoders. Each encoder creates 3-4 streams and synch through the encoders are achieved with a timecode generator in input in the encoders with the source video. Encoders push the streams to an origin server farm in load balancing were the two CDN pull for distribute Live, archive streaming and XAP code and offers these to Silverlight client player published on RAI.IT and RAI.TV portal . &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894017" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>RAINET Test Live Smooth Streaming in HD for Italian soccer team matches during Confederation Cup</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/06/22/rainet-test-live-smooth-streaming-in-hd-for-italian-soccer-team-matches-during-confederation-cup.aspx</link><pubDate>Mon, 22 Jun 2009 17:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9797701</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9797701.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9797701</wfw:commentRss><description>&lt;P&gt;How I have introduced in my &lt;A href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/05/15/move-forward-internet-video-streaming-iis7-media-service-and-smooth-streaming.aspx" mce_href="http://blogs.msdn.com/giuseppeguerrasio/archive/2009/05/15/move-forward-internet-video-streaming-iis7-media-service-and-smooth-streaming.aspx"&gt;previous post&lt;/A&gt; , Smooth Streaming is an innovative technology based on &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS Media Services&lt;/A&gt; and Silverlight, which the scope to simplify and make a reality delivering video content at high quality level through Internet up to true HD for Live and VOD. Using this technology &lt;B&gt;RAI.IT&lt;/B&gt;, the internet company of RAI, the Italian broadcast host of FIFA Confederations Cup South Africa 2009, in cooperation with &lt;B&gt;Microsoft Corp., &lt;A href="http://inlethd.com/" mce_href="http://inlethd.com/"&gt;Inlet Technologies&lt;/A&gt; and &lt;A href="http://www.level3.com/" mce_href="http://www.level3.com/"&gt;Level 3 Communications&lt;/A&gt;&lt;/B&gt;, offered exclusively for Italy (video content was geo-blocked to Italian IP) on &lt;B&gt;&lt;A href="http://www.raisport.rai.it/" mce_href="http://www.raisport.rai.it/"&gt;www.raisport.rai.it&lt;/A&gt;&lt;/B&gt; and &lt;A href="http://www.rai.tv/" mce_href="http://www.rai.tv/"&gt;www.rai.tv&lt;/A&gt; free, live Web broadcasting in high definition television quality (720p) of the Italian soccer team matches during the tournament. &lt;/P&gt;
&lt;P&gt;In the next picture an image of the player used during the streaming of the event:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image002_thumb.jpg" width=551 height=337 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;RAI.IT use already&amp;nbsp; Smooth Streaming &amp;nbsp;for VOD&amp;nbsp;on RAI TV portal (&lt;A href="http://www.rai.tv/" mce_href="http://www.rai.tv"&gt;http://www.rai.tv&lt;/A&gt;&amp;nbsp;)&amp;nbsp;&amp;nbsp; in the &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1"&gt;High Quality area&lt;/A&gt; (not in HD but to 480p) and now starts to adopt this technology for Live sports event.&lt;/P&gt;
&lt;P&gt;Smooth Streaming permit to solve one of the most significant limits in Internet video streaming connected to typical behaviors of the last mile for reproducing High Quality videos with high bitrates.&amp;nbsp; When we think to the way that the content is delivered to the client, we have a lot of parameter that change every second during the client reproduction. In particular bandwidth and CPU power availability conditions change every second and causing a video glitch and buffering during the reproduction of the content, especially for the content at high level of bitrates, generating a poor user experience.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image004_thumb.jpg" width=593 height=301 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;During the reproduction of the content Smooth Streaming dynamically detects current network and local PC conditions, and seamlessly switches the video quality of a media file that a Silverlight player receives. Consumers with high-bandwidth connections and newer hardware can experience HD quality streaming, and others with lower bandwidth speeds or older hardware receive an appropriate stream for their conditions, allowing the audience to enjoy an uninterrupted streaming experience with the highest quality possible.&lt;/P&gt;
&lt;P&gt;The original video source was acquired by specific encoders and transformed in a set of separated streams at different quality (one for different bitrates level) based on a contiguous sequence of 2 sec of video chunks, and an XML manifest with the metadata. These streams are published to the client through a set of servers based on IIS7 with &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS Media Services &lt;/A&gt;. In Live streaming all the streams are offered to the client via HTTP and archived automatically in a set of file in the storage of the origin servers. Archived files&amp;nbsp; are republished automatically to the client offering DVR capability to the client in addition to Live Stream offer. For the Confederation Cup matches RAI use the new beta version of IIS Media Services that support Live Streaming.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image006_thumb.jpg" width=575 height=349 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Video streaming is delivered to the client trough a sequence of HTTP call with REST style and for this reason it is possible leverage all the classic Internet HTTP Cache Infrastructure to increase streaming scalability. &lt;/P&gt;
&lt;P&gt;The client part of the Smooth Streaming based on Silverlight detects current network and local PC conditions, and seamlessly switches the video quality of a media adapting the experience at the actual conditions in the client permitting the best experience possible, eliminating buffer and glitch .&lt;/P&gt;
&lt;P&gt;The streaming starts with the first REST call from the client to the source and the response from the server with a manifest that describe chunks and streams level offered with the streaming. &lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image008_thumb.jpg" width=608 height=328 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The client reads this information and in order to start the download of video chunks and initiate video reproduction requesting the chunk with a too low bitrates for first. &lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image010_thumb.jpg" width=616 height=315 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;During the download of the first chunk, client code calculate the current bitrates and CPU conditions and in base at this information proceeds with requests of the others chunks, adapting continuously the bitrates of chunks requested.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image012 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image012_thumb.jpg" width=618 height=311 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As written before streaming works with a sequence of HTTP client requests with a REST style to a stateless server and this permit to insert the origin server behind a CDN with a classic HTTP Edge Caching, improving in a simple way the scalability of streaming. For the same reason all the intermediate http caching level (for example enterprise intermediate cache , etc ) can act automatically as a cache for our chunk and contributing to the scalability of our solution.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image014_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image014 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image014_thumb.jpg" width=644 height=340 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image014_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The client code can offer a lot of services leveraging the capability of the programming platform offered with Silverlight and can consume and presents a lot of contextual data and information with the video. The smooth streaming player element can send back to the server a lot of logging information can be captured using logging functionality of IIS Media Services. It is possible build to service that can permit start and stop of the event and services for control and limit bandwidth consumption from the client.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image016_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image016 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image016_thumb.jpg" width=640 height=322 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image016_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In the client of RAI event we have start and stop control, bandwidth control and list highlights in the match that can permit to navigate and replay in the archive to the most important point of the event quickly. In this picture you can see the highlights box in overlay on the video in the player.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image018_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image018_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image018 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image018_thumb.jpg" width=548 height=337 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image018_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;highlights&amp;nbsp;future leveragin the fact that all the streams are&amp;nbsp;archived automatically in a set of file in the storage of the origin servers. Archived files&amp;nbsp; are republished automatically to the client offering DVR capability to the client .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the case of RAI Confederation Cup streaming the architecture in place for the event is represented in the next picture :&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image020_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image020_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=clip_image020 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image020_thumb.jpg" width=629 height=405 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/RAINETTestLiveSmoothStreaminginHDforItal_EAAF/clip_image020_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The original HDTV 1080i signal in input is encoded in 7 different bitrates streams composed by a contiguous 2 secs video chunks codified in VC-1, created by 2 encoders &lt;I&gt;Spinnaker 7000&lt;/I&gt; from Inlet. Each encoder creates 3-4 streams and synch through the encoders are achieved with a timecode generator in input in the encoders with the source video. Encoders push the streams to an origin server farm in load balancing were the Level3 Communication CDN pull for distribute Live, archive streaming and XAP code and offers these to Silverlight client player published on RAI.IT and RAI.TV portal . &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9797701" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>Move Forward Internet video streaming: IIS7 Media Service and Smooth Streaming</title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2009/05/15/move-forward-internet-video-streaming-iis7-media-service-and-smooth-streaming.aspx</link><pubDate>Fri, 15 May 2009 13:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9618308</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/9618308.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=9618308</wfw:commentRss><description>&lt;P&gt;Delivering video content through Internet is one of the hottest technical topics. The increase of bandwidth and connectivity in combination with the numbers from the last big video event delivered like Olympics, demonstrate the potential of Internet channel for this type of content. In the 2008 Summer Olympics Games in Beijing, NBCOlympics.com attracted close to 6½ million users daily, who, on average, stayed more than 13 minutes per visit and spent more than 27 minutes when consuming video. In total, users watched more than 6 million hours of video content or 60 million video streams, which represent a 5-fold and 20-fold increase compared to the Torino and Athens games combined. Another big difference that the last Olympic on line demonstrate it is relative, not only to the number of users, but also to the viewing time. In the past, online video consumption was limited to “snippets” of video, now the prolonged viewing indicates that users enjoy the experience and find the image and sound quality acceptable. &lt;/P&gt;
&lt;P&gt;Worldwide, billions of videos are viewed online every month. This type of trend are confirmed to a lot of service that came up on the market with success in the previous months like BSKYB channels offering or the new version of Netflix service and many others.&lt;/P&gt;
&lt;P&gt;Setting up an online video service was a complex undertaking and fraught with difficulties, and the process of preparing, loading, and delivering multimedia content, combined with the serving of appropriate advertising, required a lot of manual work and did not really scale very well. In particular “delivering” video content at good or high level of quality through Internet connection is not a simple thing. A lot of details and technical issues are involved on this and build a solution for this and monetize the result is really complex.&lt;/P&gt;
&lt;P&gt;In the last NAB conference Microsoft announce a first Release of new technology called Smooth Streaming based on &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;IIS7 Media Services&lt;/A&gt; and Silverlight, which the scope to simplify and make a reality delivering video content at high quality level through Internet up to true HD for Live and VOD. You can see&amp;nbsp; &lt;A href="http://www.smoothhd.com/" mce_href="http://www.smoothhd.com"&gt;this web site from akamai &lt;/A&gt;an example of HD content delivered with smooth streaming and &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;at this website&lt;/A&gt; you can found others technical information about this technology.&lt;/P&gt;
&lt;P&gt;In the previous months before this announcement I had the opportunity to test and build a real production environment based on this technology, inside a new Web TV portal of RAI – Radio Televisione Italiana ( &lt;A href="http://www.rai.tv/" mce_href="http://www.rai.tv"&gt;http://www.rai.tv&lt;/A&gt; ) . In the new version of this web site recently released there is a new area based on this smooth streaming technology with &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=1"&gt;fiction&lt;/A&gt;, &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=2" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=2"&gt;sport&lt;/A&gt; and &lt;A href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=3" mce_href="http://www.rai.it/dl/RaiTV/hd/raitvhd.html?v=3"&gt;junior&lt;/A&gt; videos. Content from RAI website have a good quality but is not HD content because the original produced video&amp;nbsp; is not HD. Based on this experience I want write some post on this new fantastic technology that can permit to deliver uninterrupted video streaming to Silverlight clients at High Quality, via HTTP in VOD and delivers massively scalable Smooth Streaming for live events.&lt;/P&gt;
&lt;P&gt;Smooth Streaming&amp;nbsp; permit to solve one of the most significant limits in Internet video streaming connected to typical behaviors of the last mile for reproducing High Quality videos with high bitrates.&amp;nbsp; When we think to the way that the content is delivered to the client, we have a lot of parameter that change every second during the client reproduction. In particular bandwidth and CPU power availability conditions change every second and causing a video glitch and buffering during the reproduction of the content, especially for the content at high level of bitrates, generating a poor user experience .&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_thumb.jpg" width=677 height=340 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Before to go in deep in Smooth Streaming technology and in order to explain difference and advantage that come with this new streaming technique I want recap the typical way used to delivery video content through Internet. Before the smooth streaming you can use essentially two different way for delivering video content:&lt;/P&gt;
&lt;P&gt;- Progressive Download&lt;/P&gt;
&lt;P&gt;- Traditional Streaming (RTSP, streaming through HTTP, RTMP, etc)&lt;/P&gt;
&lt;P&gt;Both approaches have pros and cons and smooth streaming try to combine the best of the previous techniques. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;When you use Progressive Download to delivery video content&lt;/B&gt; you essentially leverage the capability of Web Server to delivery file. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_thumb.jpg" width=738 height=304 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The Web Server receive a request for a specific URL for the video content and the web server start to deliver the file to the client via classic HTTP. &lt;/P&gt;
&lt;P&gt;Big advantages of this solution are:&lt;/P&gt;
&lt;P&gt;- simplicity of the approach ;&lt;/P&gt;
&lt;P&gt;- not required a specialized server;&lt;/P&gt;
&lt;P&gt;- leveraging all HTTP infrastructure in terms of caching and distribution.&lt;/P&gt;
&lt;P&gt;Problems connected to this solution are:&lt;/P&gt;
&lt;P&gt;- Bandwidth controls;&lt;/P&gt;
&lt;P&gt;- Security of content;&lt;/P&gt;
&lt;P&gt;- Limited user tracking;&lt;/P&gt;
&lt;P&gt;- Poor user experience (no seeking feature on classic web server);&lt;/P&gt;
&lt;P&gt;- VOD video content only.&lt;/P&gt;
&lt;P&gt;In general the most significant problem of this approach is about bandwidth consumption. In fact the web server delivers the video content to the cache of the client without any type of control or limitation leveraging all the bandwidth available.&lt;/P&gt;
&lt;P&gt;You can improve efficiency of progressive download through system that can permit the control of bandwidth and offering control and seeking capabilities. IIS7 Media Services enabled this feature too called &lt;A href="http://www.iis.net/extensions/BitRateThrottling" mce_href="http://www.iis.net/extensions/BitRateThrottling"&gt;Intelligent bit rate throttling&lt;/A&gt;. This feature is available for the most used type of media content, and permit to reduce bandwidth consumption saves money on network costs by metering the download speed of multiple media file types as well as data. Intelligent Bit Rate Throttling accomplishes this by automatically detecting the encoded bit rates of 11 common media formats, such as Windows Media Video (WMV), Flash Video (FLV), and MPEG 4 (MP4), and then throttling the response to the client. Bit Rate Throttling and allows administrators to configure throttling rules for all file and MIME types.&lt;/P&gt;
&lt;P&gt;With this technique you could obtain more efficiency for bandwidth consumption and simplicity in the delivery but remaining a lot of limitations. For example, in the case of the user put in pause the reproduction the download proceeds consuming bandwidth; in this way we can use of a single bitrates for reproduction or complex variable bitrates technique with poor efficiency , and remaining the problem illustrated before about the last mile and client reproduction, in particular for content with high quality and consequent high bitrates.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;When you use classical streaming&lt;/B&gt; you use a specialized server to delivery to the client only the portion of the stream involved in the reproduction of the video in base of the command received from the client.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_thumb.jpg" width=790 height=315 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Big advantages of this solution are:&lt;/P&gt;
&lt;P&gt;- Efficiency in control and delivery of content ;&lt;/P&gt;
&lt;P&gt;- Simple way to track user activity;&lt;/P&gt;
&lt;P&gt;- Good user experience (seeking, forward, etc);&lt;/P&gt;
&lt;P&gt;- Good for VOD and Live .&lt;/P&gt;
&lt;P&gt;Problems connected to this solution are:&lt;/P&gt;
&lt;P&gt;- Required specialized services ;&lt;/P&gt;
&lt;P&gt;- Not cache in HTTP CDN;&lt;/P&gt;
&lt;P&gt;- Scalability required a specialized network .&lt;/P&gt;
&lt;P&gt;In general the most significant problem of this approach is about scalability. In order have a large distribution of video content is necessary achieve a specialized infrastructure of server with a specific streaming services. Is not possible reuse the big cache infrastructure that we have in place on Internet today for HTTP . In order to delivery this type streaming, Windows Server offers a good platform through the &lt;A href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx" mce_href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx"&gt;Windows Media Services&lt;/A&gt; today available for Windows Server 2008.&lt;/P&gt;
&lt;P&gt;When you use Smooth Streaming now available in beta with &lt;A href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS7 Media Services&lt;/A&gt; , you have the capability to deliver media at variables bit rates to Silverlight clients over HTTP combining the advantage of streaming and progressive download and adding capability of adapt the bit rates at the real situation in the last mile in terms of bandwidth and CPU.&lt;/P&gt;
&lt;P&gt;With the Smooth Streaming you deliver video content starting from a set of specific encoded file with different bit rates level. During the encoding phase, realizable today for VOD (with Expression Encoder 2 SP1 with adaptive streaming encoding profile) or for live using a specialized encoder from an encoders vendor, you obtain the source files to stream. You can choose a set of different bitrates and obtaining a set of N file one for every level of bit rates that you have selected in the profile and a xml manifest with the metadata for server and an xml file for client. You can choose at maximum of 10 different bit rates. The manifest files are used from the server and from the client to understand level of bitrates available for streaming and others information relative to the media content. &lt;/P&gt;
&lt;P&gt;A typical Smooth Streaming media asset (presentation) consists of the following files: &lt;/P&gt;
&lt;P&gt;MP4 files containing video/audio &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ismv &lt;/B&gt;Contains video and audio, or only video (one file ISMV file per encoded video bit rate )&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.isma &lt;/B&gt;Contains only audio &lt;/P&gt;
&lt;P&gt;Server manifest file &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ism -&lt;/B&gt;Describes the relationships between the media tracks, bit rates and files on disk . Used by IIS Media Services Server&lt;/P&gt;
&lt;P&gt;Client manifest file &lt;/P&gt;
&lt;P&gt;- &lt;B&gt;*.ismc - &lt;/B&gt;first file delivered to the client. Describes the available streams to the client: bitrates level available, codecs used, video resolutions, markers, captions, etc. &lt;/P&gt;
&lt;P&gt;For live streaming the same structure is created in the archive of event and client manifest is generated at runtime from encoding available. Origin Media Server can archive all live streaming and offer DVR capability to the client.&lt;/P&gt;
&lt;P&gt;In every video\audio file (ismv , isma) you have a contiguous sequence of video chunks at fixed time length (default 2 sec) based on the ISO/IEC 14496-12 ISO Base Media File Format specification, better known as the MP4 file specification . There are actually two parts to the Smooth Streaming format: the wire format, and the disk file format. In Smooth Streaming, a video is recorded in full length to the disk as a single file (one file per encoded bit rate), but it's transferred to the client as a series of small file chunks. The wire format defines the structure of the chunks that are sent by IIS to the client, whereas the file format defines the structure of the contiguous file on disk, enabling better file management. The MP4 specification is perfect for this because allows MP4 to be internally organized as a series of fragments, which means that in Smooth Streaming the wire format is a direct subset of the file format. Every fragment is delivered to the client through HTTP and in this way can be leverage all the HTTP caching infrastructure of Internet.&lt;/P&gt;
&lt;P&gt;For VOD and for Live the content are published through IIS Media Service using Windows Server 2008 and IIS7 with IIS Media services Extensions. &lt;/P&gt;
&lt;P&gt;During the delivery of the content, the client, in order to reproduce the video, sends a set of specific requests to the server to download the video and audio chunks. In every request for a single chunk, the client specifies level of bit rates and timeframe required in base of the current condition of bandwidth and CPU and position in content reproduction. In this way smooth streaming is delivered with a set of progressive download of video and audio chunks. &lt;/P&gt;
&lt;P&gt;The client send a set of HTTP GET request in REST style like this : &lt;I&gt;http://smoothstreaming.com/title.ism/QualityLevels(1775000)/Fragments(video=840000000) &lt;/I&gt;that contains information about bit rates and timeframe requested for the chunk . This type of request is a typical HTTP request and is it possible leverage all the http infrastructure on Internet in order to cache this content to near as possible at the client and using a typical http edge offered from a CDN. &lt;/P&gt;
&lt;P&gt;A specific part of code downloaded in the client contains the Heuristic Algorithms that drive the requests of chunks. The process start with the base request from the client at the client manifest file on the server in order to obtain the metadata that can guide the behavior of the client. This request have this format : &lt;I&gt;http://smoothstreaming.com/title.ism/Manifest&lt;/I&gt;, IIS receive the request send manifest client in response. In the next picture you can see a typical client manifest response with the indication of the bit rates available for the content downloads.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_thumb.jpg" width=779 height=369 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The client manifest can contains more information about media metadata like : codecs, Text streams, Multi-language audio tracks, Alternate video and audio tracks (for example, multiple camera angles, director's commentary, etc.), Multiple hardware profiles (for example, a bit rate targeted at different playback devices) , Script commands, markers/chapters, captions &lt;/P&gt;
&lt;P&gt;The process continue with the request of the first chunk video and audio, requested with the low bit rates available in the manifest with a REST style call described before . The IIS Media Service Module receive the request and use a server manifest file to determine the file to load in base of the request bitrates and provides to the right chunk of video. In the next picture you can see a sample of server manifest file with the indication of file for bitrates:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image010 src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_thumb.jpg" width=545 height=387 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/MoveForwardInternetvideostreamingIIS7Med_B10B/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;For the successive request based on download speed, the client can detect available bandwidth and requesting the right bit rates in base of the current situation of bandwidth and CPU. In this way the smooth streaming have the capability of adapt continuously creating an immersive User Experience. The process Work in a similar way for Live and VOD streaming and during the delivery of the video chunk through Internet, all the HTTP caching infrastructure of the network can be leverage in order to improve scalability in particular for Live Streaming. In the case of Live Smooth Streaming the Origin media server can archive the content produced from the encoder and offering DVR capability too during the Live Streaming. &lt;/P&gt;
&lt;P&gt;There is a lot of advantage in this approach respect to traditional streaming technique. In traditional streaming, the client state is managed both by the client and the server. The server keeps a record of each client for things such as playback state, streaming position, selected bit rate (if multiple bit rates are supported), etc. While this gives the streaming server more control, it also adds overhead to the server. In terms of scalability another important limitation is about the fact that each client has to maintain the server affinity throughout the streaming session. &lt;/P&gt;
&lt;P&gt;With the pull model in VOD or Live Smooth Streaming, the server is stateless, the client drive the process and has the responsibility for the state and this fact increase scalability and remove any single point of failure. Any client request can be satisfied by any server configured and the network topology can leverage a stateless infrastructure and can reroute the client requests to the best server. In this way we have a big improvement in:&lt;/P&gt;
&lt;P&gt;- quality because all the decisions, resulting in a much faster response (for example bit rate switching) offering a superior UX :&lt;/P&gt;
&lt;P&gt;- reproduction start fast because the client select the low bitrates and can download in parallel more chunks, potentially cached from the most near web server &lt;/P&gt;
&lt;P&gt;- bitrates are continuously adapted at the real situation in the last mile in terms of bandwidth and CPU status&lt;/P&gt;
&lt;P&gt;- requests can be served from different servers without affinity or persistent connection improving scalability and fault-tolerance&lt;/P&gt;
&lt;P&gt;- scalability because you can leverage a simple, efficient and load balanced HTTP infrastructure to deliver video content&lt;/P&gt;
&lt;P&gt;- cost because you can leverage an HTTP CDN with generic web server with low number of specialized server and leverage all the HTTP cache ( for example intermediate proxy )&lt;/P&gt;
&lt;P&gt;Al the URL obfuscation technique can be used to protect the content and is announce the support of Playready content protection encryption in order to protect smooth streaming for Live and for VOD.&lt;/P&gt;
&lt;P&gt;Smooth streaming enable a new video delivery mechanism that can permit to stream HD content in VOD and Live through Internet with a cool UX . &lt;/P&gt;
&lt;P&gt;In next posts we can see in more details the three phase for create and publish content with this technology .&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9618308" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/RIA/default.aspx">RIA</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item><item><title>IIS7 e gli scenari video in progressive download </title><link>http://blogs.msdn.com/giuseppeguerrasio/archive/2008/03/19/iis7-e-gli-scenari-video-in-download-progressive.aspx</link><pubDate>Wed, 19 Mar 2008 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8286008</guid><dc:creator>Giuseppe Guerrasio</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/giuseppeguerrasio/comments/8286008.aspx</comments><wfw:commentRss>http://blogs.msdn.com/giuseppeguerrasio/commentrss.aspx?PostID=8286008</wfw:commentRss><description>&lt;P&gt;Una delle tendenze più rilevanti nell'evoluzione dei contenuti nel mondo del Web è sicuramente rappresentata dall'enorme crescita dei contenuti video che oramai sta investendo siti di ogni dimensione. Si va dalla possibilità di ospitare materiale video generato dagli utenti, news, film , trailer. &lt;/P&gt;
&lt;P&gt;Erogare contenuti video è estremamente costoso in termini di consumo di banda e gli scenari attraverso i quali viene generalmente affrontata questa tematica sono essenzialmente di tre tipi:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- Hosting dei contenuti video presso strutture terze specializzate nella distribuzione di questo tipo di contenuti attraverso CDN (Content Delivery Network) specifiche&lt;/P&gt;
&lt;P&gt;- Infrastruttura di streaming installata nella server farm&lt;/P&gt;
&lt;P&gt;- Download progressive , ovvero distribuzione del file attraverso un server web &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;La piattaforma Microsoft offre una soluzione per tutti e tre gli scenari :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- &lt;A href="http://silverlight.live.com/" target=_blank mce_href="http://silverlight.live.com/"&gt;Silverlight Streaming&lt;/A&gt; che offre una CDN per la distribuzione di contenuti video e di applicazioni Silverlight in generale&lt;/P&gt;
&lt;P&gt;- &lt;A href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx" target=_blank mce_href="http://www.microsoft.com/windows/windowsmedia/forpros/serve/prodinfo2008.aspx"&gt;Windows Media Services&lt;/A&gt; per Windows Server 2008 che forniscono una piattaforma di streaming integrata in Windows Server con completo supporto per il DRM&lt;/P&gt;
&lt;P&gt;- &lt;A class="" href="http://www.iis.net/media" mce_href="http://www.iis.net/media"&gt;IIS 7 Media Pack&lt;/A&gt;&amp;nbsp; che offre nuove funzionalità ad IIS7 per gestire gli scenari di download progressive , da poco disponibile nella versione finale.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Uno degli scenari tipici, in particolare per la distribuzione di video di piccole dimensioni è&amp;nbsp; lo scenario di download progressive,&amp;nbsp; dove il file viene posizionato semplicemente sul server web, mentre lo streaming viene utilizzato in scenari più complessi o per scenari in cui vengono trasmessi video in diretta. Nel download progressive, non abbiamo le ottimizzazioni sulla banda offerte dal server di streaming , il consumo di banda è elevatissimo in quanto il server web effettua il download del file verso il player client utilizzatore, sfruttando completamente la banda disponibile, indipendentemente dal bit rate con cui il video è codificato per la visualizzazione. Inoltre, nella maggioranza dei casi, l'utente guarda solo i primi secondi del video che nel frattempo va in download a banda completa praticamente inutilmente.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Nel nuovo Media Pack per IIS7 troviamo le funzionalità di BitRate Throttling che consentono di gestire gli scenari di download progressive,&amp;nbsp; permettendo di ottimizzare il consumo di banda in modo configurabile sulla base del reale formato di codifica del file, ed a garantire un maggior numero di connessioni contemporanee possibili. Tra le caratteristiche fondamentali del nuovo supporto il media pack installa un&amp;nbsp;modulo che permette di effettuare il download del file in base al bit rate di encoding. La risposta ed il funzionamento del&amp;nbsp;modulo è completamente configurabile&amp;nbsp; dal livello del server web, fino ad arrivare al livello del singolo file.&lt;/P&gt;
&lt;P&gt;La lista dei formati supportati è la seguente:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;.asf &lt;/LI&gt;
&lt;LI&gt;.avi &lt;/LI&gt;
&lt;LI&gt;.flv &lt;/LI&gt;
&lt;LI&gt;.m4v&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;.mov &lt;/LI&gt;
&lt;LI&gt;.mp3 &lt;/LI&gt;
&lt;LI&gt;.mp4 &lt;/LI&gt;
&lt;LI&gt;.rm &lt;/LI&gt;
&lt;LI&gt;.rmvb &lt;/LI&gt;
&lt;LI&gt;.wma &lt;/LI&gt;
&lt;LI&gt;.wmv &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;E' possibile estendere il Media Pack per supportare ulteriori formati.&lt;/P&gt;
&lt;P&gt;Per installare il MediaPack Bit Rate Throttling potete trovare qui il setup:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;32 bit - &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1762"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1762&lt;/A&gt; &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;64 bit - &lt;A href="http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1764"&gt;http://www.iis.net/downloads/default.aspx?tabid=34&amp;amp;g=6&amp;amp;i=1764&lt;/A&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Per dimostrare la funzionalità del media pack e la semplicità di configurazione ed utilizzo, ho effettuato un piccolo test installandomi una macchina di prova. Sulla root del sito ho posizionato un file di esempio;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=382 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_2.png" width=586 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;E l'ho pubblicato con la funzionalità di throttling disabilitata a livello del server web:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=539 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png" width=739 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=520 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png" width=741 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Di seguito potete vedere l'andamento del consumo di banda realizzato durante la riproduzione del video:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_8.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=527 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_3.png" width=1025 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Il Media Pack per configuare il Bit Rate Throttling offre una interfaccia completamente integrata nell'ambiente di amministrazione di IIS7&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=539 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png" width=739 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Dall'interfaccia provvedo ad abilitare la funzionalità : &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=520 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png" width=741 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;ed in particolare di seguito&amp;nbsp; vediamo la configurazione impostata per i file di tipo .wmv:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=479 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_4.png" width=449 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Con la configurazione impostata , i primi 20 secondi necessari per l'avvio rapido del filmato verranno forniti a banda completa (FastStart) , successivamente il download avverrà al 100% (Throttle Rate) del bitrate di encoding del video che nel nostro esempio è di 300kps.&lt;/P&gt;
&lt;P&gt;La funzionalità di Bit Rate Throttling può anche essere applicata ad altri tipi di contenuti , configurando la parte data dell'entry e stabilendo quindi il la banda assegnata per il download&lt;/P&gt;
&lt;P&gt;Effettuado nuovamente il play del video l'andamendo del consumo di banda in questo caso avrà un andamento che è il seguente:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_14.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=493 alt=image src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_6.png" width=998 border=0 mce_src="http://blogs.msdn.com/blogfiles/giuseppeguerrasio/WindowsLiveWriter/IIS7egliscenarivideoindownloadprogressiv_7D1B/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Contribuendo significativamente ad ottimizzare il consumo di banda , ed a garantire un maggior numero di connessioni contemporanee possibili.&lt;/P&gt;
&lt;P&gt;Per uteriori informazioni vi suggerisco i seguenti walkthrough:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/" mce_href="http://learn.iis.net/page.aspx/148/bit-rate-throttling-configuration-walkthrough/"&gt;Bit Rate Throttling Configuration Walkthrough&lt;/A&gt;. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A class="" href="http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/" mce_href="http://learn.iis.net/page.aspx/149/bit-rate-throttling-extensibility-walkthrough/"&gt;Bit Rate Throttling Extensibility Walkthrough&lt;/A&gt;. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Tra le altre caratteristiche offerte da IIS7 all'interno del Media Pack vi segnalo anche la possibilità di costruire delle playlist server side anche per i contenuti in download progressive, funzionalità utile ad esempio&amp;nbsp; per costruire playlist introducendo contenuti pubblicitaril. Informazioni e Walkthrough di utilizzo &lt;A class="" href="http://www.iis.net/WebPlaylists" target=_blank mce_href="http://www.iis.net/WebPlaylists"&gt;qui&lt;/A&gt; .&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8286008" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://blogs.msdn.com/giuseppeguerrasio/archive/tags/Media/default.aspx">Media</category></item></channel></rss>