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