[Live-devel] Creating a RTSP stream from DVB-T hardware card
Ryan Walklin
ryanwalklin at gmail.com
Fri Jul 11 15:52:11 PDT 2008
Hi,
I'm using an Elgato DVB-T USB tuner (EyeTV for DTT) in combination
with the livemedia library to stream a MPEG2-TS stream containing h264
video and AAC audio (LATM encapsulation) via RTSP over my LAN. I've
based my streaming server on the testMPEG2TransportStreamer sample.
The EyeTV plugin SDK provides a callback which is activated when ~100
or so packets have arrived, and sends the raw TS data via a pipe to
the server code, running in another thread. I've modified the code to
read from the other end of the pipe I created. I've also removed the
MPEG2Framer from the chain as I presumed the packet stream was already
in this format.
This done, I'm able to launch VLC and see the stream for 1-2 seconds,
however VLC proceeds to crash with the console errors:
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (48). 1388 bytes of trailing data
will be dropped!
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (112). 1324 bytes of trailing data
will be dropped!
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (60). 1376 bytes of trailing data
will be dropped!
MultiFramedRTPSource::doGetNextFrame1(): The total received frame size
exceeds the client's buffer size (8). 1428 bytes of trailing data
will be dropped!
From my reading of the mailing list archives, I understand that
somewhere along the encoding chain (Presumably in ByteStreamFileSource
(MultiFramedRTPSource) a buffer is being over-run, but I cannot fathom
where. All the buffers seem to default to ~50-60kb, however from those
errors it seems to be under 100 bytes most of the time. I note the sum
of the streamed+dropped packets is 1440, so presumably this has
something to do with network framing.
I've been playing with this all week and ended up more and more
confused reading the source. I'd apprecitate it if anyone is able to
shed light. I've attached my server thread source for your perusal.
(createRTSPserver is essentially main() from
testtMPEG2TransportStreamer.cpp with my tweaks).
Regards,
Ryan Walklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MPEG2RTSPServer.cpp
Type: application/octet-stream
Size: 6079 bytes
Desc: not available
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20080712/0fac44d3/attachment-0001.obj>
-------------- next part --------------
- stream structure
- using pipe to copy packets
- raw off card
- how to relay mpeg2 ts as live to rtsp
- buffer size
More information about the live-devel
mailing list