detekce streamovaného videa (protokol rtp)   zodpovězená otázka

VB.NET

Potřeboval bych poradit, jak je možné ve Visual Basic Net detekovat, jestli na zadané adrese a portu (např. rtp://230.238.40.23:4000) vysílá lokální provider streamovaný pořad.

(Potřeboval bych čas od času projet předem definovanýé rozsah adres a zjistit, zda a co se tam vysílá.)

Mělo by to taky umět "přečíst" název streamovaného pořadu, pokud je vysílán také SAP oznámení.

(tak, jak je to ve VLC playeru)

Je to možné přes nějakou komponentu nebo třídu ve VB NET, třeba přes socket?

Pokud ano, poprosil bych ukázku kódu.

Díky moc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím o žádné takové komponentě, pravděpodobně to budete muset napsat celé sám a rozhodně to nebude jednoduché.

Možná by šlo použít COM rozhraní Windows Media Encoderu, jestli ho má.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Dík za snahu. To by ale patrně bylo nad mé schopnosti. Škoda, byl by to vhodný doplněk aplikace, kterou předělávám z VB6.

Můžete se podívat i na můj první dotaz? ( http://www.vbnet.cz/ForumPost.aspx?id=42... )

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nechci spamovat, ale nelze alespoň zjistit, zda z dané adresy a portu něco "teče"?

(pokud je detekce výskytu streamu a jeho identifikace příliš složitá, jak bylo napsáno)

Pomohla by i možnost zjistit, že na portu něco přijímam (cokoliv).

Jak by to šlo zrealizovat?

Díky za případnou odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak naslouchat na určitém portu a kontrolovat přijatá data není problém. Dělá se to pomocí System.Net.Sockets.TcpClient nebo System.Net.Sockets.UdpClient.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ok, díky. Zkusím někde najít příklad.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Našel jsem něco, bohužel jenom v C. Nemohl by mi někdo pomoct s přepsáním do VB?

public void SendAndRecv()
    {
      UdpClient client = new UdpClient(_localPort, AddressFamily.InterNetwork);
      IPEndPoint groupEp = new IPEndPoint(IPAddress.Broadcast, _remotePort);
      client.Connect(groupEp);

      client.Send(_findBytes, _findBytes.Length);
      client.Close();


      IPEndPoint recvEp = new IPEndPoint(IPAddress.Any, 0);
      UdpClient udpResponse = new UdpClient(_localPort);
      Byte[] recvBytes = udpResponse.Receive(ref recvEp);

      Trace.WriteLine("Rxed " + recvBytes.Length + " bytes");
    }

http://social.msdn.microsoft.com/Forums/...

Je to použitelné na detekci?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback