Expression Encoder 4 прямой эфир, используемый HTML 5 <video> - PullRequest
0 голосов
/ 11 ноября 2011

Я пытаюсь обработать живой поток (т. Е. Полностью буферизован в памяти, не могу получить доступ к прошлому) и у меня проблемы с 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 ]

1 голос
/ 29 ноября 2011

Вы пытаетесь использовать (с вашим вторым примером) фид Smooth Streaming (HTTP-Adaptive Streaming от Microsoft) через HTML5, который не поддерживается.

Это может работать на устройствах iOS, если вы включите потоковую передачу Apple HTTP Live Stream для преобразования фрагментов в транспортный поток MPEG-2. Это также сгенерирует манифест Apple HTTP Live Streaming, который затем можно будет вызвать с помощью тега video.

0 голосов
/ 29 ноября 2011

... Я видел, что у вас есть ссылка IIS.Apple HTTP Live Streaming должна быть включена на сервере IIS (IIS Media Services).Это будет работать для устройств iOS.Quicktime войдет в игру ...

...