[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] Proposal: Bittorrent support for Gnash

From: Rob Savoye
Subject: Re: [Gnash-dev] Proposal: Bittorrent support for Gnash
Date: Tue, 18 Mar 2008 11:53:53 -0600
User-agent: Thunderbird (X11/20071115)

Miriam Ruiz wrote:

> If someone went for bittorrent protocol for transmission and standard
> protocols for contents (ogg, mpeg, avi), the critical mass would be
> almost inmediate, I guess.

  Which is one of the reasons I'm working on Cygnal again. Other than
just creating yet another video streaming server, (although Cygnal also
speaks RTMP*/HTTP/SWF) I'd like Cygnal to be more useful. I have
considered a bittorrent like protocol, maybe bittorrent, or maybe
something similar for distributed streaming.

  I plan to have Cygnal be able to talk to other instances of itself, so
this would be potentially possible. I was primarily doing this to
support distributed video conferencing, but don't see why it couldn't
handle streaming also. The main trick would be keeping everything in
sequence, and not need a huge cache to handle latency.

  Cygnal still needs several months of work before I'm probably ready to
consider implementing something like this, unless anyone else starts
helping me with Cygnal development. I'll use this as an occasion to
briefly spec out that sub project of Gnash. Cygnal is basically an FMS 3
 implementation, similar to Red5, only Red5 doesn't understand SWF, and
is written in Java.

  Currently, now that the Gnash release is out, I've been rewriting
Cygnal from the ground up. The initial rewrite is what let me add
support for SharedObject and LocalConnection to Gnash. As RTMP uses the
same low level code, I replaced my original ugly version used for
reverse engineering, with much cleaner code for AMF object handling in
all it's forms.

  Lately I've been redesigning the core of Cygnal to get much higher
performance and can handle complex routing and more protocols, as I want
to get Cygnal/Gnash to where it'll support video conferencing. This
requires the routing of AMF objects from Gnash to Cygnal, and then from
Cygnal back out a different network connection. Also each RTMP
connection needs to support up to 64 "channels" for multiple streams.
The prior implementation couldn't route the AMF objects, it could only
stream via RTMP. I'm working on getting RTMPT working again with the new
network core right now.

  For anybody that likes hacking network protocols as much as I do,
Cygnal would be a fun project, volunteers welcome. I think Cygnal is
going to be important for Gnash too, as it'll enable using patent free
codecs more often, as we'll have both ends of the connection. Gnash will
also get RTMP* supported added as well, since much of the code is shared.

 I'll try to start getting some of the new design documented on the wiki

        - rob -

reply via email to

[Prev in Thread] Current Thread [Next in Thread]