AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.57k stars 1.06k forks source link

LLHLS stream stuck and weird behaviour #1686

Closed antonymarion closed 1 month ago

antonymarion commented 1 month ago

Describe the bug The video is stuck and I can navigate but the video (stream) is stuck on the frame I navigate

To Reproduce Steps to reproduce the behavior:

Open the test player on the llhls stream endpoint.

Expected behavior I can rewind and play

cf llhls

getroot commented 1 month ago

It seems that the problem is not LL-HLS, but the input source is not compatible.

Your Playlist looks like this. The Time related values ​​are very strange. Is the PTS of the input source normal?

#EXTM3U
#EXT-X-VERSION:10
#EXT-X-TARGETDURATION:6
#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=1.500000
#EXT-X-PART-INF:PART-TARGET=0.500000
#EXT-X-MEDIA-SEQUENCE:12549
#EXT-X-MAP:URI="init_0_video_4274540859827647174_llhls.m4s"
#EXT-X-PROGRAM-DATE-TIME:1974-11-10T05:39:35.591+00:00
#EXTINF:4294967.996000,
seg_0_12549_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1974-12-29T22:42:22.887+00:00
#EXTINF:4294969.941000,
seg_0_12550_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-02-17T15:45:10.183+00:00
#EXTINF:4294968.952000,
seg_0_12551_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-04-08T08:47:57.479+00:00
#EXTINF:4294968.490000,
seg_0_12552_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-05-28T01:50:44.775+00:00
#EXTINF:4294968.468000,
seg_0_12553_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-07-16T18:53:32.071+00:00
#EXTINF:4294968.000000,
seg_0_12554_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-09-04T11:56:19.367+00:00
#EXTINF:4294969.451000,
seg_0_12555_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-10-24T04:59:06.663+00:00
#EXT-X-PART:DURATION=4294968.000000,URI="part_0_12556_0_video_4274540859827647174_llhls.m4s"
#EXTINF:4294968.000000,
seg_0_12556_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1975-12-12T22:01:53.959+00:00
#EXT-X-PART:DURATION=0.494000,URI="part_0_12557_0_video_4274540859827647174_llhls.m4s"
#EXT-X-PART:DURATION=0.496000,URI="part_0_12557_1_video_4274540859827647174_llhls.m4s"
#EXT-X-PART:DURATION=0.470000,URI="part_0_12557_2_video_4274540859827647174_llhls.m4s",INDEPENDENT=YES
#EXT-X-PART:DURATION=4294968.000000,URI="part_0_12557_3_video_4274540859827647174_llhls.m4s"
#EXTINF:4294969.460000,
seg_0_12557_video_4274540859827647174_llhls.m4s
#EXT-X-PROGRAM-DATE-TIME:1976-01-31T15:04:41.255+00:00
#EXT-X-PART:DURATION=0.488000,URI="part_0_12558_0_video_4274540859827647174_llhls.m4s"
#EXT-X-PART:DURATION=0.497000,URI="part_0_12558_1_video_4274540859827647174_llhls.m4s"
#EXT-X-PART:DURATION=0.482000,URI="part_0_12558_2_video_4274540859827647174_llhls.m4s"
#EXT-X-PRELOAD-HINT:TYPE=PART,URI="part_0_12558_3_video_4274540859827647174_llhls.m4s"
antonymarion commented 1 month ago

What do you mean by the input source is not compatible ?

I believed ome provide both WEBRTC and LL-HLS output for the player whatever the stream you provide in input.

getroot commented 1 month ago

What is your OME's input source? What program are you using? It's most likely that its PTS is wrong.

antonymarion commented 1 month ago

the input source are video stream from DJI's drones

getroot commented 1 month ago

This is not a problem with the rewind feature, LL-HLS is being published completely wrong. The source timestamp is wrong or something is not compatible with OME. Are DJI's drones broadcasting over RTMP?

antonymarion commented 1 month ago

Yes over RTMP following this documentation: https://sdk-forum.dji.net/hc/en-us/articles/6663305630105-Chapter-6-Live-Streaming

antonymarion commented 1 month ago

What is your OME's input source? What program are you using? It's most likely that its PTS is wrong.

I suppose that DJI's SDK must be using ffmpeg under the hood

dimiden commented 1 month ago

@antonymarion Could you stream the problematic stream to rtmp://rtmp-test.airensoft.com:1935/app/1686 so that we can analyze the exact cause?

antonymarion commented 1 month ago

I can send you the stream for testing/analyzing tommorrow if it's ok for you ?

dimiden commented 1 month ago

@antonymarion Yes, feel free to send it anytime! I'll keep my server running.

antonymarion commented 1 month ago

@dimiden Just to let you know: there was some clown from Russia polluting your github with some fix.zip to download image

antonymarion commented 1 month ago

Tested again today, We changed nothing and it is working; So I close the ticket.

My guess is that is again another bug on DJI's drones. (input stream then).

Maybe when the battery is low the drone is messing everything as we notice that low battery on DJI implies strange behaviours....

thks for your support

dimiden commented 1 month ago

I'm glad to hear it's working well. If the issue recurs, please feel free to reopen this ticket!