matroskademux fails to link pads in some videos if nvh264dec is used
Tamas
km212121 at gmail.com
Thu Mar 12 05:13:06 UTC 2020
Hi,
I bumped into a problem trying to play some mkv files from my collection.
First, I'd like to ask for some help to determine whether this is a
gstreamer issue or not.
Windows 10 x64
gstreamer 1.17 current master; compiled with Cerbero, variants visualstudio,
intelmsdk, nvcodec
The test pipeline "gst-launch-1.0.exe filesrc location=x.mkv ! matroskademux
! h264parse ! nvh264dec ! fakesink" produced this error for the problematic
files:
ERROR: from element
/GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: Internal data stream
error.
Additional debug info:
../gst/matroska/matroska-demux.c(5810): gst_matroska_demux_loop ():
/GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Got context from element 'nvh264dec0': gst.cuda.context=context,
gst.cuda.context=(GstCudaContext)"\(GstCudaContext\)\ cudacontext0",
cuda-device-id=(int)0;
Setting pipeline to PAUSED ...
Got context from element 'nvh264dec0': gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplay\)\ gldisplay0";
WARNING: from element
/GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0: Delayed linking
failed.
Additional debug info:
gst/parse/grammar.y(544): gst_parse_no_more_pads ():
/GstPipeline:pipeline0/GstMatroskaDemux:matroskademux0:
failed delayed linking some pad of GstMatroskaDemux named matroskademux0
to some pad of GstH264Parse named h264parse0
Using avdec_h264 instead of nvh264dec works fine.
A list of caps on matroska source video pad retrieved from debug logs, and
matroska info for the video stream:
#1 FAILED
video/x-h264
level=(string)4.1
profile=(string)progressive-high
codec_data=(buffer)01640829ffe1001967640829acd9805005ba1000000300100000030328f18319a001000668e978232c8b
stream-format=(string)avc
alignment=(string)au
width=(int)1280
height=(int)720
framerate=(fraction)25/1
interlace-mode=(string)progressive
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High at L4.1
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 46 min 1 s
Bit rate : 2 711 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.118
Stream size : 892 MiB (92%)
Writing library : x264 core 157 r2969 d4099dd
Encoding settings : ...
Language : English
Default : Yes
Forced : No
#2 FAILED
video/x-h264
level=(string)4.1
profile=(string)progressive-high
codec_data=(buffer)01640829ffe1001967640829acd9805005ba1000000300100000030328f18319a001000668e978232c8b
stream-format=(string)avc
alignment=(string)au
width=(int)1280
height=(int)720
framerate=(fraction)25/1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High at L4.1
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 22 min 25 s
Bit rate : 3 013 kb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.136
Stream size : 483 MiB (87%)
Writing library : x264 core 157 r2969 d4099dd
Encoding settings : ...
Default : Yes
Forced : No
Color range : Limited
Matrix coefficients : BT.709
#3 OK
video/x-h264
level=(string)4.1
profile=(string)high
codec_data=(buffer)01640029ffe1001c67640029acd98050051b016a040402800000030080000018478c18cd01000668e978232c8b
stream-format=(string)avc
alignment=(string)au
width=(int)1280
height=(int)640
pixel-aspect-ratio=(fraction)1/1
framerate=(fraction)24/1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High at L4.1
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 51 min 30 s
Bit rate : 1 829 kb/s
Width : 1 280 pixels
Height : 640 pixels
Display aspect ratio : 2.000
Frame rate mode : Constant
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.093
Stream size : 674 MiB (70%)
Writing library : x264 core 152 r2851 ba24899
Encoding settings : cabac=1 / ref=5 / deblock=1:-3:-3 /
analyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.15 /
mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 /
deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=20 /
lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 /
bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2
/ b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 /
keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf /
mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 /
ip_ratio=1.40 / aq=1:0.80
Language : English
Default : Yes
Forced : No
Color range : Limited
Matrix coefficients : BT.709
#4 OK (no matroska info)
video/x-h264
level=(string)3.1
profile=(string)high
codec_data=(buffer)0164001fffe100286764001facd9405005bb016a020202800001f480005dc071200016e360000501bdd14600f183196001000568e93b3c8f
stream-format=(string)avc
alignment=(string)au
width=(int)1280
height=(int)720
framerate=(fraction)24000/1001
interlace-mode=(string)progressive
colorimetry=(string)bt709
My impression looking at this is that the "progressive-high" profile might
not be acceptable for the nvcodec filter, but that's just a suspicion. On
the other hand, I don't really know what "progressive-high" means compared
to "high" - looking at the matroska info of video #3, it's not really
different at all from #1 and #2, in particular there's nothing progressive
about the failed ones that #3 doesn't have. So that means this is probably
beyond my understanding of encoding profiles.
I'm hoping the wiser people on this mailing list will tell me if this needs
a fix at all or it's just how things are, and if it needs a fix then is it
in some part of gstreamer?
--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
More information about the gstreamer-devel
mailing list