Discussion:
[Live-devel] Problem streaming a live H.264 stream to VLC
Matt Schuckmann
2008-10-01 17:54:13 UTC
Permalink
I'm working on prototyping a live H.264 streaming application using the
LiveMedia rtsp/rtp library and the X264 encoder.
I've written my h264Framer class and integrated it into the
testOnDemandRTSPServer and I can successfully stream the data to the
OpenRTSP test application.
However, when I try to open the stream using VLC it only displays the
first frame and nothing more.
If I open the messages window for VLC I see a whole bunch of messages
like these

main warning: late picture skipped (266012)
main warning: late picture skipped (266000)
main warning: late picture skipped (266000)
main warning: late picture skipped (282000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
ffmpeg warning: Unknown NAL code: 0
(***@00B22B60)
ffmpeg warning: Unknown NAL code: 0
(***@00B22B60)
main warning: late picture skipped (316000)
main warning: late picture skipped (250000)
ffmpeg error: more than 5 seconds of late video -> dropping frame
(computer too slow ?)

I'm running both the OnDemandServer and VLC on the same PC so I don't
think that there could be any funny clock skew going on.

I'm kind of at a loss for what's going wrong, but I am pretty new to
this stuff.
I was hoping that somebody out there might know enough about VLC and the
LiveMedia library to give me some clues on what to look for. For
instance does anybody know what the numbers in the late picture skipped
message are, they don't look like time codes to me.


Thanks
Matt S.

PS I tried stream to Quicktime Viewer too and it just wouldn't show
anything, although it did say that it was playing the stream.
Charlie X. Liu
2008-10-01 18:30:07 UTC
Permalink
The latest VLC 0.9.2 sounds more tolerant. Are you with this version?


-----Original Message-----
From: live-devel-***@ns.live555.com
[mailto:live-devel-***@ns.live555.com] On Behalf Of Matt Schuckmann
Sent: Wednesday, October 01, 2008 10:54 AM
To: live-***@ns.live555.com
Subject: [Live-devel] Problem streaming a live H.264 stream to VLC

I'm working on prototyping a live H.264 streaming application using the
LiveMedia rtsp/rtp library and the X264 encoder.
I've written my h264Framer class and integrated it into the
testOnDemandRTSPServer and I can successfully stream the data to the
OpenRTSP test application.
However, when I try to open the stream using VLC it only displays the
first frame and nothing more.
If I open the messages window for VLC I see a whole bunch of messages
like these

main warning: late picture skipped (266012)
main warning: late picture skipped (266000)
main warning: late picture skipped (266000)
main warning: late picture skipped (282000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
ffmpeg warning: Unknown NAL code: 0
(***@00B22B60)
ffmpeg warning: Unknown NAL code: 0
(***@00B22B60)
main warning: late picture skipped (316000)
main warning: late picture skipped (250000)
ffmpeg error: more than 5 seconds of late video -> dropping frame
(computer too slow ?)

I'm running both the OnDemandServer and VLC on the same PC so I don't
think that there could be any funny clock skew going on.

I'm kind of at a loss for what's going wrong, but I am pretty new to
this stuff.
I was hoping that somebody out there might know enough about VLC and the
LiveMedia library to give me some clues on what to look for. For
instance does anybody know what the numbers in the late picture skipped
message are, they don't look like time codes to me.


Thanks
Matt S.

PS I tried stream to Quicktime Viewer too and it just wouldn't show
anything, although it did say that it was playing the stream.
Brett Granger
2008-10-01 19:35:59 UTC
Permalink
The numbers in parentheses are a measure of "how late" the picture was
received relative to when VLC calculated it should be displayed. I
believe the resolution is microseconds, so 250000 is .25 seconds late.
Seems like you might have a problem with your presentation times?
Unfortunately, that's about as much help as I can offer...

Good luck,
--Brett
Post by Matt Schuckmann
I'm working on prototyping a live H.264 streaming application using the
LiveMedia rtsp/rtp library and the X264 encoder.
I've written my h264Framer class and integrated it into the
testOnDemandRTSPServer and I can successfully stream the data to the
OpenRTSP test application.
However, when I try to open the stream using VLC it only displays the
first frame and nothing more.
If I open the messages window for VLC I see a whole bunch of messages
like these
main warning: late picture skipped (266012)
main warning: late picture skipped (266000)
main warning: late picture skipped (266000)
main warning: late picture skipped (282000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
main warning: late picture skipped (250000)
ffmpeg warning: Unknown NAL code: 0
ffmpeg warning: Unknown NAL code: 0
main warning: late picture skipped (316000)
main warning: late picture skipped (250000)
ffmpeg error: more than 5 seconds of late video -> dropping frame
(computer too slow ?)
I'm running both the OnDemandServer and VLC on the same PC so I don't
think that there could be any funny clock skew going on.
I'm kind of at a loss for what's going wrong, but I am pretty new to
this stuff.
I was hoping that somebody out there might know enough about VLC and the
LiveMedia library to give me some clues on what to look for. For
instance does anybody know what the numbers in the late picture skipped
message are, they don't look like time codes to me.
Thanks
Matt S.
PS I tried stream to Quicktime Viewer too and it just wouldn't show
anything, although it did say that it was playing the stream.
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel
Ross Finlayson
2008-10-01 19:44:03 UTC
Permalink
Post by Brett Granger
Seems like you might have a problem with your presentation times?
That's my guess also. Are you setting "fPresentationTime" properly
in your "H264VideoStreamFramer" subclass? (These must be accurate
values, aligned with 'wall clock' time ("gettimeofday()").)


Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
Matt Schuckmann
2008-10-02 17:26:59 UTC
Permalink
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<pre>
Thanks for the input Brett and Charlie, I upgraded my copy of VLC and it did make things better
now it appears to work if I have the server and VLC on the same system (i.e. rtsp://localhost/liveSource)
But if I try to stream across my local network the problem crops up again.

The frame rate on my data is really slow, 5fps, I'm wondering if that is messing VLC up.
I'll try to speed things up to see if that makes a difference, I also try to get more
realistic presentation times, right now I'm just estimating them based on the frame rate I'd like to be producing
not the actual frame rate.

Just out of curiousity how does it know the frame is late?I'm assuming that it is comparing the presentation
times it's receiving against it's own playclock?

Any other suggestions would be helpful.

Matt S.

&gt; The numbers in parentheses are a measure of "how late" the picture was
&gt; received relative to when VLC calculated it should be displayed. I
&gt; believe the resolution is microseconds, so 250000 is .25 seconds late.
&gt; Seems like you might have a problem with your presentation times?
&gt; Unfortunately, that's about as much help as I can offer...

&gt; Good luck,
&gt; --Brett

&gt; Matt Schuckmann wrote:
&gt; &gt;<i> I'm working on prototyping a live H.264 streaming application using the </i>&gt; &gt;<i> LiveMedia rtsp/rtp library and the X264 encoder. </i>&gt;<i> I've written my h264Framer class and integrated it into the </i>&gt;<i> testOnDemandRTSPServer and I can successfully stream the data to the </i>&gt;<i> OpenRTSP test application. </i>&gt;<i> However, when I try to open the stream using VLC it only displays the </i>&gt;<i> first frame and nothing more. </i>&gt;<i> If I open the messages window for VLC I see a whole bunch of messages </i>&gt;<i> like these </i>&gt;<i> </i>&gt;<i> main warning: late picture skipped (266012) </i>&gt;<i> main warning: late picture skipped (266000) </i>&gt;<i> main warning: late picture skipped (266000) </i>&gt;<i> main warning: late picture skipped (282000) </i>&gt;<i> main warning: late picture skipped (250000) </i>&gt;<i> main warning: late picture skipped (250000) </i>&gt;<i> main warning: late picture skipped (250000) </i>&gt;<i> ffmpeg warning: Unknown NAL code: 0 </i>&gt;<i> (<a
href="http://lists.live555.com/mailman/listinfo/live-devel">h264 at 00B22B60</a>) </i>&gt;<i> ffmpeg warning: Unknown NAL code: 0 </i>&gt;<i> (<a
href="http://lists.live555.com/mailman/listinfo/live-devel">h264 at 00B22B60</a>) </i>&gt;<i> main warning: late picture skipped (316000) </i>&gt;<i> main warning: late picture skipped (250000) </i>&gt;<i> ffmpeg error: more than 5 seconds of late video -&gt; dropping frame </i>&gt;<i> (computer too slow ?) </i>&gt;<i> </i>&gt;<i> I'm running both the OnDemandServer and VLC on the same PC so I don't </i>&gt;<i> think that there could be any funny clock skew going on. </i>&gt;<i> </i>&gt;<i> I'm kind of at a loss for what's going wrong, but I am pretty new to </i>&gt;<i> this stuff. </i>&gt;<i> I was hoping that somebody out there might know enough about VLC and the </i>&gt;<i> LiveMedia library to give me some clues on what to look for. For </i>&gt;<i> instance does anybody know what the numbers in the late picture skipped </i>&gt;<i> message are, they don't look like time codes to me. </i>&gt;<i> </i>&gt;<i> </i>&gt;<i> Thanks </i>&gt;<i> Matt S. </i>&gt;<i> </i>&gt;<i> PS I tried stream to Quicktime Viewer too and it just wouldn't show </i>&gt;<i> anything, although it did say that it was playing the stream.
</i></pre>
</body>
</html>
Gbzbz Gbzbz
2008-10-03 08:11:32 UTC
Permalink
Could someone kindly implement a sample 264 streamer class for live555? A 264 NAL clip can be provided without any problem. This way, people can have a good starting point.
Subject: Re: [Live-devel] Problem streaming a live H.264 stream to VLC
Date: Wednesday, October 1, 2008, 7:44 PM
Post by Brett Granger
Seems like you might have a problem with your
presentation times?
That's my guess also. Are you setting
"fPresentationTime" properly
in your "H264VideoStreamFramer" subclass? (These
must be accurate
values, aligned with 'wall clock' time
("gettimeofday()").)
Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
_______________________________________________
live-devel mailing list
http://lists.live555.com/mailman/listinfo/live-devel
Ross Finlayson
2008-10-03 08:32:41 UTC
Permalink
Post by Gbzbz Gbzbz
Could someone kindly implement a sample 264 streamer class for
live555? A 264 NAL clip can be provided without any problem. This
way, people can have a good starting point.
This not as simple as it was for MPEG-2 or MPEG-4 video (where we
already have code for parsing and streaming video files). For H.264,
there appear to be two main difficulties:
1/ Figuring out when a NAL unit ends an 'access unit' (i.e., a
complete video frame), and
2/ Figuring out the proper presentation times for each 'access
unit'. (The presentation times for each NAL unit within the same
'access unit' will be the same.)

For 'live' H.264 data that comes from an encoder, this is usually
straightforward. However, for pre-recorded data that comes from a
file, it's less obvious.


Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
Anoop P.A.
2008-10-03 10:18:11 UTC
Permalink
Hi ,

Is it possible to streamout a file while streaming in ?. I tried to
achive this through using live555 server and openRTSP client.
Unfortunately openTSP saving video with some default name that too
without extension which is necessary for live555 to sream out properly.
Whether editing openRTSP code to save file with extension will help in
streaming in and out???

Thanks
Anoop
Ross Finlayson
2008-10-03 12:59:09 UTC
Permalink
Post by Anoop P.A.
Is it possible to streamout a file while streaming in ?. I tried to
achive this through using live555 server and openRTSP client.
Unfortunately openTSP saving video with some default name that too
without extension which is necessary for live555 to sream out properly.
Whether editing openRTSP code to save file with extension will help in
streaming in and out???
You can do this by having "openRTSP" write a (single) output stream
to 'stdout', and piping this to "testOnDemandRTSPServer" that reads
from 'stdin'. (You will need to modify the "testOnDemandRTSPServer"
code to do this (see
<http://www.live555.com/liveMedia/faq.html#liveInput-unicast>), bnt
you won't need to modify the existing "openRTSP" code.)


Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
Anoop P.A.
2008-10-06 07:44:03 UTC
Permalink
Hi Ross,

Thanks for your response!!!!!!!

But my requirement is to stream in a number of videos from network and
streamout some among them. So there will be number of clients (say
15-20) and one server. Can you suggest a better way to achieve this?
Why you are giving default name for recorded videos using openRTSP??

Thanks
Anoop

-----Original Message-----
From: live-devel-***@ns.live555.com
[mailto:live-devel-***@ns.live555.com] On Behalf Of Ross Finlayson
Sent: Friday, October 03, 2008 6:29 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] streaming in and out same file
Post by Anoop P.A.
Is it possible to streamout a file while streaming in ?. I tried to
achive this through using live555 server and openRTSP client.
Unfortunately openTSP saving video with some default name that too
without extension which is necessary for live555 to sream out properly.
Whether editing openRTSP code to save file with extension will help in
streaming in and out???
You can do this by having "openRTSP" write a (single) output stream
to 'stdout', and piping this to "testOnDemandRTSPServer" that reads
from 'stdin'. (You will need to modify the "testOnDemandRTSPServer"
code to do this (see
<http://www.live555.com/liveMedia/faq.html#liveInput-unicast>), bnt
you won't need to modify the existing "openRTSP" code.)


Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>

Continue reading on narkive:
Loading...