Помощь с Expression Encoder SDK

2

В настоящее время я экспериментирую с SDK Expression Encoder, но мне очень сложно использовать, когда дело доходит до потокового вещания. Я пытаюсь захватить видеопоток с веб-камеры, закодировать с помощью моей программы, а затем опубликовать его как живой поток с моего компьютера, а также ввести команды script. Я просматривал SDK, но я не могу найти ничего, что связано с прямыми трансляциями или веб-камерами. В нескольких примерах кода упоминается, как использовать класс Job для кодирования, но все, что я нашел, касается локальных файлов кодировки.

Теги:
sdk
expression-encoder-sdk
expression-encoder

1 ответ

2
Лучший ответ

Havent попробовал еще, но есть класс под названием Microsoft.Expression.Encoder.Live.LiveJob, который должен поддерживать поддержку. Я попробовал образец, и он передал файл из моего жесткого диска. Думаю, он также должен поддерживать кодирование видеопотоков. Вот пример кода (для 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 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 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();
            }
  • 0
    Я посмотрел дальше в класс LiveJob и есть несколько вариантов добавления живого видео и аудио устройств. Так что это определенно тот класс, который вы ищете. Для дальнейшего ознакомления, посмотрите этот пост: social.expression.microsoft.com/Forums/en-US/encoder/thread/…
  • 0
    Да, в 3.0 есть класс для потоковой передачи, но когда я разместил этот 3.0, не было. Вы немного опоздали, хотя я использовал WME вместо этого. Это не удалось, но это сделало работу.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню