Opened 15 months ago
Last modified 15 months ago
#10572 new defect
h265: Total image distortion even on 1% packet loss
Reported by: | Vasily Evseenko | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | h265 |
Cc: | Vasily Evseenko | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
I use rtp as h265 transport and found that even with 1% of packets loss image became totally distorted (static background became gray and only moving parts are shown). It seems that avdec_h265 (based on libav) has a bug because if I use NVidia HW decoder nvh265dec it decode that same stream without any visible artifacts. I've tried to play such file (1% loss) with ffplay and found that the problem is inside ffmpeg.
How to reproduce:
% ffplay h265_0.01_loss.mkv ffplay version 5.1.3-1 Copyright (c) 2003-2022 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14)
If I do the same (1% loss) for h264 codec no such problem occured.
Gstreamer developers redirect me to ffmpeg: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/120#note_2089071
Attachments (2)
Change History (6)
by , 15 months ago
Attachment: | h265_0.01_loss.mkv added |
---|
comment:1 by , 15 months ago
Gstreamer pipeline (for tests):
gst-launch-1.0 videotestsrc is-live=true do-timestamp=true ! 'video/x-raw,width=640,height=480,framerate=30/1,format=I420' ! x265enc tune=zerolatency bitrate=2000 ! rtph265pay mtu=1400 aggregate-mode=zero-latency ! identity drop-probability=0.01 ! queue ! rtph265depay ! h265parse ! avdec_h265 ! videoconvert ! xvimagesink sync=false
follow-up: 3 comment:2 by , 15 months ago
based on libav
libav is gone. There is only ffmpeg now.
nvh265dec
We do have -c:v h264_cuvid for legacy cuvid. In you case:
ffplay.exe -vcodec hevc_cuvid -i h265_0.01_loss.mkv
comment:3 by , 15 months ago
I known about libav so I reproduce the bug using ffplay
Replying to Balling:
based on libav
libav is gone. There is only ffmpeg now.
nvh265dec
Example with NVidia HW decoder was for proof that it is not bug in H265 standard and there are implementations that can decode such stream correctly.
We do have -c:v h264_cuvid for legacy cuvid. In you case:
ffplay.exe -vcodec hevc_cuvid -i h265_0.01_loss.mkv
With "-vcodec hevc_cuvid" and nvidia card stream displayed correctly without gray background
comment:4 by , 15 months ago
With "-vcodec hevc_cuvid" and nvidia card stream displayed correctly without gray background
I did see that, yes
h265 test with with 1% packet loss