Audio Stream (ID 1)
The Audio stream is taken from the output of the audio mixer. Thus, the stream received over the
network contains the same data as the data sent over HDMI and back to the audio codec for
conversion to the analog signal that is available on the DIN connector. The ID of this stream is 1.
The format of the audio stream is simpler than the video stream. The only two bytes that are sent as
a header in front of the raw audio data is the sequence number of the packet, since the stream was
enabled. This allows for detection of missing packets.
The sequence number is followed by 192 stereo samples in 16-bit signed, little endian format; left
and right interleaved, starting with the left channel. Thus, the total UDP packet size is 770 bytes: 2
header bytes, and 192 times 4 bytes per sample:
00 00 fe ff 02 00 ff ff 03 00 fd ff 00 00 ...
-seq- left--right-left--right-left--right-...
01 00 ff ff 03 00 fd ff 00 00 03 00 ff ff ...
-seq- left--right-left--right-left--right-...
02 00 fd ff 03 00 fd ff 00 00 fe ff 02 00 ...
-seq- left--right-left--right-left--right-...
The sample rate of the stream is close to 48000 Hz. It depends on the video mode. The actual
sample rate for PAL is:
(Fc * 16/9 * 15 / 77 / 32) = 47983 Hz (Fc = 4433618.75 Hz) (48kHz: -356 ppm)
For NTSC, the audio clock is derived as follows:
(Fc * 16/7 * 15 / 80 / 32) = 47940 Hz (Fc = 3579545.45 Hz) (48kHz: -1243 ppm)
Viewing and recording
Windows
Thanks to Martijn Wieland (TSB), there is a viewer for the stream for Windows. This tool can be
obtained here: TSB U64 Streamer.
Linux/Mac
Jimmy (DusteDdk) made a Linux viewer, more info check: u64view
This version can also be compiled on Mac OS.
Python script
Also there is an example script in the ‘python’ directory of the ultimate repository to show how
grabbing of video data is done. This example script can be seen here: grab.py