0

我正在尝试提供实时流(即完全缓冲在内存中,无法访问过去)并且在使用 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 设备一起工作)。

有人有任何见解吗?

4

2 回答 2

1

您正在尝试(通过您的第二个示例)通过不支持的 HTML5 使用平滑流式传输源(Microsoft 的 HTTP-Adaptive Streaming)。

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

于 2011-11-28T20:46:52.633 回答
0

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

于 2011-11-28T20:50:37.390 回答