8 Stimmen

Wie man mit C# Video-Streaming erstellt

Ich habe an einer Lösung zur Entwicklung von Video-Streaming-Webdiensten mit C# gearbeitet. Ich verwende Windows XP, mit der neuesten Version von vlc 1.0.3, um Video über ein LAN-Netzwerk zu streamen. Allerdings konnte ich bisher nur Videos auf meinem eigenen PC streamen. Das Problem ist nun, dass ich diese Streaming-Schaltfläche stattdessen in Webservices ausführen muss. Hat jemand eine Idee, wie ich das auf die Webmethode umstellen kann? Wie kann ich diese Webdienste mit einer HTML-Webseite verknüpfen?

Die folgenden Codes werden verwendet, um ein Video über eine Windows-Anwendung zu streamen.

    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}"

Für eine Antwort wären wir Ihnen sehr dankbar.

Danke! =)

4voto

Samuel Neff Punkte 70231

VLC ist eine Desktop-Anwendung. Sie ist nicht für den Einsatz auf einem Server geeignet. Sie brauchen wirklich einen Streaming-Server. Für das Web würde ich vorschlagen, das Video in H264 zu transkodieren (verwenden Sie ffmpeg) und dann mit einem RTMP-Server an den Adobe Flash Player zu übergeben, den Sie in eine Webseite einbetten können. Es gibt viele Optionen für den Server, darunter kommerzielle und kostenlose.

Sie können auch einfach das Video posten und http-Download oder einige der Implementierungen verwenden, die http-Streaming vortäuschen.

Offene Quelle:

FluorineFX http://fluorinefx.com/

Rot5 http://osflash.org/red5

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

Kaltura http://osflash.org/kaltura

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

Kommerziell:

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

Wowza http://www.wowzamedia.com

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X