[FlashComm] RealTime Messaging Protocol

Pagina: 1
Acties:
  • 175 views sinds 30-01-2008
  • Reageer

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Macromedia heeft al een tijdje een leuk product, zijnde Communication Server MX. Om een beetje aan customer lock-in te doen, hebben ze voor de client-server communicatie een eigen protocol ontwikkeld, zijnde het RealTime Messaging Protocol. De enige technische referenties die je hierover kan Googlen, hebben echter niks met de RTMP van MM te maken.

Als je dan verder gaat zoeken, bv op FigLeaf's FlashComm, dan gaan de Macromedia-mensen (lees: Mike Chambers) natuurlijk ook niet erg diep in op vragen voor meer uitleg over rtmp. En de rest van de forumgangers kan er ook niet veel over vertellen, buiten een linkje naar Flash Remoting in PHP.

Wat ik nu eigenlijk wou vragen: kent iemand een project of is mss iemand er zelf mee bezig een serverside iets te ontwikkelen dat kan dienen als een soort lightweight FlashCom server? Bv, het broadcasten van microfoon data afkomstig van een client zou al leuk zijn.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Ik heb zelf iets gemaakt om data uit te wisselen tussen website bezoeker en een operator. Ze leggen een socket met elkaar en kunnen vervolgens data uitwisselen. Op het moment is dit alleen text maar het zou net zo goed microfoon of beeld uit een webcam kunnen zijn. Alleen ik denk niet dat dat helemaal is wat jij bedoeld. Jij wil van website bezoeker naar website bezoeker maak ik uit jouw verhaal op. Mijn tool gaat van website bezoeker naar een vb applicatie die ik de operator tool noem. meerdere website bezoekers gaan alle naar 1 operator. Ik weet niet of je iets hebt aan de techniek die ik gebruikt heb. Ik hoor het wel. Je kunt het vinden op www.salesdesk.nl

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Interessant programma. Maar wel spam :) Maareuh, ik ga uit van de noodzaak dat de client Flash is, en het RTMP gebruikt om met de server te communiceren. Ik ben dus echt op zoek naar meer info over RTMP.

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

erm ralph en ik hebben een tijdje geleden een presentatie gedaan over Flashcomm en Flashremoting voor Macromedia. Er is idd weinig technische informatie te vinden over RTMP, en dat komt omdat MM het beschouwd als close-format itt het SWF format waar genoeg te vinden is. De enige summiere informatie is dacht ik te vinden op de flashcomm mailinglijst, te vinden op chattyfig. Voor het broadcasten van microfoondata pak je gewoon de data en stuur je die over een streamconnectie naar je flashcomm server en die zorgt ervoor dat de stream word verspreid naar de andere clients...in principe is dat in 5 regels te coden... :)

"You're only as good, as what you did last week."


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Is het dan ook zo dat er geen commando's in de data stream gecodeerd zitten? En wat betreft het formaat van die mic data, weet je daar iets meer over? Kan je dat bv met H323 uitlezen?

MM zal hier natuurlijk niet graag informatie over vrij geven. Maar bestaan er Lite licenties voor MX Server? Anders is het namelijk erg jammer dat, wanneer je maar een heel klein beetje functionaliteit nodig hebt, je toch dat volledige (prijzige) pakket moet aanschaffen.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

wat betreft de kosten voor mx server. Waarom niet gewoon zelf een programma maken in vb of delphi en dat op de server draaien. Elk flash scherm connectie laten maken met die applicatie via sockets. En de data versturen (text, webcam, geluid etc) Zo gemaakt en veel goedkoper.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Daar doelde ik ook op Damien, maar ik vroeg mij alleen af of er ergens een bron bestond die al iets in die richting ondernomen had.

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

GrimaceODespair schreef op 10 February 2003 @ 12:33:
Daar doelde ik ook op Damien, maar ik vroeg mij alleen af of er ergens een bron bestond die al iets in die richting ondernomen had.
Ik ben de bron ;) . Nee, zonder gein. Ik heb tijdens het ontwikkelen van mijn programma ook zelf alles uit moeten vinden. Er is weinig tot geen documentatie over. Vertel me wat je wilt weten. Dan post ik hier code of een hint. :)

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Aha, kijk es aan, nog een freak :) Laten we dan maar eerst beginnen met: welke taal heb je gebruikt? Aan je vorige post te zien VB of Delphi, en ik schat zo Delphi. Je hebt mij wel waterig gemaakt zeg... ik ga thuis iig es proberen wat tijd vrij te maken om wat te C++-en....

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

Ik heb vb gebruikt. Wat je moet doen is een applicatie maken voor op de server. Deze applicatie moet luisteren op een bepaald poort nummer. Nou komt er een website bezoeker en die opent en flash schermpje. Dit flash schermpje gaat een verbinding maken met de applicatie. sock.connect("ipnummerserver",poortnr); poortnr is de poort waarop de applicatie op de server luistert. Dan komt er in de applicatie een socket request binnen. Socket accepteren en klaar is de verbinding. Nu kun je data versturen in beide richtingen.

Jouw server applicatie moet natuurlijk wel data hebben om te versturen. Hiervoor zou ik een tweede applicatie maken die je op je eigen pc draait. Deze applicatie gaat ook connecten met de server applicatie. Nadat de socket connectie een feit is verstuur je de data die je met je website bezoekers wilt delen. De applicatie ontvangt deze data en verstuurd deze aan alle flash schermpjes die een socket verbinding open hebben staan met je server applicatie. Enkele tips:

- gebruik threads
- flash 4 en 5 kunnen connecten met iedere url / ip dus dat zou de server applicatie overbodig maken.
- flash 6 heeft een blokade (sandbox) die er voor zorgt dat de flash movie alleen kan connecten met de server waarvan die is gedownload. Nadeel is dat je dan dus wel met de server applicatie moet werken, maar voordeel is dat je makkelijker geluid en beeld kunt uitwisselen.
- Er is een mogelijkheid om zelfs met flash 6 (mx) zonder server applicatie te werken maar dan moet je er voor zorgen dat je applicatie die op jouw pc draait tevens fungeert als webserver. Zodat het sandbox probleem wordt omzeild.
etc etc etc. Ik hoor het wel als er behoefte is aan meer uitleg of tips :-)

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Verwijderd schreef op 10 februari 2003 @ 12:26:
wat betreft de kosten voor mx server. Waarom niet gewoon zelf een programma maken in vb of delphi en dat op de server draaien. Elk flash scherm connectie laten maken met die applicatie via sockets. En de data versturen (text, webcam, geluid etc) Zo gemaakt en veel goedkoper.
erm...dan zal je toch echt het protocol moeten gaan reverse engineeren... :) volgens mij zit de truuk juist in dat je alleen via rtmp webcam data kan versturen en niet via een xmlsocket :)

maar ik ben wel geinteresseerd in zo'n project, kan helaas niet in delphi programmeren ( alleen java en basic c++ )

as voor licenties flash comm server, volgens mij is er alleen personal license van 10 concurrent connections voor 500 euro?

handig linkjes
>> http://chattyfig.figleaf....mlm-cgi?3:sss:4064:200302
>> http://amfphp.sourceforge.net/?

:)

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

ja maar dit vereist dus dat de client nog een applicatie op zijn eigen computer installeert, zoals je beschrijft, anders werkt het niet. Dit ondermijnt dus de eenvoud en het gemak die Flashcomm wel heeft... :)

"You're only as good, as what you did last week."


Verwijderd

oh,when? schreef op 10 February 2003 @ 13:04:
[...]


ja maar dit vereist dus dat de client nog een applicatie op zijn eigen computer installeert, zoals je beschrijft, anders werkt het niet. Dit ondermijnt dus de eenvoud en het gemak die Flashcomm wel heeft... :)
Met de client bedoelde ik in dit geval de persoon die wil broadcasten. Niet de website bezoeker. Die hoeft niets anders te doen dan de website met het flash schermpje te bezoeken.

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Jongens, dit is zelfs more than I bargained for _/-\o_ Mijn goed voornemen voor dit jaar wordt: zo'n server appje schrijven (C++) :*) en natuurlijk deze thread in leven houden ;)

Wij onderbreken deze thread voor reclame:
http://kalders.be


Verwijderd

voor alle twijfelaars (de mensen zoals oh,when? :-) )

http://www.salesdesk.nl/voorbeeld/index.html

enkele screenshots van het bewijs dat het gewoon op een goedkope manier te doen is.

edit:

wat betreft data zoals geluid en beeld, zal je wel wat meer moeten knutselen. nog niet gerpobeerd

[ Voor 27% gewijzigd door Verwijderd op 10-02-2003 13:25 ]


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

erm Damien.. ik zie nog steeds niet hoe jij andere data dan text gaat versturen zonder rtmp..das dus de truuk juist...de flash player kan namelijk geen andere data dan text uitsturen zonder dit protocol. :)

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Verwijderd schreef op 10 February 2003 @ 13:22:
voor alle twijfelaars (de mensen zoals oh,when? :-) )

http://www.salesdesk.nl/voorbeeld/index.html

enkele screenshots van het bewijs dat het gewoon op een goedkope manier te doen is.
[/edit]
das dus alleen text...en ja dat kan al via flash 4...de grote barbapappa truuk is juist webcam en audo data versturen... :)

"You're only as good, as what you did last week."


Verwijderd

het zal vast (zal als ik tijd heb wel even zoeken) wel mogelijk zijn om met visual C++, delphi of vb te communiceren via het rtmp protocol. Zo ingewikkeld kan dat niet zijn. Bijvoorbeeld met een winsock library van Xceed of wathever.

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Verwijderd schreef op 10 February 2003 @ 13:41:
het zal vast (zal als ik tijd heb wel even zoeken) wel mogelijk zijn om met visual C++, delphi of vb te communiceren via het rtmp protocol. Zo ingewikkeld kan dat niet zijn. Bijvoorbeeld met een winsock library van Xceed of wathever.
tuurlijk...het communceren zal wel lukken...maar het zal lastig worden als je totaal geen technische info hebt over het protocol...nadda zilch noppes. geen handshake info, geen header info, geen request info...daar is allemaal niks over te vinden. Dus dat moet je allemaal moeten gaan uitvogelen. En ik ben geen reverse-engineer expert dus ik kan je daar niets over vertellen :|

maar mocht je meer info hebben..graag! :)

"You're only as good, as what you did last week."


  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
oh,when? schreef op 10 februari 2003 @ 13:01:

as voor licenties flash comm server, volgens mij is er alleen personal license van 10 concurrent connections voor 500 euro?
Je hebt ook nog de Enterpise licence, die is wat groter en duurder ;)

En of die te duur is, ach, met het volledig reverse engineeren van het protocol ben je zo lang bezig dat je wel 10 van die licenties kan kopen.

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

erm ja maar het ging hier om de goedkoopste licenties...en dat is dan wat er in de buurt komt...enterprise licenties vallen qua prijs erg mee imo, en je koopt daarna nog alleen maar licenties voor concurrent users, en das logisch...je koopt namelijk evenredig aan dat je bandbreedte hebt :)

"You're only as good, as what you did last week."


  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
oh,when? schreef op 10 februari 2003 @ 14:36:
erm ja maar het ging hier om de goedkoopste licenties...
De goedkoopste licenties zijn de licenties die je regelt >:)
enterprise licenties vallen qua prijs erg mee imo, en je koopt daarna nog alleen maar licenties voor concurrent users, en das logisch...je koopt namelijk evenredig aan dat je bandbreedte hebt :)
Ik vind eigenlijk dat ze de kunstmatige koppeling tussen users en bandbreedte los moeten laten. Dan kunnen ze daarna ook eens fatsoenlijk multicast gaan implementeren :9 (voor SO's tenminste, ik denk niet dat je het voor messages zou willen).

  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
Voor de geïnteresseerden geef ik even wat relevante links naar de minimale info (lees: speculatie) die er over RTMP op FigLeaf aanwezig is:

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

kheb er nog eens over nagedacht, en zou het misschien niet kunnen zijn dat het RTMP protocol een eigen versie is van het RTP protocol? Maar dan dus met toevoegingen van Macromedia ( ik neem aan binary data van de encoding gedaan door sorenson )? Ik heb er nog eens mijn boeken over RTP op nageslagen en het voldoet aan alle kenmerken die nodig zijn door Flash Comm?

GrimaceODespair, care to hack on with me? :)

"You're only as good, as what you did last week."


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
oh,when? schreef op 11 February 2003 @ 23:52:
GrimaceODespair, care to hack on with me? :)
Count me in!

Moet me wel weer helemaal in Windows proggen werken (that's me main platform), want, hoewel C++ op zich mijn lievelingstaal is, merkte ik gisteren hoe stroef het gaat als je't even niet meer gedaan hebt. Ik weet ook niet met welke socket lib ik het beste aan de slag ga enzo. In het weekend es wat uurtjes uittrekken.

Wat heb jij op het moment al bij elkaar gehackt?

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017

Parcye

Mr C

(jarig!)
Dit klinkt zeker ERG leuk... ik ga ook is kijken hoe wat waarom :) houd me maar op de hoogte, dan vind ik dat bin. data niet eens zo belangrijk... hooguit om screenshots van een naar andere te sturen.

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

GrimaceODespair schreef op 12 February 2003 @ 00:10:
[...]
Count me in!

Moet me wel weer helemaal in Windows proggen werken (that's me main platform), want, hoewel C++ op zich mijn lievelingstaal is, merkte ik gisteren hoe stroef het gaat als je't even niet meer gedaan hebt. Ik weet ook niet met welke socket lib ik het beste aan de slag ga enzo. In het weekend es wat uurtjes uittrekken.

Wat heb jij op het moment al bij elkaar gehackt?
ik ben momenteel bezig eerst wat technische docs door te lezen, over RTP en H323 en encoding door sorenson etc. Wat ik eerst duidelijk wil hebben is of het idd een broertje is van RTP, dan kunnen we daar verder op borduren. Als ik engineer was bij Macromedia zou ik eerst kijken wat mijn behoeften zijn, wat wil ik precies gaan doen, en dan wat voor bestaande protocollen er zijn op het gebied van multimedia en kijken of deze voldoen, en daarna kijken of het handig is hierop voort te boorduren of toch verder te gaan met een eigen protocol.

Een zeer uitgebreide site over RTP is de site van Henning Schulzrinne waarin zeer uitgebreid over RTP word ingegaan. Ik heb hem dan ook gemaild om te vragen of hij denkt dat het logisch is dat Macromedia dat zou doen, en of hij tips heeft om dit uit te zoeken. Ook vroeg ik hem of hij van andere (proprietary) protocollen afweet die gebaseerd zijn op RTP. :)

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Ik heb uit betrouwbare bron vernomen dat het zeer onwaarschijnlijk is dat Macromedia de specificaties vrij gaat geven, en logisch ook, het bestaansrecht van de Flash Comm Server is voor een groot deel gebaseerd op dit protocol, aangezien het de enige manier is om webcam/audio/video data te versturen. Dus het zal idd reverse-engineering gaan worden...vraag ik me af in hoeverre dat tegen de wet is? :) cutter? :)

"You're only as good, as what you did last week."


  • jochemd
  • Registratie: November 2000
  • Laatst online: 08-08 15:51
Er zijn verschillende dingen met reverse engineering:
- licentie. Als je ooit een Flash 6 of FlashCom licentie hebt doorgeklikt zou ik alsnog de licentie maar gaan lezen.
- reverse engineeren Flash & FlashCom. Zie licentie.
- reverse engineeren datastromen tussen Flash en FlashCom. Volgens mij legaal.
- patenten. Het zou me niets verbazen als je hier en daar een patentje hebben waar de technologie onder valt. Maar dat kan je wel even online uitzoeken (en als ze die hebben staat daar misschien ook een technisch verhaal in).

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

dank je voor de tips! Ik zal nog eens goed de licentie eens door gaan lezen. Maar het gaat ons vooral om het protocol zelf, RTMP, dus de datastromen in jouw voorbeeld. Ik ben voorlopig niet van plan .exe's te gaan decompilen...

:)

"You're only as good, as what you did last week."


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
oh,when? schreef op 12 February 2003 @ 01:40:
Maar het gaat ons vooral om het protocol zelf, RTMP, dus de datastromen in jouw voorbeeld. Ik ben voorlopig niet van plan .exe's te gaan decompilen...
:)
Precies, daar was ik ook aan aan het denken. Ik had me op zich wel kunnen voorstellen dat het reverse engineeren van een proprietary protocol illegaal zou zijn. Nu heb ik niet veel kaas van legaliteiten gegeten, maar ik vermoed dat dat weer zo een grijze zone is die niet door de wet gedekt wordt. Wat de license agreement hierover zegt:
You may not alter, merge, adapt or translate the Software, or decompile, reverse engineer, disassemble, or otherwise reduce the Software to a human-perceivable form.
Hier gaat het dus over het reverse engineeren van de software, en dat doen wij dus niet. Lijkt me nog ok dus.
You shall not (...) use or deploy the Developer Version other than internally for the sole purpose of designing, developing, and evaluating applications pursuant to the terms and conditions set forth in this EULA
Wsch enigszins voor interpretatie vatbaar. Je zou hiervan kunnen maken: "Als we het in deze EULA niet hebben over reverse engineeren van het protocol, dan mag je het ook niet doen"

Iemand die zijn licht hier nog over wilt laten schijnen. On the record maak ik hier trouwens de opmerking dat ik nooit iets illegaals zou doen. Off the record... na ja... >:)

Wij onderbreken deze thread voor reclame:
http://kalders.be


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

offtopic:
GrimaceODespair, wat is je emailadres?


ik denk dat we gewoon ons gang kunnen gaan, betreffende het protocol. Inmiddels ook een mailtje terug van meneer Schulzrinne, maar daar hebben we niet veel aan. Moeten ook veel gerichter vragen denk ik :)
Unfortunately, I'm not familiar with the details of RMTP. You could ask
Macromedia whether the protocol is specified anywhere... Protocol
analyzers such as Ethereal would help you do the analysis, but this is
likely to be tedious without knowing what the protocol contains.

"You're only as good, as what you did last week."


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 21-08 13:41

GrimaceODespair

eens een tettenman, altijd ...

Topicstarter
oh,when? schreef op 12 februari 2003 @ 09:47:
offtopic:
GrimaceODespair, wat is je emailadres?
Ik heb een mailtje naar je MSN ID gestuurd. Weet niet of je die leest, maar die van dopesyndicate is gebouncet.

Wij onderbreken deze thread voor reclame:
http://kalders.be

Pagina: 1