Page 1 of 1

VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 12 Apr 2013 10:58
by yys
Dear all,

I have a m4e file(mpeg4 elementary stream).
I put it in a folder under Live555 (2012.03.22 windows version)
Then I use QuickTime Player(7.7.1 windows version) to play the m4e via RTSP(TCP)/RTP(UDP) from the Live555.
It works fine.
Then I use VLC(2.0.5 windows version) to play the m4e via RTSP(TCO)/RTP(UDP) from the Live555.
VLC plays only one frame then stalls.
Sometime, 2 seconds after playing a frame, vlc may play another frame, then stalls.

Followings are the messages shown by VLC.
http://pastebin.com/Y20Kyjkw
It is wired that the Buffering is no more than 50% and "Stream buffering done" doen't appear.
I use wireshark to ensure that live555 continues transmitting RTP packets to VLC.
Can anyone shed some light on this problem?
Thank you so much.

YYS

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 16 Apr 2013 15:57
by Sébastien Escudier
Can you post your m4e sample ?

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 19 Apr 2013 07:29
by yys
Hi

http://140.116.164.80/~yu/test/test.m4e
It's about 33MB.
Note that the video is not static.
The texts in the left-up corner of the image will change every second.
Thx

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 21 Apr 2013 10:55
by Sébastien Escudier
The frame rate is incorrect, your file reports 3000 fps...

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 25 Apr 2013 10:08
by yys
Hi,
VLC shows the frame rate is 30000. The numeral 30000 is very weird.
However, QuickTime Player shows the frame rate is 15 fps, which is exactly the frame rate setting of the IPCam which generates my sample video.
Thus, I wonder why VLC can not recognize the frame rate.

According to the spec of m4e(ISO-IEC-14496-2_2001),
The fixed_vop_rate field of my sample file is 0, which means the display time between any two successive VOPs in the display order can be variable.
The vop_time_increment_resolution field of my sample file is 30000, which means one tick is 1/30000 second.
The vop_time_increment filed of most the VOPS in my sample file is about 2000, which means the display time of each VOP is about 2000/30000 = 1/15 second.
It conforms to 15 fps.

In addition, VLC can play the m4e files provided by live555.
http://www.live555.com/liveMedia/public/m4e/
Take the petrov.m4e for example,
its fixed_vop_rate field is 1, which means all the distances between the display time of any two successive VOPs in the display order in the video object layer are constant.
Its vop_time_increment_resolution field is 30, which means one tick is 1/30 second.
The vop_time_increment filed of all the VOPS in petrov.m4e is 1, which means the display time of each VOP is about 1/30 second.
It conforms to 30 fps.

In short, I consider that my sample file conforms to the m4e spec.
I hope to know how to help VLC support the m4e file whose fixed_vop_rate field is 0.
Or can someone tell me how to modify my m4e file so that VLC can ingest it?
Thank you

YYS

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 25 Apr 2013 21:35
by Sébastien Escudier
In your file, the value of the VOP "modulo_time_base" is always 0.
In petrov.m4e , it is 1 once every 30 increments.

Is it an error ? because it seems that the timestamps computed by vlc don't increase correctly because of this.

Re: VLC plays only 1 frame of a rtsp/m4e stream from live555

Posted: 02 May 2013 08:43
by yys
Dear Sébastien Escudier,

I think it is an error.
I deeply appreciate your observation.
It helps me a lot.
Thank you.

YYS