4K playback optimization help needed

QwjN1Y9mJvamZJ km212121 at gmail.com
Tue Jan 28 01:31:44 UTC 2020


I tried to do what you told me, but there seems to be some kind of problem.

set GST_TRACERS=latency(flags=element)
set GST_DEBUG=GST_TRACER:8
set GST_DEBUG_FILE=gst.log

pipe A: filesrc loc=4K.mkv ! matroskademux ! h265parse ! avdec_h265 !
d3d11videosink 2>gsterr.log
pipe B: ... nvh265dec ! glimagesink

Both pipes stop (as in program quits) after PREROLL.

gst.log:
"
0:00:00.241287000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracer.c:162:gst_tracer_register:<registry0> update existing feature
0000016FC0E7E3C0 (latency)
0:00:00.241322000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracer.c:162:gst_tracer_register:<registry0> update existing feature
0000016FC0E7E300 (log)
0:00:00.241343000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracer.c:162:gst_tracer_register:<registry0> update existing feature
0000016FC0E7E240 (stats)
0:00:00.241365000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracer.c:162:gst_tracer_register:<registry0> update existing feature
0000016FC0E7E180 (leaks)
0:00:00.241440000 10708 0000016FC2F62F90 TRACE             GST_TRACER
gsttracerrecord.c:111:gst_tracer_record_build_format: latency.class,
src-element-id=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;",
src-element=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;", src=(structure)"scope\,\
type\=\(type\)gchararray\,\ related-to\=\(GstTracerValueScope\)pad\;",
sink-element-id=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;",
sink-element=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;", sink=(structure)"scope\,\
type\=\(type\)gchararray\,\ related-to\=\(GstTracerValueScope\)pad\;",
time=(structure)"value\,\ type\=\(type\)guint64\,\
description\=\(string\)\"time\\\ it\\\ took\\\ for\\\ the\\\ buffer\\\ to\\\
go\\\ from\\\ src\\\ to\\\ sink\\\ ns\"\,\ min\=\(guint64\)0\,\
max\=\(guint64\)18446744073709551615\;", ts=(structure)"value\,\
type\=\(type\)guint64\,\ description\=\(string\)\"ts\\\ when\\\ the\\\
latency\\\ has\\\ been\\\ logged\"\,\ min\=\(guint64\)0\,\
max\=\(guint64\)18446744073709551615\;";
0:00:00.241467000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracerrecord.c:125:gst_tracer_record_build_format: new format string:
latency, src-element-id=(string)%s, src-element=(string)%s, src=(string)%s,
sink-element-id=(string)%s, sink-element=(string)%s, sink=(string)%s,
time=(guint64)%I64u, ts=(guint64)%I64u;
0:00:00.241506000 10708 0000016FC2F62F90 TRACE             GST_TRACER
gsttracerrecord.c:111:gst_tracer_record_build_format: element-latency.class,
element-id=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;", element=(structure)"scope\,\
type\=\(type\)gchararray\,\ related-to\=\(GstTracerValueScope\)element\;",
src=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)pad\;", time=(structure)"value\,\
type\=\(type\)guint64\,\ description\=\(string\)\"time\\\ it\\\ took\\\
for\\\ the\\\ buffer\\\ to\\\ go\\\ from\\\ src\\\ to\\\ sink\\\ ns\"\,\
min\=\(guint64\)0\,\ max\=\(guint64\)18446744073709551615\;",
ts=(structure)"value\,\ type\=\(type\)guint64\,\
description\=\(string\)\"ts\\\ when\\\ the\\\ latency\\\ has\\\ been\\\
logged\"\,\ min\=\(guint64\)0\,\ max\=\(guint64\)18446744073709551615\;";
0:00:00.241529000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracerrecord.c:125:gst_tracer_record_build_format: new format string:
element-latency, element-id=(string)%s, element=(string)%s, src=(string)%s,
time=(guint64)%I64u, ts=(guint64)%I64u;
0:00:00.241570000 10708 0000016FC2F62F90 TRACE             GST_TRACER
gsttracerrecord.c:111:gst_tracer_record_build_format:
element-reported-latency.class, element-id=(structure)"scope\,\
type\=\(type\)gchararray\,\ related-to\=\(GstTracerValueScope\)element\;",
element=(structure)"scope\,\ type\=\(type\)gchararray\,\
related-to\=\(GstTracerValueScope\)element\;", live=(structure)"value\,\
type\=\(type\)gboolean\,\ description\=\(string\)\"wether\\\ the\\\ it\\\
is\\\ a\\\ live\\\ stream\\\ or\\\ not\"\;", min=(structure)"value\,\
type\=\(type\)guint64\,\ description\=\(string\)\"the\\\ minimum\\\
reported\\\ latency\"\,\ min\=\(guint64\)0\,\
max\=\(guint64\)18446744073709551615\;", max=(structure)"value\,\
type\=\(type\)guint64\,\ description\=\(string\)\"the\\\ maximum\\\
reported\\\ latency\"\,\ min\=\(guint64\)0\,\
max\=\(guint64\)18446744073709551615\;", ts=(structure)"value\,\
type\=\(type\)guint64\,\ description\=\(string\)\"ts\\\ when\\\ the\\\
latency\\\ has\\\ been\\\ reported\"\,\ min\=\(guint64\)0\,\
max\=\(guint64\)18446744073709551615\;";
0:00:00.241621000 10708 0000016FC2F62F90 DEBUG             GST_TRACER
gsttracerrecord.c:125:gst_tracer_record_build_format: new format string:
element-reported-latency, element-id=(string)%s, element=(string)%s,
live=(boolean)%i, min=(guint64)%I64u, max=(guint64)%I64u, ts=(guint64)%I64u;
0:00:01.069430000 10708 0000016FC31B3040 TRACE             GST_TRACER :0::
element-latency, element-id=(string)0000016FC0F02880,
element=(string)matroskademux0, src=(string)video_0, time=(guint64)18824000,
ts=(guint64)1069414000;
0:00:01.073533000 10708 0000016FC31B3040 TRACE             GST_TRACER :0::
element-latency, element-id=(string)0000016FC2F816C0,
element=(string)h265parse0, src=(string)src, time=(guint64)4108000,
ts=(guint64)1073522000;
"
gsterr.log:
"
(gst-launch-1.0:14708): GStreamer-CRITICAL **: 10:12:03.801:
gst_object_get_name: assertion 'GST_IS_OBJECT (object)' failed

(gst-launch-1.0:14708): GStreamer-CRITICAL **: 10:12:03.801:
gst_object_get_name: assertion 'GST_IS_OBJECT (object)' failed

(gst-launch-1.0:14708): GStreamer-CRITICAL **: 10:12:03.801:
gst_object_get_name: assertion 'GST_IS_OBJECT (object)' failed

(gst-launch-1.0:14708): GStreamer-CRITICAL **: 10:12:03.801:
gst_object_get_name: assertion 'GST_IS_OBJECT (object)' failed

...
"
same message many more times (56 in total in one case)

I tried variations on how the environment variables are defined, e.g. ""
(GST_DEBUG="GST_TRACER:8" as in the tracing docs), \( as you wrote or just
(, etc.

Also tried GST_TRACERS=latency, in which case the same thing happened
without critical error messages and the debug log missed the last 2 lines.

Also tried erroneous input, e.g. GST_TRACERS=aaaaaa, in which case the
pipeline played, but there was nothing in the log.

Also tried GST_TRACERS=leaks and =stats; both played, and the latter
produced a growing log with data. Can that data be used for something useful
here?




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list