2012-10-21 12 views
8

Ho un dispositivo che fornisce un flusso video H.264 da un URL del tipo: rtsp: //192.168.0.10: 554/VideoserviceCome posso riprodurre video H.264 RTSP nell'app XAML Metro C# di Windows 8?

Poiché si tratta di video dal vivo non ho bisogno di essere in grado di controllare (pausa, riavvolgimento, ecc.), basta suonare. È supportato da MediaElement o un'altra classe standard, ho bisogno di qualcosa come Smooth Streaming Client SDK o è molto più complicato di quanto pensassi?

Aggiornamento: Ho scaricato Microsoft Player Framework ma questo non riproduce il flusso. Non riesco a trovare nulla negli esempi su RTSP.

Aggiornamento: Ho usato Wireshark per confrontare i pacchetti che VLC Media Player (che funziona) invia con MediaElement e quadro Player e nessuno di loro sembrava di utilizzare il protocollo RTSP. Invece stanno inviando i pacchetti WPAD a un indirizzo diverso, anche se ho fornito l'indirizzo IP della fonte. Perché è necessario? C'è un modo per disattivare questo comportamento?

risposta

8

Vedere il post here. È necessario avvolgere i dati in contenitori MPEG-4 Part 14 e trasferirli in MediaElement.SetSource. Sembra che non puoi farlo solo usando l'API documentata. Ecco le informazioni importanti dal link:

Non supportiamo RTP ma piuttosto il formato contenitore MPEG-4 Part 14. Avrete bisogno di scrivere la nostra fonte per essere in grado di analizzare i dati a passarlo direttamente al decodificatore Microsoft. Al momento non abbiamo alcun esempio su come scrivere una fonte personalizzata e averla caricata da l'app in stile Metro. Sfortunatamente non è possibile usare semplicemente la documentazione per capire come fare. Ho parlato con lo con Stan e stiamo cercando di capire come e quando possiamo rendere disponibili queste informazioni . Non appena queste informazioni saranno disponibili, lo annuncerò sul mio blog http://blogs.msdn.com/mediasdkstuff/.

Here è un elenco di formati video supportati.

C'è anche un esempio here di come estendere la classe multimediale che potrebbe avere un esempio di come fare qualcosa di simile a ciò che si sta chiedendo.

C'è un esempio simile here.

+0

C'è qualcosa di specifico che vorresti aggiungere alla mia risposta? – mydogisbox

+2

No, solo frustrato dal fatto che Microsoft renda così difficile supportare RTSP. Questo è molto più lavoro di quanto abbia tempo per ora, quindi dovrò accantonare il progetto. – parsley72

Problemi correlati