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>