Frage

Ich experimentiere derzeit mit dem Expression Encoder SDK, aber ich finde es sehr verwirrend zu verwenden, wenn es Streaming leben kommt. Ich versuche, einen Video-Stream von einer Webcam zu erfassen, zu kodieren mit meinem Programm und veröffentlichen sie dann als Live-Stream von meinem Computer, während auch die Injektion Skriptbefehle. Ich habe über das SDK aus, aber ich kann nichts finden in Bezug Streams oder Webcams zu leben. Einige Code-Beispiele erwähnen, wie die Job Klasse verwenden zu kodieren, aber alles, was ich gefunden habe, ist über Dateien lokal codiert.

War es hilfreich?

Lösung

Havent versuchte es noch nicht, aber es gibt eine Klasse namens Microsoft.Expression.Encoder.Live.LiveJob, die zur Unterstützung streamning soll. Ich habe versucht, die Probe und eine Datei von meiner Festplatte gestreamt. Ich denke, es sollte auch Codierung Video-Streams unterstützen. Hier ist der Beispielcode (für Encoder 3.0)

using (LiveJob job = new LiveJob())
            {
                // Create a new file source from the file name we were passed in
                LiveFileSource fileSource = job.AddFileSource(fileToEncode);

                // Set this source to Loop when finished
                fileSource.PlaybackMode = FileSourcePlaybackMode.Loop;

                // Make this source the active one
                job.ActivateSource(fileSource);

                // Create a new windows media broadcast output format so we
                // can broadcast this encoding on the current machine.
                // We are going to use the default audio and video profiles
                // that are created on this output format.
                WindowsMediaBroadcastOutputFormat outputFormat = new WindowsMediaBroadcastOutputFormat();

                // Let's broadcast on the local machine on port 8080
                outputFormat.BroadcastPort = 8080;

                // Set the output format on the job
                job.OutputFormat = outputFormat;

                // Start encoding
                Console.Out.Write("Press 'x' to stop encoding...");
                job.StartEncoding();

                // Let's listen for a keypress to know when to stop encoding
                while (Console.ReadKey(true).Key != ConsoleKey.X)
                {
                    // We are waiting for the 'x' key
                }

                // Stop our encoding
                Console.Out.WriteLine("Encoding stopped.");
                job.StopEncoding();
            }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top