HTML 5 <video> </video>消耗的Expression Encoder 4直播流

时间:2011-11-11 05:26:39

标签: html5 iis h.264 expression-encoder expression-encoder-sdk

我正在尝试提供实时流(即在内存中完全缓冲,无法访问过去)并且在使用Expression Encoder 4时出现问题。

理想情况下,我想将一个简单的H.264字节流流式传输到以下客户端:

 <video id="mainVideoWindow">
     <source src='http://localhost/path/to/my/stream.mp4' type='video/mp4' />
 </video>

我想我可以像通过HTTP上的任何其他字节流一样将它流式传输到客户端。但是,我无法确定需要执行的相应代码(使用Expression Encoder的第一天,不知道如何获取原始字节流)所以我也不知道它是否会起作用。

另一种方法是使用IIS Live Streaming服务器:

        var source = job.AddDeviceSource(device, null);
        job.ActivateSource(source);
        job.ApplyPreset(LivePresets.VC1IISSmoothStreaming720pWidescreen);

        var format = new PushBroadcastPublishFormat();
        format.PublishingPoint = new Uri("http://localhost/test.isml");

        job.PublishFormats.Add(format);
        job.StartEncoding();

        // Let's listen for a keypress or error message to know when to stop encoding
        while (Console.ReadKey(true).Key != ConsoleKey.X) ;

        // Stop our encoding
        Console.WriteLine("Encoding stopped.");
        job.StopEncoding();

但是,我无法让客户端标记想要在Chrome上显示视频而且我没有看到任何迹象表明它可以在Chrome上运行(尽管http://learn.iis.net/page.aspx/854/apple-http-live-streaming-with-iis-media-services表示它会如何使用iOS设备。)

任何人都有任何见解?

2 个答案:

答案 0 :(得分:1)

您正尝试通过HTML5(使用您的第二个示例)使用平滑流式传输(Microsoft的HTTP自适应流),这是不受支持的。

如果您启用Apple HTTP Live Streaming将片段转换为MPEG-2传输流,这可以在iOS设备上运行。这还将生成Apple HTTP Live Streaming清单,该清单可通过视频标记调用。

答案 1 :(得分:0)

...我看到你有IIS链接。需要在IIS服务器(IIS媒体服务)上启用Apple HTTP Live Streaming。这适用于iOS设备。 Quicktime将发挥作用......