MicStream is an Android app that stream microphone (intgrated or jack) over UDP.
Parameters are configured in the main application page and streaming is done by a foreground service.
Parameters are:
- Destination IP
- Destination port
- Payload Type: Sample size 8/16 bits, Compression
- Sampling frequency
An example of Stream receiver and decoder is implemented here: https://github.com/masavoyat/MicStreamServer
The frame format is inspired from RTP frame format
Element | Size (bytes) | Description |
---|---|---|
firstByte | 1 | First byte is always 0x80 |
payloadTypeId | 1 | Byte indicate the payload type and how to read it. See section below for more information |
sequenceNumber | 2 | An number incrementing with every UDP frame indicating the sequence ordering |
timeStamp | 4 | Currently implemented as sample counter |
samplingFrequency | 4 | The sampling frequency of the recording device in Hz |
Total header size is 12 bytes.
PayloadType | PayloadTypeId | Sample Size | Description |
---|---|---|---|
RAW 16BIT | 127 | 16 bits | Raw signed 16 bits samples |
RAW 8BIT | 126 | 8 bits | Raw signed 8 bits samples |
ZIP 16BIT | 125 | 16 bits | Zip compressed signed 16 bits samples |
ZIP 8BIT | 124 | 8 bits | Zip compressed signed 8 bits samples |