[Live-devel] 3 questions
Ross Finlayson
finlayson at live.com
Mon Nov 22 08:28:38 PST 2004
At 05:25 AM 11/22/04, you wrote:
>That's cool and all, but when no GUI RTSP client can receive my
>streams, the exercise is somewhat pointless.
Not necessarily, because "openRTSP" can tell you:
1/ Whether RTP packets are getting sent at all. (It wasn't obvious from
your previous message whether this was even the case.) You can test this
by running "openRTSP" with the "-n" flag.
2/ Whether these RTP packets contain data (other than the 12-byte RTP
header). You can test this by looking at the size of the "video-<mumble>"
file that "openRTSP" writes.
3/ What data these RTP packets contain. You can test this by inspecting
the file contents. In particular, for MPEG-4 data, you can try
re-streaming this file (e.g., rename it to "test.m4v" and try streaming it
using "testMPEG4VideoStreamer"). That may tell you whether or not the data
is well-formed.
> Neither QTPlayer or VLC can receive my MPEG4 stream
Assuming that your data really is being sent, then the problem may just be
that your MPEG-4 encoder is not periodically generating a "Visual Object
Sequence header" (i.e., starting with 0x000001B0. This hypothesis is
supported by the following:
>Here's the openRTSP output, in case it points to a cause.
[...]
>Opened URL "rtsp://192.168.1.1:7070/myTest", returning a SDP
>description:
>v=0
>o=- 1101129512331145 1 IN IP4 192.168.1.1
>s=Session streamed by "jitterTest"
>i=
>t=0 0
>a=tool:LIVE.COM Streaming Media v2004.11.11
>a=type:broadcast
>a=control:*
>a=source-filter: incl IN IP4 * 192.168.1.1
>a=rtcp:unicast reflection
>a=range:npt=0-
>a=x-qt-text-nam:Session streamed by "jitterTest"
>a=x-qt-text-inf:
>m=video 8888 RTP/AVP 96
>c=IN IP4 232.89.244.221/7
>a=rtpmap:96 MP4V-ES/90000
>a=control:track1
Note that there's no line
a=fmtp:96 profile-level-id=1; config=<whatever>
in the SDP description. This suggests that no MPEG-4 "Visual Object
Sequence header" is present in the encoded data (and so
"MPEG4VideoStreamFramer::getConfigBytes()" is always returning NULL).
You need to fix/reconfigure your encoder to generate periodic MPEG-4
"Visual Object Sequence headers" (or else insert them into the data yourself).
This doesn't explain what's going wrong with your streaming motion-JPEG
application, but you can test that by running "openRTSP" with the "-m"
flag. (This will cause it to output a new file for each received
frame. For motion-JPEG, each such file should be a JPEG image.)
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list