HLS stream playback is not smooth with 1.11.2 (vlc, ffplay ok)
lucky chou
luckychsj at gmail.com
Wed Mar 15 07:32:14 UTC 2017
Hi,I'm working with 1.11.2, when playing some HLS stream,
obviously can feel the playback is not smooth, it should be drop frame.
----
....
01-01 08:04:00.591 944 5883 W [gstbasesink.c:2901] <basesink> warning: A
lot of buffers are being dropped.
....
01-01 08:04:02.042 944 5881 V [gstvideodecoder.c:3121] <videodecoder>
accepting buffer inside segment: 0:00:02.043000000 0:00:02.084708333 seg
0:00:00.000000000 to 99:99:99.999999999 time 0:00:00.000000000
01-01 08:04:02.042 944 5881 D [gstvideodecoder.c:3155] <videodecoder>
Dropping frame due to QoS. start:0:00:02.043000000
deadline:0:00:02.043000000 earliest_time:0:00:05.011717403
...
----
On Android, just drop frames, the screen gives a slight sense of jitter.
On PC, more serious, after about 45s,video frame freezes/hangs...
Here is one of the HLS stream:
https://drive.google.com/drive/folders/0B8t5E5lSOxhHbU1ERndPN3lFLU0?usp=sharing
Drop frames should not be performance-related,
video specifications are as follows:
------
Duration: 00:03:22.00, start: 567.273000, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv,
bt709), 1200x504, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Metadata:
variant_bitrate : 0
Stream #0:1: Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 44100 Hz,
stereo, fltp
Metadata:
variant_bitrate : 0
------
I extracted the source file audio pts with ffmpeg, the interval between the
two frames are about 4000
ffprobe -show_frames -select_streams a:0 -i
http://10.9.44.131/issures/iqiyi/index.m3u8 > ~/Desktop/audio.info
------
pts diff(PTS(n) - PTS(n-1))
pkt_pts 51057810 4230
pkt_pts 51062040 4140
pkt_pts 51066180 4230
pkt_pts 51070410 4140
pkt_pts 51074550 4140
pkt_pts 51078690 4230
pkt_pts 51082920 4140
pkt_pts 51087060 4230
pkt_pts 51091290 4140
pkt_pts 51095430 4230
pkt_pts 51099660 4140
pkt_pts 51103800 4140
pkt_pts 51107940 4230
pkt_pts 51112170 4140
pkt_pts 51116310 4230
pkt_pts 51120540 4140
pkt_pts 51124680 4230
pkt_pts 51128910 4140
pkt_pts 51133050 4230
pkt_pts 51137280 4140
pkt_pts 51141420 4140
pkt_pts 51145560 4230
pkt_pts 51149790 4140
pkt_pts 51153930 4230
pkt_pts 51158160 4140
pkt_pts 51162300 4230
pkt_pts 51166530 4140
pkt_pts 51170670 4230
pkt_pts 51174900 4140
....
-------
,But gstreamer tsdemux.c gst_ts_demux_record_pts out of the pts is like
this:
-----
01-02 01:18:21.227 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51153930 at offset 152092
01-02 01:18:21.403 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51229170 at offset 217892
<= diff= 51229170-51153930 = 75240
01-02 01:18:21.608 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51287670 at offset 280308
<= diff= 51287670 - 51229170 = 58500
01-02 01:18:21.649 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51316920 at offset 294220
<= diff = 51316920 - 51287670 = 29250
01-02 01:18:21.652 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51321150 at offset 294972
<= 51321150 - 51316920 = 4230
01-02 01:18:21.674 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51333660 at offset 304184
01-02 01:18:21.678 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51337890 at offset 305124
01-02 01:18:21.681 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51342030 at offset 305876
01-02 01:18:21.804 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51404760 at offset 352876
01-02 01:18:21.926 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51463260 at offset 392544
01-02 01:18:21.933 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51467400 at offset 393296
01-02 01:18:21.957 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51471630 at offset 400816
01-02 01:18:21.960 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51475770 at offset 401568
01-02 01:18:21.963 4289 4863 tsdemux.c:1973] <tsdemux> pid 0x0101 raw
pts:51480000 at offset 402320
-----
Vlc and ffplay can smooth play, where is a problem gstreamer?May it be
timestamp related? Or gstreamer can not properly handle EXT-X-DISCONTINUITY?
Plz help me ,thinks.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/HLS-stream-playback-is-not-smooth-with-1-11-2-vlc-ffplay-ok-tp4682224.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list