Как создать потоковое видео с помощью C # - PullRequest
8 голосов
/ 11 января 2010

Я работал над решением для разработки веб-сервисов потокового видео с использованием C #. Я использую Windows XP с последней версией vlc 1.0.3 для потоковой передачи видео по локальной сети. Однако в настоящее время я могу транслировать видео только на свой компьютер. Проблема сейчас в том, что вместо этого мне нужно выполнить эту кнопку потока в веб-сервисах. У кого-нибудь есть идеи, как изменить это на веб-метод? Как я могу связать эти веб-сервисы с html-страницей?

Следующие коды используются для потоковой передачи видео с помощью приложения Windows.

    private void btnStream_Click(object sender, EventArgs e)
    {
        // Create process and command to run file
        System.Diagnostics.ProcessStartInfo psi =
          new System.Diagnostics.ProcessStartInfo(@"C:\videotest.bat");

        psi.RedirectStandardOutput = true;

        psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

        psi.UseShellExecute = false;

        System.Diagnostics.Process listFiles;

        listFiles = System.Diagnostics.Process.Start(psi);

        System.IO.StreamReader myOutput = listFiles.StandardOutput;

        listFiles.WaitForExit(2000);
        if (listFiles.HasExited)
        {
            string output = myOutput.ReadToEnd();
            //this.processResults.Text = output;
        }
    }

----- C: \ videotest.bat ------

cd "C:\PROGRA~1\VideoLAN\VLC"
vlc c:\alvinchipmunks.vob --sout "#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:duplicate{dst=std{access=udp,mux=ts,dst=152.226.238.64:1234},dst=std{access=udp,mux=ts,dst=152.226.238.59:1234},dst=display}"

Любой ответ будет принята с благодарностью.

Спасибо! =)

1 Ответ

4 голосов
/ 12 января 2010

VLC - это настольное приложение. Это не подходит для использования на сервере. Вы действительно хотите потоковый сервер. Для Интернета я бы предложил перекодировать видео в H264 (используйте ffmpeg), а затем отправить его с RTMP-сервером в проигрыватель Adobe Flash, который вы можете встроить в веб-страницу. Есть много вариантов для сервера, включая коммерческий и бесплатный.

Вы также можете просто опубликовать видео и использовать http-загрузку или некоторые реализации, которые имитируют потоковую передачу http.

Открытый исходный код:

FluorineFX http://fluorinefx.com/

Red5 http://osflash.org/red5

RubyIZUMI http://code.google.com/p/rubyizumi/

Kaltura http://osflash.org/kaltura

haxeVideo http://code.google.com/p/haxevideo

Коммерческая:

Adobe Flash Media Server http://www.adobe.com/products/flashmediaserver/

Wowza http://www.wowzamedia.com

...