tsdemux no more pads

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

tsdemux no more pads

Rand Graham
Hello,

I am trying to transcode a video that is using a transport stream container. I can decode the video using one pipeline the success case. When I try to name the demux video I have a failure that says no more pads.

Can someone tell me what is going wrong?

Failure Case:

gst-launch-1.0 -v filesrc location=uhd.trp ! tsdemux name=demux demux.video_0 ! queue ! h265parse ! omxh265dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc profile=8 ! qtmux name=mux ! filesink location=uhd1280x720.mp4

Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingPipeline is PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/GstTSDemux:demux: Delayed linking failed.
Additional debug info:
./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstTSDemux:demux:
failed delayed linking pad  video_0 of GstTSDemux named demux to some pad of GstQueue named queue0
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:demux: Internal data stream error.
Additional debug info:
mpegtsbase.c(1388): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:demux:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstTSDemux:demux.GstPad:video_0031: caps = "NULL"
/GstPipeline:pipeline0/GstTSDemux:demux.GstPad:audio_0034: caps = "NULL"
Freeing pipeline ...

Success Case:
gst-launch-1.0 -v filesrc location=uhd.trp ! tsdemux ! queue ! h265parse ! omxh265dec ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(i[36/1983$
height=(int)720, format=(string)I420' ! omxh264enc profile=8 ! qtmux name=mux ! filesink location=uhd1280x720.mp4

Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and
MjstreamingPipeline is PREROLLING ...
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ width\=\(int\)3840\,\ height$
=\(int\)2160\,\ framerate\=\(fraction\)30000/1001\,\ parsed\=\(boolean\)true\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ profile\=\(string\)main-10\,\ tier\=\(string\)main\,\ level$
=\(string\)5.1"
NvMMLiteOpen : Block : BlockType = 279
TVMR: NvMMLiteTVMRDecBlockOpen: 7580: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 279
/GstPipeline:pipeline0/GstOMXH265Dec-omxh265dec:omxh265dec-omxh265dec0.GstPad:sink: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ wid$
h\=\(int\)3840\,\ height\=\(int\)2160\,\ framerate\=\(fraction\)30000/1001\,\ parsed\=\(boolean\)true\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ profile\=\(string\)main-10\,\ tier$
=\(string\)main\,\ level\=\(string\)5.1"
TVMR: cbBeginSequence: 1166: BeginSequence  3840x2160, bVPR = 0, fFrameRate = 0.000000
TVMR: BitDepthLuma = 10, BitDepthChroma = 10
TVMR: LowCorner Frequency = 345000
TVMR: cbBeginSequence: 1545: DecodeBuffers = 6, pnvsi->eCodec = 10, codec = 9
TVMR: cbBeginSequence: 1606: Display Resolution : (3840x2160)
TVMR: cbBeginSequence: 1607: Display Aspect Ratio : (3840x2160)
TVMR: cbBeginSequence: 1649: ColorFormat : 5
TVMR: cbBeginSequence:1654 ColorSpace = NvColorSpace_YCbCr709_ER
TVMR: cbBeginSequence: 1790: SurfaceLayout = 3
TVMR: cbBeginSequence: 1868: NumOfSurfaces = 10, InteraceStream = 0, InterlaceEnabled = 0, bSecure = 0, MVC = 0 Semiplanar = 1, bReinit = 1, BitDepthForSurface = 8 LumaBitDepth =
0, ChromaBitDepth = 0, ChromaFormat = 5
Allocating new output: 3840x2160 (x 12), ThumbnailMode = 0
/GstPipeline:pipeline0/GstOMXH265Dec-omxh265dec:omxh265dec-omxh265dec0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)NV12\,\ width\=\(int\)3840\,\ height\=\(int\)2160\,\ i$
terlace-mode\=\(string\)progressive\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ chroma-site\=\(string\)mpeg2\,\ colorimetry\=\(string\)bt2020\,\ framerate\=\(fraction\)30000/1001"
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = "video/x-raw\(memory:NVMM\)\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ interlace-mode\=\(string\)progressive\,\ $
ixel-aspect-ratio\=\(fraction\)1/1\,\ framerate\=\(fraction\)30000/1001\,\ format\=\(string\)I420"
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: tsdemux no more pads

Tim Müller
On Mon, 2017-01-16 at 11:44 -0500, Rand Graham wrote:

Hi,

> I am trying to transcode a video that is using a transport stream
> container. I can decode the video using one pipeline the success
> case. When I try to name the demux video I have a failure that says
> no more pads.
>
>
> Can someone tell me what is going wrong?
>
> Failure Case:
>
> gst-launch-1.0 -v filesrc location=uhd.trp ! tsdemux name=demux
> demux.video_0 ! queue ! h265parse ! omxh265dec ! nvvidconv !
> 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,
> format=(string)I420' ! omxh264enc profile=8 ! qtmux name=mux !
> filesink location=uhd1280x720.mp4 
>
>
> WARNING: ...
> failed delayed linking pad  video_0 of GstTSDemux named demux to some
> pad of GstQueue named queue0
>
> ..stream stopped, reason not-linked
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> /GstPipeline:pipeline0/GstTSDemux:demux.GstPad:video_0031: caps =
> "NULL"
> /GstPipeline:pipeline0/GstTSDemux:demux.GstPad:audio_0034: caps =
> "NULL"

You're using a name (video_0) that doesn't exist. The pad names of
demuxers vary from demuxer to demuxer, and might sometimes also differ
from version to version. In this case that first video pad is called
video_0031 as you can see at the end. It's generally best not to
specify pad names unless you have a good reason to do so.

Cheers
 -Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: tsdemux no more pads

Rand Graham
Hi,

Thank you for your reply.

I am trying to follow some examples that nVidia provided and modify them to work with a different container format.

Their example used the qtdemux.

I am naming the pads because I also want to include the audio stream in the resulting file. Based on your reply I am able to transcode the video using video_0031.

However, I am still failing to pass through the audio with the no more pads error. Can you tell me why this pipeline is failing?

gst-launch-1.0 -v filesrc location=uhd.trp ! tsdemux name=demux demux.video_0031 ! queue ! h265parse ! omxh265dec ! nvvidconv ! 'video/x-raw(mem
ory:NVMM), width=(int)1280, height=(int)720, format=(string)I420' ! omxh264enc profile=8 ! qtmux name=mux ! filesink location=uhd1280x720.mp4 demux.audio_0034 ! queue ! aacparse !
 mux.audio_0034
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and
MjstreamingPipeline is PREROLLING ...
WARNING: from element /GstPipeline:pipeline0/GstTSDemux:demux: Delayed linking failed.
Additional debug info:
./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstTSDemux:demux:
failed delayed linking pad  audio_0034 of GstTSDemux named demux to some pad of GstQueue named queue1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = "video/x-h265\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ width\=\(int\)3840\,\ height\
=\(int\)2160\,\ framerate\=\(fraction\)30000/1001\,\ parsed\=\(boolean\)true\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ profile\=\(string\)main-10\,\ tier\=\(string\)main\,\ level\
=\(string\)5.1"
NvMMLiteOpen : Block : BlockType = 279

Thanks,
Rand
________________________________________
From: gstreamer-devel [[hidden email]] On Behalf Of Tim Müller [[hidden email]]
Sent: Monday, January 16, 2017 11:40 AM
To: [hidden email]
Subject: Re: tsdemux no more pads


> /GstPipeline:pipeline0/GstTSDemux:demux.GstPad:video_0031: caps =
> "NULL"
> /GstPipeline:pipeline0/GstTSDemux:demux.GstPad:audio_0034: caps =
> "NULL"

You're using a name (video_0) that doesn't exist. The pad names of
demuxers vary from demuxer to demuxer, and might sometimes also differ
from version to version. In this case that first video pad is called
video_0031 as you can see at the end. It's generally best not to
specify pad names unless you have a good reason to do so.

Cheers
 -Tim
--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel