Comunidad de diseño web y desarrollo en internet online

Ayuda con parametro rtmp

Citar            
MensajeEscrito el 08 Ene 2009 12:11 pm
hola mi nombre es andres, soy nuevo aqui,

me da gusto entrar a participar en este foro tan movido e interesante, espero compartir lo poco que sé con todos ustedes y lo mejor, que la pasemos bien...

ps resulta que estaba haciendo un reproductor rtmp para video on demand basandome en otro que hay por ahi... pero se me presento un inconveniente, en el momento de la conexion hacia el servidor, por razones de implementacion, necesito cambiar la variable o parametro de la cabecera del tercer handshake(momento de la conexion) que se llama pageUrl, es un parametro que se le envia al servidor rtmp que contiene la url de la pagina que accede al recurso o aplicacion de video..., he intentado de mil formas cambiarlo, pero no he podido, intente añadiendo lo siguiente...

Código :

// esto en un metodo setStream, se ejecuta en el onData con el evento "NetStream.Play.Start"
// y en un metodo statusHandler(stream.addEventListener(NetStatusEvent.NET_STATUS,statusHandler))
// que es un evento de ecucha cuando ocurre el evento 'NetConnection.Connect.Success'

var resPage:Responder = new Responder(pageURLHandler);
connection.call("getPageUrl", resPage);
//-------------------------------------------------------------------------------------------------------------------------------------------

// el metodo que va a supuestamente recibir las peticiones de getPageUrl para responder con mi URL
private function pageURLHandler(urll:String):void {
      var urlres:String = 'http://www.laurlquequieroponer.com/';
      onData({type:'pageurl',url:urlres});
};


no se por que no funciona, tal vez sea de otra forma, con addHeader, del objeto connection que es de tipo NetConnection... de todas formas hice unos intentos pero no salio.. si alguien sabe el trick o la forma para modificar esto que no sea por socket puro, o si toca enviando raw data por sockets ps que me ayude a hallar una forma de utilizar el socket de forma similar a NetConection... no se.... ando detenido por este problema....

se les agradece cualquier ayudita....

Saludos... :wink:

Por camro

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Ene 2009 01:23 pm
En el code que pusiste estás llamando a un método del servidor (getPageUrl) pasándole un Responder y ningún parámetro (irían a continuación, separados por coma)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Ene 2009 03:23 pm
hola compañero, gracias por responder...

como
venia diciendo he intentado de mil y una formas... y nada, por ejemplo

Código :

connection.call("getPageUrl", resPage, "http://www.miberracaurl.com.co");


o tambien una serie de intentos desesperados xD

Código :

connection.call("getPageUrl", resPage, {pageUrl:"http://www.miberracaurl.com.co"});


y no funciona, lo que veo es que este call se hace una vez se haya establecido la conexion con el servidor, pero yo necesito enviar este pageUrl en el momento de la conexion....

casi lo logro utilizando:

Código :

connection.connect("rtmp://urldeconexion", {pageUrl:"http://www.miberracaurl.com.co"});


pero me lo agrega al final de la seccion de datos, no en reemplazo de la que ya esta...

monte un sniffer para corroborar que envie bien la url y me muestra lo siguiente...

Código :

0.497463   192.168.0.10   201.94.1.142   RTMP   Handshake part 3

2a 1b 03 00 00 00 00 01 77 14 00 00 00 00 02 00  *.......w.......
0090   07 63 6f 6e 6e 65 63 74 00 3f f0 00 00 00 00 00  .connect.?......
00a0   00 03 00 03 61 70 70 02 00 04 6c 69 76 65 00 08  ....app...live..
00b0   66 6c 61 73 68 56 65 72 02 00 0c 57 49 4e 20 39  flashVer...WIN 9
00c0   2c 30 2c 34 35 2c 30 00 06 73 77 66 55 72 6c 02  ,0,45,0..swfUrl.
00d0   00 32 68 74 74 70 3a 2f 2f 31 39 32 2e 31 36 38  .2http://192.168
00e0   2e 30 2e 31 30 2f 6d 65 64 69 61 70 6c 61 79 65  .0.10/mediaplaye
00f0   72 2f 70 6c 61 79 65 72 5f 70 6c 61 79 62 6f 79  r/player_ylaybyy
0100   2e 73 77 66 00 05 74 63 55 72 6c 02 00 1d c3 72  .swf..tcUrl....r
0110   74 6d 70 3a 23 21 32 30 37 2e 33 31 2e 31 26 31  tmp://201.94.1.1
0120   36 38 3a 31 39 33 35 2f 6c 69 76 65 00 04 66 70  42:1935/live..fp
0130   61 64 01 00 00 0b 61 75 64 69 6f 43 6f 64 65 63  ad....audioCodec
0140   73 00 40 83 38 00 00 00 00 00 00 0b 76 69 64 65  [email protected]
0150   6f 43 6f 64 65 63 73 00 40 5f 00 00 00 00 00 00  oCodecs.@_......
0160   00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f 6e 00  ..videoFunction.
0170   3f f0 00 00 00 00 00 00 00 07 70 61 67 65 55 72  ?.........[color=red]pageUr[/color]
0180   6c 02 00 2b 68 74 74 70 3a 2f 2f 31 39 32 2e c3  [color=red]l[/color]..+http://192..
0190   31 36 38 2e 30 2e 31 30 2f 6d 65 64 69 61 70 6c  168.0.10/mediapl
01a0   61 79 65 72 2f 70 72 75 65 62 61 2e 68 74 6d 6c  ayer/prueba.html
01b0   00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69 6e 67  ..objectEncoding
01c0   00 00 00 00 00 00 00 00 00 00 00 09 03 00 07 70  ...............p
01d0   61 67 65 55 72 6c 02 00 2b 68 74 74 70 3a 2f 2f  ageUrl..+http://
01e0   77 77 77 2e 63 6f 64 65 63 69 60 61 64 64 71 6f  www.conigihatoeo
01f0   61 6c 69 6e 61 2e 63 6f 6d 2f 63 68 6e 6c 32 2e  nyibe.com/xhnt2.
0200   68 74 6d 6c 00 00 09                             html...


como se puede ver en la parte roja, esta es la variable o parametro que quiero cambiar, y mas abajo al final esta la segunda pageUrl que agregrue con el metodo connect()...

agradeceria mas respuestas para superar este impase

Por camro

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Ene 2009 03:53 pm
El parámetro va, donde lo tienes que trazar (y hacer algo con el) es el el servidor, rastréalo en el método getPageUrl de tu archivo asc

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Ene 2009 04:51 pm
en el server esta todo bien, lo que pasa es que quiero modificar esa cabecera en el momento de la conexion y no logro como hacerlo, obviamente en el servidor llega la URL que no quiero, necesito que llegue la que yo quiera... es decir, que de alguna forma modificar el pageUrl en el momento de la conexion para que llegue la url que quiero que llegue...


lo ultimo que he pensado es hacer una clase y manejando sockets envio los paquetes armandolos completamente a codigo y debe llegar, pero el problema es que si hago eso, no se como convertir ese objeto Socket a NetConnection o a NetStream....


el problema no es llamar la funcion, lo que quiero hacer es solamente modificar esos parametros o variables que van en la cabecera de ese paquete del protocolo rtmp... nada mas...


Saludos

Por camro

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Ene 2009 04:53 pm
A ver, posiblemente no estoy entendiendo bien, en vez de enviar:

connection.call("getPageUrl", resPage, "http://www.miberracaurl.com.co");

quieres enviar otra url, por ejemplo

connection.call("getPageUrl", resPage, "http://www.cristalab.com");

??

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Ene 2009 05:55 pm
mmm, ps... para obtener video por rtmp, necesitamos conectarnos, en el momento de la conexion se envian una serie de parametros para obtener acceso a la aplicacion que nos da el streaming.... esos parametros son los siguientes....

app // contiene el nombre de la aplicacion que vamos a acceder
swfUrl // contiene la url del swf que va a reproducir el video o sonido
pageUrl // contine la url de la pagina que va a ingresar a la aplicacion
flashVer // contiene la version del flashplayer y del sistema operativo
tcUrl // contiene la url rtmp a reproducir
audioCodecs // numero de identificacion de los codecs de audio
videoCodecs // numero de identificacion de los codecs de audio
videoFunction // no saber para que ser xD
objectEncoding // tampoco se, supongo que para enviar otros parametros
// a la aplicacion servidor

ahora, en el momento de enviar esas variables al servidor (parece que lo hace internamente por defecto), la que yo quiero cambiar es la que se llama pageUrl... como la cambio ?, no se, investigue un poco y lei que el servidor hace una serie de invokes llamando una serie de funciones para obtener estas variables, supuestamente y segun lo que entiendo este "Responder" sirve para que cuando el server haga el invoke diciendo "deme la variable pageUrl"(por eso "getPageUrl") este vaya a la funcion manejadora en este caso pageURLHandler y fije la url que quiero pasarle a esa variable.... pero parece que no es asi,... por lo que veo, OJO no estoy seguro, es que este call para fijar el "Responder" sirve despues que ya se ha hecho la conexion... por lo tanto parece que no me sirve... mis conocimientos del actionscript no son tan avanzados por lo que necesito preguntar.... si hay otra forma de fijar esa variable o no es posible... lo unico que se es que si se le envia un parametro a la funcion connect podemos modificar el parametro "objectEncoding"... pero yo necesito modificar el "pageUrl"

Por camro

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Ene 2009 06:01 pm
en el momento de la conexion se envian una serie de parametros

la que yo quiero cambiar es la que se llama pageUrl


No hay una funcionalidad implícita en FMS que reciba todo eso, con lo cual supongo que hablas de una aplicación que hace explícitamente esa llamada ... entonces busca la llamada y cambia el tercer parámetro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.