nut-np (nut based network protocol)

Hi is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one? what about the following very simple one? nut-np packet: sequence_num v while(not end){ type v if(type == 0){ // one complete nut packet (main header, stream header, info packet, // syncpoint, normal packet) data vb or raw? }else if(type == 1){ //nut packet fragment fragment_count v //whole number of fragments fragment_num v //which fragment we have here fragment vb }else if(type == 2 || type == 3){ // acknowledge(2) / retransmit req(3) sequence_num_diff v }else if(type == 4 || type == 5 ){//server side seek stream_id v timestamp v // type=4 seek <=timestamp, type=5 >= }else if(type >=6 && type <=9){ // debug(6), warning(7) // error(8) (unsupported or failed command) // fatal(9) (cant recover / connection closed) sequence_num_diff v //sequence number this error referes to sub_seq_num v //which type+data part of the packet this refers to message vb }else if(type == 10 || type == 11){ // discard stream flag stream_id v // type=10 -> dont send stream / type=11 send }else if(type==12){ // keyframe request stream_id v }else if(type==13){ // set channel channel_id v }else if(type==14){ auto_retransmit_delay v }else if(type==15){ // forward error correction sequence_num_diff v // the number of packets this covers ecc_type v ecc vb or raw? } } optional packets: keyframe request, server side seek, set channel, auto_retransmit, forward error correction ecc_type MUST be 0, others are reserved ecc (type 0) simply the interleaved XOR of the bits of all covered packets so a single lost packet can be recovered without retransmit fragmentation stuff: * the decoder is generally able to find the start of slices as they have startcodes so we dont need to take care of that * the decoder can not use a slice if any part of that slice prior to it is missing ->encoders/nut-np servers should fragment packets so that the amount of data lost if a packet is lost, (that is everything inside that packet + all parts of slices where a earlier part of that slice has been lost) is minimized duplicate packets duplicate packets (same seq num) should be discarded and a acknowledge be sent retransmits (in case a backchannel is available and the outer protocol is unreliable) * the server can optionally retransmit a packet if no acknowledge has been received within auto_retransmit_delay and the packet is important (a frame used as reference an error message or similar) * the client and server MUST acknowledge important packets it received and ask for retransmits if something is missing and needed in which outer layer protocol this all is used is outside the scope of this spec -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In the past you could go to a library and read, borrow or copy any book Today you'd get arrested for mere telling someone where the library is

On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
No objection :)
[..] ecc (type 0) simply the interleaved XOR of the bits of all covered packets so a single lost packet can be recovered without retransmit
How does this work with different sized packets?.. you just use the max size, and pad with zeroes?
[..]
Anything on the client side communication?.. Unless I'm understanding wrong, there should be some info about that too, a client asking a specific packet again, or seeking... - ods15

Hi On Mon, Jun 26, 2006 at 08:44:05PM +0300, Oded Shimon wrote: [...]
[..] ecc (type 0) simply the interleaved XOR of the bits of all covered packets so a single lost packet can be recovered without retransmit
How does this work with different sized packets?.. you just use the max size, and pad with zeroes?
yes
[..]
Anything on the client side communication?.. Unless I'm understanding wrong, there should be some info about that too, a client asking a specific packet again, or seeking...
its all there, read it again type=3 packets are retransmit requests (client->server & server->client) type=4&5 are for seeking (client->server, server seeks or sends error) [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In the past you could go to a library and read, borrow or copy any book Today you'd get arrested for mere telling someone where the library is

On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest? rich

Rich Felker wrote:
On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest?
So far Michael is leading the discussion with his proposal (that is quite simple to implement since is the status quo) Is the flamefest over? lu -- Luca Barbato Gentoo/linux Gentoo/PPC http://dev.gentoo.org/~lu_zero

On Tue, Jun 27, 2006 at 06:42:30AM +0200, Luca Barbato wrote:
Rich Felker wrote:
On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest?
So far Michael is leading the discussion with his proposal (that is quite simple to implement since is the status quo)
oded said something to that effect but i'm having a hard time figuring out exactly what/where michael's proposal is... :)
Is the flamefest over?
probably. rich

Hi On Tue, Jun 27, 2006 at 01:05:53AM -0400, Rich Felker wrote:
On Tue, Jun 27, 2006 at 06:42:30AM +0200, Luca Barbato wrote:
Rich Felker wrote:
On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest?
So far Michael is leading the discussion with his proposal (that is quite simple to implement since is the status quo)
oded said something to that effect but i'm having a hard time figuring out exactly what/where michael's proposal is... :)
what proposal? ;) last thing i said was pretty much "i dont care, just dont choose something based on a false belive that it wont break something, and if the system is complicated then whoever wants it should implement it first" ill post a new message (to the correct thread) with what i think the current options are [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In the past you could go to a library and read, borrow or copy any book Today you'd get arrested for mere telling someone where the library is

Hi On Mon, Jun 26, 2006 at 11:38:42PM -0400, Rich Felker wrote:
On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest?
nut fileformat spec frozen ... [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In the past you could go to a library and read, borrow or copy any book Today you'd get arrested for mere telling someone where the library is

On Thu, Jul 13, 2006 at 12:28:02PM +0200, Michael Niedermayer wrote:
Hi
On Mon, Jun 26, 2006 at 11:38:42PM -0400, Rich Felker wrote:
On Mon, Jun 26, 2006 at 02:05:37PM +0200, Michael Niedermayer wrote:
Hi
is there a non bloated non broken protocol around for streaming multimedia over the net? maybe we should invent one?
no objection to this but i'd like to finish the container format spec before we spend a lot of time discussing something new, if that's ok. what's the status on the fourcc flamefest?
nut fileformat spec frozen ...
:)))) Rich
participants (4)
-
Luca Barbato
-
Michael Niedermayer
-
Oded Shimon
-
Rich Felker