2009-11-17 8 views
7

Estoy tratando de comprender y realmente precisar cuándo usar la descarga progresiva frente a rtmp en flex/flash. Parece que el punto principal es que rtmp no se sirve con http, mientras que la descarga progresiva sí lo es. Como no es rtmp, el recurso está protegido ya que no hay forma de conectarse al servidor rtmp desde fuera del swf.flash/flex: descarga progresiva frente a rtmp

Incluso si el usuario puede ver que el código objeto y se puede averiguar la ubicación

<object data="http://media.example.com/jw-player/player.swf" > 
    <param value="streamer=rtmp://sub.example.com/video 
      &amp;file=1330/title/folder2/theflvresource.flv 
      &amp;id=FlvPlayer" name="flashvars"> 
</object> 

que no sería capaz de conectarse a RTMP. ¿Entonces rtmp parece ser más útil cuando quieres proteger un recurso? Eso es todo?

Respuesta

6

Estoy de acuerdo con xtat, pero quiero agregar mucho más.

Los pros y los contras de RTMP (o cualquier protocolo de flujo basado en UDP) vs. 'descarga progresiva' (que en realidad es sólo un subconjunto de flujos basados ​​en HTTP) en mi no tan humilde opinión:

Transmisión de
  • Pros
    • Actualmente significativamente más difícil de robar corrientes
    • Actualmente soporta en vivo, que HTTP-Bas basado en UDP
      • Ed no
      • Multi CAST, que puede ser deseable en intranets
    • Contras
      • uso de recursos dramáticamente más alto, con respecto al enfoque basado en http
      • necesidad de servidores especializados (FMS, red5, Wowza, lo que sea)
      • más perceptibles búfer
      • problemas con el cortafuegos, especialmente con clientes corporativos
  • en streaming basado en HTTP
    • Pros
      • Muerto sencilla
      • Puede buscar en los medios de comunicación. FLV y MP4 (con un poco de esfuerzo)
    • Contras
      • trivial para sisar corrientes. P.ej.: Real Downloader
      • Las transmisiones en vivo no son actualmente posibles, pero concédalas un año. Apple está haciendo esto una realidad.
      • hay múltiples colada

Todo el enfoque basado en HTTP está lleno de y/sino/si situaciones, un montón de malentendidos acerca de lo que es y no es posible, y una falta de definiciones comunes.

hay dos personas básicos características están buscando cuando se habla de streaming basado en HTTP: buscando y ancho de banda regulado. A partir de eso, obtener todos estos términos como 'pseudo-streaming', 'la descarga progresiva', etc.

servidores de streaming

Estas son las definiciones que utilizo para describir HTTP basada en:

  • regulados de bits tasa: el servidor analiza el archivo de medios planos y envía los medios tan rápido como el jugador necesita para reproducir los medios sin almacenamiento en búfer.
  • buscando: la capacidad de un servidor web para buscar en los medios y crear efectivamente un nuevo 'archivo' sobre la marcha para su uso por el cliente. Similar a una solicitud de rango de bytes HTTP, excepto que los encabezados y metadatos de medios se agregan/modifican.
  • Descarga progresiva: Simplemente envíe el archivo, tan rápido como sea posible. Básicamente, ponga el archivo multimedia en el servidor web que envía al cliente de una manera "tonta", como un gran archivo .iso o .zip.
  • pseudo streaming: la capacidad de un servidor web para enviar archivos multimedia al cliente con una velocidad de bits regulada y para buscar en los archivos.
+0

Gracias, lo leí, muy buena respuesta. – drummer

2

Personalmente, la razón principal para elegir RTMP sobre la descarga progresiva es que le permite a su usuario saltar a la mitad de un video sin tener que descargar todo el archivo.

+2

Hmm, ¿estás seguro de que esto se limita a la descarga progresiva? Creo que escuché a alguien de uno de los sitios de videos (tal vez youtube, pero podría estar equivocado) decir que usan descargas progresivas para sus videos, pero aún puede omitir y comenzar a mirar desde el medio una parte que aún no se descargó. – drummer

+1

Creo que youtub es un híbrido de algún tipo, pero esos videos se transmiten en tiempo real ... verdadero progresivo tienes que esperar a que cada byte se descargue antes de poder jugarlo –

+1

* 'true progressive download' *? Usted dice eso como si hubiera una especificación. Youtube.com busca haciendo otra solicitud HTTP. Luego, los servidores buscan en el medio del archivo, rellenan los encabezados apropiados y envían los medios desde ese punto. No es ciencia espacial. Los términos de investigación como 'mod_flv' y' mod_h264_streaming' para más detalles. –

2

En estos días, a menos que necesite grabar, realmente no tiene sentido usar RTMP. HTTP es más simple y, evidentemente, es mucho más compatible, más fácil de depurar y, de hecho, permite buscar, incluso a través de CDN. Esto es lo que he configurado en Viddler.

+0

Interesante, pero ¿estás hablando de True HTTP Streaming o una descarga progresiva http modificada? Podría mirar a Viddler ya que parecen tener algunos servicios de marca blanca de los que no tenía conocimiento, pero aún estoy interesado en comprender la tecnología. – drummer

+1

IMO el término 'progresivo' es engañoso, pero eso es lo que estamos haciendo :) – user140730

+0

tratando de no ser demasiado del mercado, y siéntase libre de enviar cualquier pregunta a mi manera en el directorio de viddler:) – user140730

Cuestiones relacionadas