livekit / egress

Export and record WebRTC sessions and tracks
https://blog.livekit.io/livekit-universal-egress-launch/
Apache License 2.0
168 stars 68 forks source link

H264 on disconnected from client with segment_duration set recoding not working[BUG] #723

Open deepak191093 opened 1 month ago

deepak191093 commented 1 month ago

Describe the bug A clear and concise description of what the bug is. H264 on disconnected from client with segment_duration set recoding not working

Egress Version What version are you running? 1.8.4

Egress Request Post the request here (be sure to remove any PII).

Additional context Add any other context about the problem here. for vp8 and other codec it works fine

Logs Post any relevant logs from the egress service here. 2024-07-12T14:55:28.876Z DEBUG logger/logger.go:284 HealthCheck SendRequest method Called {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:33.923Z DEBUG egress [gst warning] gst_h264_parser_parse_slice_hdr: value for 'slice->slice_qp_delta' not in allowed range. value: 88, range -87-77 {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst-libs/gst/codecparsers/gsth264parser.c:2585"} 2024-07-12T14:55:33.923Z DEBUG egress [gst warning] gst_h264_parser_parse_slice_hdr: error parsing "Slice header" {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst-libs/gst/codecparsers/gsth264parser.c:2619"}

2024-07-12T14:55:33.924Z DEBUG egress [gst warning] gst_pad_query_accept_caps_default: caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 were not compatible with: EMPTY {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:3266", "object": "video_0"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] pre_eventfunc_check: caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 not accepted {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:5819", "object": "video"} 2024-07-12T14:55:33.924Z INFO egress source/sdk.go:455 removing video writer {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:33.924Z DEBUG egress sdk/appwriter.go:203 draining {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "trackID": "TR_VCcoyq66v5r79s", "kind": "video"}

2024-07-12T14:55:33.924Z DEBUG egress [gst warning] gst_pad_query_accept_caps_default: caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 were not compatible with: EMPTY {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:3266", "object": "video_0"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] pre_eventfunc_check: caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 not accepted {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:5819", "object": "video"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] gst_pad_query_accept_caps_default: caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 were not compatible with: EMPTY {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:3266", "object": "video_0"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] pre_eventfunc_check: caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 not accepted {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:5819", "object": "video"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] gst_pad_query_accept_caps_default: caps: video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 were not compatible with: EMPTY {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:3266", "object": "video_0"} 2024-07-12T14:55:33.924Z DEBUG egress [gst warning] pre_eventfunc_check: caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)2, height=(int)2, framerate=(fraction)25/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)baseline, level=(string)3.1, codec_data=(buffer)0142c01fffe200142742c01f898a300a00b74d408080ad878442334000186742c01f0fd91f888884000003000400000300c83c60c9200100066887cb83cb20 not accepted {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../gst/gstpad.c:5819", "object": "video"} 2024-07-12T14:55:33.956Z INFO egress sdk/appwriter.go:243 writer finished {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "trackID": "TR_VCcoyq66v5r79s", "kind": "video", "sampleDuration": "36.333333ms", "avgDrift": "253.039µs", "maxDrift": "953.447µs", "packetLoss": "0.00%"} 2024-07-12T14:55:33.957Z INFO egress pipeline/controller.go:261 Stopping the pipeline {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:33.957Z DEBUG egress pipeline/controller.go:451 sending EOS {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"}

2024-07-12T14:55:33.957Z DEBUG egress [gst warning] gst_base_src_loop: error: Internal data stream error. {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../libs/gst/base/gstbasesrc.c:3175", "object": "app_TR_VCcoyq66v5r79s"} 2024-07-12T14:55:33.957Z DEBUG egress [gst warning] gst_base_src_loop: error: streaming stopped, reason not-negotiated (-4){"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../libs/gst/base/gstbasesrc.c:3175", "object": "app_TR_VCcoyq66v5r79s"} handleMessageError ENTERETD

2024-07-12T14:55:33.957Z DEBUG egress [gst warning] gst_queue_handle_sink_event: error: Internal data stream error. {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../plugins/elements/gstqueue.c:1035", "object": "video_queue"} Stream stoopeed Stream stoopeed waiting 2024-07-12T14:55:33.957Z DEBUG egress [gst warning] gst_queue_handle_sink_event: error: streaming stopped, reason not-negotiated (-4) {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "caller": "../plugins/elements/gstqueue.c:1035", "object": "video_queue"} 2024-07-12T14:55:33.957Z DEBUG egress pipeline/watch.go:211 streaming stopped {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "name": "app_TR_VCcoyq66v5r79s"}

2024-07-12T14:55:33.958Z DEBUG egress gstreamer/state.go:75 pipeline state running -> eos {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"}

2024-07-12T14:55:34.272Z DEBUG logger/logger.go:284 received offer for subscriber {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:38.875Z DEBUG logger/logger.go:284 HealthCheck SendRequest method Called {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:48.876Z DEBUG logger/logger.go:284 HealthCheck SendRequest method Called {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"}

2024-07-12T14:55:53.165Z INFO logger/logger.go:288 Leave room {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "reason": "UNKNOWN_REASON"} 2024-07-12T14:55:53.166Z INFO logger/logger.go:288 Returning from if statement {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:53.166Z INFO logger/logger.go:288 HealthCheckManager: stopping periodic health checks {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:55:53.166Z DEBUG logger/logger.go:284 Connection State has changed msg {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "value": "closed"}

2024-07-12T14:56:03.960Z DEBUG egress gstreamer/state.go:75 pipeline state eos -> stopping {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"}

2024-07-12T14:56:03.963Z DEBUG egress gstreamer/state.go:75 pipeline state stopping -> finished {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:56:03.963Z DEBUG egress pipeline/controller.go:301 closing sinks {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:56:03.963Z DEBUG egress sink/cloud.go:252 CloudSink clean unfinished uploadings. {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "fragment": 0} 2024-07-12T14:56:04.725Z DEBUG egress sink/cloud.go:199 Upload fragment metadata {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK", "file": "testingbug_bug_11_4_00000.mp4"} 2024-07-12T14:56:05.398Z DEBUG egress pipeline/controller.go:515 closing source {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"} 2024-07-12T14:56:05.399Z INFO egress sink/cloud.go:288 CloudSink Cleanup() {"nodeID": "NE_TGmboxK5ZYhs", "handlerID": "EGH_M2wYqAbMj9MP", "clusterID": "", "egressID": "EG_ZzkiqYhMRfUK"}