Vivo: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(Clairifyed)
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
* Extension: viv
* Extension: viv
* Company: [[Real]] (formerly Vivo)
* Company: [[Vivo Software]]
* Samples: TBD
* Samples: http://samples.mplayerhq.hu/vivo/


Proprietary web audio/video streaming format. Uses H.263 video and G.723 adpcm audio (not the G.723.1 speech codec).
Proprietary web audio/video streaming format. Uses H.263 video and G.723 [[ADPCM]] audio (not the G.723.1 speech codec).


[[Category:Container Formats]]
[[Category:Container Formats]]
Vivo files consist of a sequence of packets.
Each packet starts with 4 bit packet type (see below).
Then follows a 4 bit "sequence number". Packets with same packet number probably must be combined?
If the packet is not fixed-size type, the packet length follows and after that the packet data.
Known packet types are:
0: header
1: video (fixed length 128 unless prefixed)
2: video
3: audio (fixed length 40 unless prefixed)
4: audio (fixed length 24 unless prefixed)
Each packet may be prefixed with 0x82 in which case the packet types marked as fixed length above have a packet length as well.
Packet length is probably coded in the way that the following code would decode:
len = 0
do
  c = get_byte();
  len = (len << 7) + (c & 0x7f)
while c & 0x80
But this is not sure since only header packets seem to be longer than 127 bytes?
Header packets are simply text with CRLF line-breaks, defining one "variable" per line in the form Name:Value

Latest revision as of 04:19, 6 December 2012

Proprietary web audio/video streaming format. Uses H.263 video and G.723 ADPCM audio (not the G.723.1 speech codec).

Vivo files consist of a sequence of packets.

Each packet starts with 4 bit packet type (see below). Then follows a 4 bit "sequence number". Packets with same packet number probably must be combined? If the packet is not fixed-size type, the packet length follows and after that the packet data.

Known packet types are:

0: header
1: video (fixed length 128 unless prefixed)
2: video
3: audio (fixed length 40 unless prefixed)
4: audio (fixed length 24 unless prefixed)

Each packet may be prefixed with 0x82 in which case the packet types marked as fixed length above have a packet length as well.

Packet length is probably coded in the way that the following code would decode:

len = 0
do
  c = get_byte();
  len = (len << 7) + (c & 0x7f)
while c & 0x80

But this is not sure since only header packets seem to be longer than 127 bytes?

Header packets are simply text with CRLF line-breaks, defining one "variable" per line in the form Name:Value