Decode TS video on jetson nano decoder

I would happy to help, someone send my encoded video in UDP multicast is pipeline:

appsrc name=myVideoAppSrc ! queue ! videoflip method=5 ! videoconvert ! avenc_mpeg2video bitrate=4500000 ! mpegtsmux ! udpsink host=234.0.0.0 port=46002

I want to decode this video using GStreamer and OpenCV on my Nvidia Jetson Nano.

self.pipelineSIM = 'udpsrc port=46002 multicast-group=234.0.0.0 ! ???

I try:

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsdemux ! queue ! mpegvideoparse ! nvv4l2decoder ! fakesink

how to continue my pipeline?

I try this pipeline:

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsdemux ! queue ! mpegvideoparse ! nvv4l2decoder ! fakesink

I would happy to help, someone send my encoded video in UDP multicast is pipeline:

appsrc name=myVideoAppSrc ! queue ! videoflip method=5 ! videoconvert ! avenc_mpeg2video bitrate=4500000 ! mpegtsmux ! udpsink host=234.0.0.0 port=46002

I want to decode this video using GStreamer and OpenCV on my Nvidia Jetson Nano.

self.pipelineSIM = 'udpsrc port=46002 multicast-group=234.0.0.0 ! ???

how to continue my pipeline?

I try this pipeline:

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsdemux ! queue ! mpegvideoparse ! nvv4l2decoder ! fakesink

but I get Error:

NvMMLiteOpen : Block : BlockType = 267
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 267
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse 
Unsupported Codec
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
NVMEDIA: NvMMLiteNVMEDIADecDoWork: 1982: NVMEDIA Video Dec 
Unsupported Stream
[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed: 
0[NvMediaParserParse:357] Video parser parse failed:  
0[NvMediaParserParNVMEDIA: NVMEDIABufferProcessing: 1504: 
NvMediaParserParse Unsupported Codec

In addition I try:

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsparse ! nvv4l2decoder ! fakesink

but I get error that nvv4l2decoder cant take mpegts2 so what I can do?
on please I would be happy to help.

Hi,
Please save the stream to a file:

appsrc name=myVideoAppSrc ! queue ! videoflip method=5 ! videoconvert ! avenc_mpeg2video bitrate=4500000 ! mpegtsmux ! filesink location=a.mpg

And check if hardware decoder can decode it:

$ gst-launch-1.0 filesrc location=a.mpg ! tsdemux ! queue ! mpegvideoparse ! nvv4l2decoder ! nvoverlaysink

If not, please use software decoder.

Thank you I will try, In addition
The video that I get is mpeg ts my question is if the element mpegvideoparse is the correct element that I need to use?

Hi,
It looks correct. We have tried transcoding in the topic:
GStreamer to convert from MPEG2 to MP4 - #7 by DaneLLL

Ok, for some reason I can not successes save a.mpg file, I want to try another decoder, what software decoder I can try use to open mpegts video ?

[quote=“ariel27593, post:6, topic:215418”]
for some reason I can not successes save a.mpg file, I want to try another decoder, what software decoder I can try use to open mpeg?

I try:

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsdemux ! queue ! mpegvideoparse ! omxmpeg2videodec ! fakesink

but I get this error:


nvbuf_utils: Could not get EGL display connection
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.398: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.398: gst_caps_truncate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.398: gst_caps_fixate: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.399: gst_caps_get_structure: assertion 'GST_IS_CAPS (caps)' failed

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.399: gst_structure_get_string: assertion 'structure != NULL' failed

(gst-launch-1.0:13342): GStreamer-CRITICAL **: 15:37:35.399: gst_mini_object_unref: assertion 'mini_object != NULL' failed
NvMMLiteOpen : Block : BlockType = 267
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 267
Allocating new output: 704x576 (x 7), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3605: Send OMX_EventPortSettingsChanged: nFrameWidth = 704, nFrameHeight = 576
ERROR: from element /GstPipeline:pipeline0/GstOMXMPEG2VideoDec-omxmpeg2videodec:omxmpeg2videodec-omxmpeg2videodec0: Could not configure supporting library.
Additional debug info:
/dvs/git/dirty/git-master_linux/3rdparty/gst/gst-omx/omx/gstomxvideodec.c(3019): gst_omx_video_dec_loop (): /GstPipeline:pipeline0/GstOMXMPEG2VideoDec-omxmpeg2videodec:omxmpeg2videodec-omxmpeg2videodec0:
Unable to reconfigure output port
Execution ended after 0:00:01.329015989
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
[NvMediaParserParse:357] Video parser parse failed: 0Setting pipeline to NULL ...
Freeing pipeline ...

I try :

gst-launch-1.0 udpsrc port=46002 multicast-group=234.0.0.0 ! tsdemux ! mpegvideoparse ! mpeg2dec ! fakesink   

and It’s work but I think that mpeg2dec output format is Y42B so I can’t connected with autovideosink element, how can I continue from here?

Hi, I remove the tsmux element such the video stream is only h264 still I can’t decode on nano?

My sender pipeline:

appsrc name=myVideoAppSrc ! queue ! videoflip method=5 ! videoconvert ! avenc_mpeg2video bitrate=4500000 ! udpsink host=234.0.0.0 port=46002

My receive pipeline on Nano:

gst-launch-1.0 udpsrc address=234.0.0.0  port=46002 auto-multicast=true ! 'video/x-h264, stream-format=(string)byte-stream, width=(int)640, height=(int)480, framerate=24/1, profile=(string)main' !  h264parse !  nvv4l2decoder enable-max-performance=1 ! autovideosink

I rely don’t understand what I do worng?

Hi
Please try software decoder: avdec_mpeg2video

My solution is replace both sides sender and Nano
sender side:

appsrc name=myVideoAppSrc ! queue ! videoflip method=5 ! videoconvert ! avenc_mpeg4 bitrate=4500000 ! udpsink host=234.0.0.0 auto-multicast=true port=46002

Nano side:

gst-launch-1.0 udpsrc address=234.0.0.0  port=46002 auto-multicast=true !  queue ! mpeg4videoparse ! nvv4l2decoder enable-max-performance=1 ! autovideosink
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.