I am working on a server that is streaming audio to the VLC client but I cannot get VLC to process my RTP/MP3 stream. It appears to process the SDP correctly because the log says that it retrieved and opened the SDP file successfully and all parameters are correct, MPGA channels:2 samplerate:44100 bitrate:128, etc.
I think I have a problem with my MP3 encoder. I am using LAME 3.99.5. Here is a debug log edited to remove redundant entries:
Code: Select all
access_http debug: http: server='192.168.1.75' port=9000 file='/mp3.sdp'
main debug: net: connecting to 192.168.1.75 port 9000
main debug: connection succeeded (socket = 27)
access_http debug: protocol 'HTTP' answer code 200
access_http debug: Server: SimpleHTTP/0.6 Python/2.7.3
access_http debug: Content-Type: application/octet-stream
access_http debug: this frame size=147
live555 debug: version 2011.12.23
live555 debug: RTP subsession 'audio/MPA'
main debug: selecting program id=0
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: play start: 0.000000 stop:0.000000
main debug: using demux module "live555"
main debug: `http://192.168.1.75:9000/mp3.sdp' successfully opened
mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:128
main debug: Buffering 0%
main debug: reusing audio output
pulse debug: using stereo channel map
pulse debug: changed buffer metrics: maxlength=4194304, tlength=42336, prebuf=0, minreq=14112
pulse debug: connected to sink alsa_output.pci-0000_00_1b.0.analog-stereo
main debug: output 'f32l' 44100 Hz Stereo frame=1 samples/8 bytes
main debug: looking for audio volume module matching "any": 2 candidates
main debug: using audio volume module "float_mixer"
main debug: input 'mpga' 44100 Hz Stereo frame=1152 samples/1053 bytes
main debug: looking for audio filter module matching "scaletempo": 14 candidates
scaletempo debug: format: 44100 rate, 2 nch, 4 bps, fl32
scaletempo debug: params: 30 stride, 0.200 overlap, 14 search
scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode
main debug: using audio filter module "scaletempo"
main debug: conversion: 'mpga'->'f32l' 44100 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio converter module matching "any": 12 candidates
main debug: no audio converter modules matched
main debug: looking for audio converter module matching "any": 12 candidates
mpgatofixed32 debug: mpga->f32l, bits per sample: 32
main debug: using audio converter module "mpgatofixed32"
main debug: conversion pipeline complete
main debug: looking for audio resampler module matching "any": 3 candidates
main debug: using audio resampler module "samplerate"
main debug: End of audio preroll
pulse debug: base volume: 65536
pulse debug: changing sink 0: alsa_output.pci-0000_00_1b.0.analog-stereo (Built-in Audio Analog Stereo)
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: free bitrate mode
main debug: Buffering 0%
main debug: Buffering 0%
mpeg_audio debug: frame too big 977 > 976 (emulated startcode ?)
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: emulated startcode
mpeg_audio debug: emulated startcode
mpeg_audio debug: emulated startcode
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: emulated startcode
mpeg_audio debug: emulated startcode
mpeg_audio debug: emulated startcode (no startcode on following frame)
main debug: Buffering 0%
mpeg_audio debug: emulated startcode (no startcode on following frame)
mpeg_audio debug: emulated startcode
Q1: Does VLC expect that the RTP payload will start with the fragmentation 4-byte field as specified by RFC 2250?
Q2: What RTP timestamp increment should I use for MP3 for each RTP pkt? The RTP example in the LAME source tree uses 5 but this seems wrong to me.
Q3: why does the mpeg_audio think a frame of 977 is too large?
Q4: What does "emulated startcode (no startcode on following frame)" mean? I have verified that my RTP payload does indeed have proper MP3 frame headers.
Thanks for any help you can provide.
-Andres