Trouble with VLC, RTP and Xuggler

341 views
Skip to first unread message

George

unread,
Sep 12, 2009, 8:30:35 AM9/12/09
to xuggler-users
Hi guys,

I was wondering if anybody here might be able to help me with some
problems I am having using RTP, streamed from VLC, and presented to
FFMPEG via Xuggler using an SDP file (generated by VLC)

The SDP file that VLC generated for my stream is here :

v=0
o=- 14867874356897251328 14867874356897251328 IN IP4 xpwindows7
s=Unnamed
i=N/A
c=IN IP4 192.168.1.66
t=0 0
a=tool:vlc 1.0.1
a=recvonly
a=type:broadcast
a=charset:UTF-8
m=video 1234 RTP/AVP 33
b=RR:0
a=rtpmap:33 MP2T/90000

What I have already tried:
1. Just passing IContainer.open the address of my rtp stream. The
result of this was a very broken video output (though the video was in
places recognisable)

2. Setting the container format to "sdp" - for some reason the result
of this was that no video stream could be found. I tried using a few
different IContainer.open methods including passing the sdp file as
just a file name and also as an inputstream.

3. Just passing IContainer.open the address of my .sdp file (without
setting the IContainerFormat to sdp). The result of this was similar
to #1 in that the output video was very broken. It seems that sdp was
correctly detected as the format however as FFMPEG was able to find
the stream from info in the sdp file.

4. Messing around with the sdp file. I have no idea what I'm doing
though and have achieved various different unpredictable and
unreproducable results because I am a bad scientist and don't keep a
log book.

I am using h.264/aac muxed using MPEG-TS (though I am not sure if VLC
is making use of the x264 library or if they have another
implementation)

VLC command:
:sout=#transcode
{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp
{dst=192.168.1.66,port=1234,mux=ts,sdp=file://c:\test.sdp}

(notice vcodec=h264, rather than x264 as I would have expected in
older versions ?)

VLC is able to play the stream back the stream without issue (and
without the sdp file)

Here is what I get from my Xuggler based application:

2009-09-12 12:53:09,031 [main] ERROR org.ffmpeg - [mp1 @ 0x30d51d0]
Header missing
...(lots of these)
2009-09-12 12:53:09,156 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:09,156 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [mp1 @ 0x30d51d0]
Header missing
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [mp1 @ 0x30d51d0]
Header missing
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:09,171 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!
2009-09-12 12:53:09,203 [main] ERROR org.ffmpeg - [mp1 @ 0x30d51d0]
Header missing
...(lots of these)
2009-09-12 12:53:15,640 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
non-existing PPS 0 referenced
2009-09-12 12:53:15,640 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
decode_slice_header error
2009-09-12 12:53:15,640 [main] ERROR org.ffmpeg - [h264 @ 0x30d5980]
no frame!

Any help would be amazing. I'd love to hear from anybody who has got
this working. I've studied the RTP>RTMP example as a starting point
though I can't really see any differences in the way that I take my
RTP input (I'm not actually interested in RTMP for my application).
I'm hoping to get Xuggle to play nice with the FastVDO hardware
encoder once I get this working with VLC so anybodies experiences
there would also be great.

Rave safely,
<a href="http://george-gardiner.org">George Gardiner</a>

Art Clarke

unread,
Sep 12, 2009, 12:02:53 PM9/12/09
to xuggle...@googlegroups.com
Hi George (and everyone else submitting RTP issues):

I'd love to help you with this, but Robert and I recently had to make
some hard choices about which features and bugs we work on, based on
the limited time we have for all the things we need to accomplish.

As a result, although we know there are current RTP issues, we've had
no time to look at them. We make our decisions of features to work on
based on (in order): support-paying customer requests, internal
projects, and community requests. While a small number of people have
consistently expressed a desire to have us work on RTP, the two
reasons we're not working on RTP are: (a) since we launched a
commercial option no support paying customers have been using RTP and
(b) we've been working on a higher-priority (for us) internal project
using Xuggler that doesn't yet use RTP*.

Our pricing model ($800 per org / operating system for a license to
use Xuggler, and $8000 for a year of support) is based on using the
license fee to cover costs of supporting community questions about
existing working features, and using the support revenues to cover
harder support issues and fund ongoing development of features we
otherwise wouldn't be working on right now,. RTP currently falls into
that bucket;

I am aware that there are issues (like the ones you've seen) but we're
unlikely to address these issues until (a) or (b) or (c) changes where
(c) == someone in the community investigates, and submits (i.e.
donates) patches to fix the problem to the project.

Thanks,

- Art

* If you're curious, the internal project extensively uses RTMP, and
that's why we've recently done a complete rework of the Red5
media-server's timestamp handling systems to have Red5 actually work
with live streams.
--
http://www.xuggle.com/
xu‧ggle (zŭ' gl) v. To freely encode, decode, and experience audio and video.

Use Xuggle to get the power of FFmpeg in Java.
Reply all
Reply to author
Forward
0 new messages