osmf-hls-plugin icon indicating copy to clipboard operation
osmf-hls-plugin copied to clipboard

No PTS in this audio PES packet

Open liquid8d opened this issue 10 years ago • 7 comments

I receive 'No PTS in this audio PES packet' when trying to access the following stream:

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/master.m3u8

Here is the master.m3u8 details:

EXTM3U

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=198000,RESOLUTION=480x270,CODECS="avc1.66.30, mp4a.40.2"

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/index_150_av-p.m3u8?sd=10&rebase=on

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=678000,RESOLUTION=768x432,CODECS="avc1.77.30, mp4a.40.2"

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/index_550_av-p.m3u8?sd=10&rebase=on

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2320000,RESOLUTION=1280x720,CODECS="avc1.77.30, mp4a.40.2"

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/index_2000_av-p.m3u8?sd=10&rebase=on

EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=48000,CODECS="mp4a.40.2"

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/index_150_a-p.m3u8?sd=10&rebase=on

Here is part of one quality specific m3u8:

EXTM3U

EXT-X-TARGETDURATION:10

EXT-X-ALLOW-CACHE:YES

EXT-X-VERSION:3

EXT-X-MEDIA-SEQUENCE:139450279

EXTINF:6.948,

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/segment139450279_2000_av-p.ts?sd=10&rebase=on

EXTINF:10.000,

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/segment139450280_2000_av-p.ts?sd=10&rebase=on

EXTINF:10.000,

http://player.livestream-f.akamaihd.net/i/6388794_1191932_718f2346_1@156550/segment139450281_2000_av-p.ts?sd=10&rebase=on

If you need additional information, please let me know!

liquid8d avatar Mar 11 '14 02:03 liquid8d

Well, it means that streams are not really good. Without PTS data there is no way to synchronize several streams. Please check what happened to PTS data.

dangerden avatar Mar 11 '14 02:03 dangerden

Admittedly, this is a bit over my head. I read a bit about it here: http://dranger.com/ffmpeg/tutorial05.html

How can I verify if PTS data exists in the stream? If it does not exist, how do VLC or ffmpeg play the stream correctly with synchronized audio?

liquid8d avatar Mar 11 '14 03:03 liquid8d

I don't think they do dynamic bitrate switching.

How do you prepare your content? Where it comes from?

On 11 Mar 2014, at 07:14, liquid8d [email protected] wrote:

Admittedly, this is a bit over my head. I read a bit about it here: http://dranger.com/ffmpeg/tutorial05.html

How can I verify if PTS data exists in the stream? If it does not exist, how do VLC or ffmpeg play the stream correctly with synchronized audio?

— Reply to this email directly or view it on GitHub.

dangerden avatar Mar 11 '14 03:03 dangerden

They do handle both handle dynamic bitrate switching (although not always very well for VLC), but I should also mention the same problem occurs if I try playing a specific bitrate m3u8 from the master file.

This is not my stream, but these are the details from ffmpeg: Metadata: broadcasting_app: Livestream Studio 500 operation_system: Windows author : 112881 copyright : description : keywords : rating : title : presetname : Custom creationdate : 2014.03.10-07:59:53 videodevice : avcprofile : 66 avclevel : 31 videokeyframe_frequency: 2 audiodevice : audiochannels : 2 audioinputvolume: 100 streamIdentifier: 5F5C78 Duration: 02:00:31.59, start: 0.000000, bitrate: 2375 kb/s Stream #0:0: Video: h264 (Main), yuv420p, 1280x720, 2048 kb/s, 30.33 fps, 29.97 tbr, 1k tbn, 59.94 tbc Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp, 327 kb/s Stream #0:2: Data: none

liquid8d avatar Mar 11 '14 03:03 liquid8d

Probably we could leave it to the decoder. Maybe it will make your streams work. Missing PTS in an audio stream is a warning that the stream wasn't prepared properly.

dangerden avatar Mar 11 '14 03:03 dangerden

Thanks for the help.. sorry, I actually posted the wrong information (wrong format).. with ffmpeg using m3u8:

[h264 @ 0000000003ecd680] non-existing PPS referenced [h264 @ 0000000003ecd680] non-existing PPS 0 referenced [h264 @ 0000000003ecd680] decode_slice_header error [h264 @ 0000000003ecd680] no frame! [h264 @ 0000000003ecd680] non-existing SPS 0 referenced in buffering period Last message repeated 1 times [h264 @ 00000000051e73a0] non-existing PPS referenced [h264 @ 00000000051e73a0] non-existing PPS 0 referenced [h264 @ 00000000051e73a0] decode_slice_header error [h264 @ 00000000051e73a0] no frame! [h264 @ 00000000051e73a0] non-existing PPS referenced [h264 @ 00000000051e73a0] non-existing PPS 0 referenced [h264 @ 00000000051e73a0] decode_slice_header error [h264 @ 00000000051e73a0] no frame! [h264 @ 00000000051e73a0] non-existing PPS referenced [h264 @ 00000000051e73a0] non-existing PPS 0 referenced [h264 @ 00000000051e73a0] decode_slice_header error [h264 @ 00000000051e73a0] no frame! [h264 @ 00000000051e73a0] non-existing SPS 0 referenced in buffering period Last message repeated 1 times [h264 @ 0000000003f0eb80] non-existing PPS referenced [h264 @ 0000000003f0eb80] non-existing PPS 0 referenced [h264 @ 0000000003f0eb80] decode_slice_header error [h264 @ 0000000003f0eb80] no frame! [h264 @ 0000000003f0eb80] non-existing SPS 0 referenced in buffering period Last message repeated 1 times [h264 @ 00000000049dd500] non-existing SPS 0 referenced in buffering period [h264 @ 00000000051c25c0] non-existing SPS 0 referenced in buffering period [hls,applehttp @ 0000000003e1e140] Estimating duration from bitrate, this may be inaccurate Input #0, hls,applehttp, from 'http://player.livestream-f.akamaihd.net/i/6388794 _1191932_718f2346_1@156550/master.m3u8': Duration: 00:00:00.02, start: 77234.666333, bitrate: 286 kb/s Program 0 Metadata: variant_bitrate : 198000 Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yu v420p, 480x270, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Metadata: variant_bitrate : 198000 Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 22050 Hz, stereo, fltp, 49 kb/s Metadata: variant_bitrate : 198000 Stream #0:2: Data: timed_id3 (ID3 / 0x20334449) Metadata: variant_bitrate : 198000 Program 1 Metadata: variant_bitrate : 678000 Stream #0:3: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 768x432, 29.97 tbr, 90k tbn, 59.94 tbc Metadata: variant_bitrate : 678000 Stream #0:4: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 13 0 kb/s Metadata: variant_bitrate : 678000 Stream #0:5: Data: timed_id3 (ID3 / 0x20334449) Metadata: variant_bitrate : 678000 Program 2 Metadata: variant_bitrate : 2320000 Stream #0:6: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Metadata: variant_bitrate : 2320000 Stream #0:7: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 32 2 kb/s Metadata: variant_bitrate : 2320000 Stream #0:8: Data: timed_id3 (ID3 / 0x20334449) Metadata: variant_bitrate : 2320000 Program 3 Metadata: variant_bitrate : 48000 Stream #0:9: Audio: aac ([15][0][0][0] / 0x000F), 22050 Hz, stereo, fltp, 49 kb/s Metadata: variant_bitrate : 48000 Stream #0:10: Data: timed_id3 (ID3 / 0x20334449) Metadata: variant_bitrate : 48000

I'm not sure if this would help, but here is the information provided after retrieving some of the stream:

[libx264 @ 00000000054005c0] frame I:6 Avg QP:16.09 size: 76148 [libx264 @ 00000000054005c0] frame P:282 Avg QP:20.90 size: 10097 [libx264 @ 00000000054005c0] frame B:612 Avg QP:25.37 size: 1241 [libx264 @ 00000000054005c0] consecutive B-frames: 8.3% 2.2% 2.3% 87.1% [libx264 @ 00000000054005c0] mb I I16..4: 28.3% 42.6% 29.1% [libx264 @ 00000000054005c0] mb P I16..4: 1.3% 1.5% 0.2% P16..4: 26.6% 7.5% 5.1% 0.0% 0.0% skip:57.8% [libx264 @ 00000000054005c0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 27.0% 0.6% 0.1% direct: 0.3% skip:71.9% L0:42.3% L1:55.6% BI: 2.1% [libx264 @ 00000000054005c0] 8x8 transform intra:46.8% inter:55.3% [libx264 @ 00000000054005c0] coded y,uvDC,uvAC intra: 48.2% 46.0% 21.7% inter: 5.3% 5.5% 0.5% [libx264 @ 00000000054005c0] i16 v,h,dc,p: 56% 14% 10% 20% [libx264 @ 00000000054005c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 20% 32% 3% 3% 4% 4% 4% 5% [libx264 @ 00000000054005c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 24% 14% 5% 6% 6% 6% 6% 5% [libx264 @ 00000000054005c0] i8c dc,h,v,p: 39% 20% 31% 11% [libx264 @ 00000000054005c0] Weighted P-Frames: Y:1.1% UV:0.0% [libx264 @ 00000000054005c0] ref P L0: 73.4% 8.4% 14.7% 3.4% 0.1% [libx264 @ 00000000054005c0] ref B L0: 93.8% 5.4% 0.8% [libx264 @ 00000000054005c0] ref B L1: 95.4% 4.6% [libx264 @ 00000000054005c0] kb/s:1082.64

liquid8d avatar Mar 11 '14 04:03 liquid8d

As you may see ffmpeg also refers to missing PPS. We will make a plugin which doesn't check PTS availability and you will check whether it is capable to handle the stream.

dangerden avatar Mar 11 '14 04:03 dangerden