我正在尝试提供实时流(即在内存中完全缓冲,无法访问过去)并且在使用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设备。)
任何人都有任何见解?
答案 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将发挥作用......