2012-10-21 11 views
8

Ich habe ein Gerät, das eine H.264-Videostream von einer URL wie sieht vor: rtsp: //192.168.0.10: 554/VideoserviceWie kann ich H.264 RTSP Video in der Windows 8 Metro C# XAML App abspielen?

Da es sich um Live-Video Ich muß kontrollieren nicht in die Lage es (Pause, Zurückspulen, usw.), einfach spielen. Wird dies von MediaElement oder einer anderen Standardklasse unterstützt, brauche ich etwas wie Smooth Streaming Client SDK oder ist das viel komplizierter als ich dachte?

Update: Ich habe Microsofts Player Framework heruntergeladen, aber dies spielt nicht den Strom auch nicht. Ich kann in den Beispielen zu RTSP nichts finden.

Update: verwendete ich Wireshark die Pakete zu vergleichen, die VLC Media Player mit Media und Player Framework sendet (das funktioniert) und keiner von ihnen schien RTSP-Protokoll zu verwenden. Stattdessen senden sie WPAD Pakete an eine andere Adresse, obwohl ich die IP-Adresse der Quelle angegeben habe. Warum ist das notwendig? Gibt es eine Möglichkeit, dieses Verhalten auszuschalten?

Antwort

8

Siehe den Beitrag here. Sie müssen Ihre Daten in MPEG-4-Container 14 verpacken und diese dann an MediaElement.SetSource übergeben. Es scheint, dass Sie dies nicht einfach mit der dokumentierten API tun können. Hier sind die wichtigen Informationen aus dem Link:

Wir unterstützen nicht RTP, sondern das MPEG-4-Container-Format 14. Sie müssen unsere eigene Quelle schreiben, um die Daten analysieren zu können, die sie direkt an den Microsoft-Decoder übergeben. Derzeit haben wir keine Beispiele dafür, wie Sie eine benutzerdefinierte Quelle schreiben und sie von Ihre Metro-Stil-App laden lassen. Leider ist es nicht möglich, einfach die Dokumentation zu verwenden, um herauszufinden, wie dies zu tun ist. Ich habe mit Stan gesprochen und wir versuchen herauszufinden, wie und wann wir diese Information verfügbar machen können. Sobald diese Informationen verfügbar sind, werde ich es auf meinem Blog bekannt geben http://blogs.msdn.com/mediasdkstuff/.

Here ist eine Liste der unterstützten Videoformate.

Es gibt auch ein Beispiel here von, wie man die Medienklasse erweitert, die ein Beispiel haben könnte, wie man etwas tut, das dem ähnlich ist, was du fragst.

Es gibt ein ähnliches Beispiel here.

+0

Gibt es etwas Bestimmtes, das Sie meiner Antwort hinzufügen möchten? – mydogisbox

+2

Nein, nur frustriert, dass Microsoft es so schwierig macht, RTSP zu unterstützen. Das ist viel mehr Arbeit, als ich gerade Zeit habe, also muss ich das Projekt zurückstellen. – parsley72