Edward-Wu / srt-live-server

srt live server for low latency
Other
644 stars 192 forks source link

severe artifacts when playing back stream #106

Open boxerab opened 3 years ago

boxerab commented 3 years ago

Sender

gst-launch-1.0 filesrc location=/home/BigBuckBunny_512kb.ts ! mpegvideoparse ! mpegtsmux ! srtsink uri=srt://127.0.0.1:8080/?streamid=uplive.sls.com/live/test

Playback with FFmpeg

ffplay -fflags nobuffer -i srt://127.0.0.1:8080?streamid=live.sls.com/live/test

warnings from ffmpeg:

[mpeg2video @ 0x7fe25c025600] Invalid mb type in I-frame at 2 8/0   
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 12 13
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 2 7
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 3 1
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 1 9
[mpeg2video @ 0x7fe25c025600] Invalid mb type in I-frame at 2 6
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 6 2
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 4 0
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 2 12
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 4 10
[mpeg2video @ 0x7fe25c025600] mb incr damaged
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 1 14
[mpeg2video @ 0x7fe25c025600] skipped MB in I-frame at 1 3
[mpeg2video @ 0x7fe25c025600] Invalid mb type in I-frame at 12 4
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 1 11
[mpeg2video @ 0x7fe25c025600] Warning MVs not available
[mpeg2video @ 0x7fe25c025600] concealing 390 DC, 390 AC, 390 MV errors in I frame
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 5 5q=    0B f=0/0   
[mpeg2video @ 0x7fe25c025600] Invalid mb type in P-frame at 15 14
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 0 13
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 10 3
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 10 4
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 3 9
[mpeg2video @ 0x7fe25c025600] Invalid mb type in P-frame at 11 1
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 10 6
[mpeg2video @ 0x7fe25c025600] Invalid mb type in P-frame at 8 7
[mpeg2video @ 0x7fe25c025600] ac-tex damaged at 8 12
[mpeg2video @ 0x7fe25c025600] mb incr damaged
[mpeg2video @ 0x7fe25c025600] Warning MVs not available
[mpeg2video @ 0x7fe25c025600] concealing 312 DC, 312 AC, 312 MV errors in P frame

Playback with gstreamer

gst-launch-1.0 -v srtsrc uri=srt://127.0.0.1:8080?streamid=live.sls.com/live/test ! tsdemux ! mpegvideoparse ! mpeg2dec ! videoconvert ! autovideosink

Warnings:

0:00:01.476602062 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.476656871 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.476691380 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.476716572 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.476748084 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.476768427 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.519955688 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.519972430 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.558789671 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.558818555 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.602961951 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.603022363 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.603058988 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.603079279 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.603103304 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.603121830 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.643722919 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.643780564 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.685577766 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.685629568 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.727987337 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.728040452 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.728073962 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.728090837 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
0:00:01.728113166 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4686:_gst_video_decoder_error:<mpeg2dec0> error: decoding error
0:00:01.728132301 33640 0x557917d66760 WARN            videodecoder gstvideodecoder.c:4688:_gst_video_decoder_error:<mpeg2dec0> error: Reached libmpeg2 invalid state
boxerab commented 2 years ago

just a polite ping - any ideas on what the problem is here? Alternatively, is there a video file + workflow that is known to allow streaming without artifacts ?

boxerab commented 2 years ago

cc @Edward-Wu

RadegasTCZ commented 6 months ago

Have you tried FFMPEG to push the stream to the server? Might be just bad parameters in Gstreamer. I am not familiar with Gstreamer at all, only using it in OBS as a playback plugin since it doesn't crash OBS while trying to decode a corrupt stream in case of network conditions being too bad.