How can i show a 2K byte-stream by h264parse

Erickson.LU ericksonlushan at gmail.com
Mon May 21 03:31:45 UTC 2018


Hi,my friends.
I used pipeline stream cam by x264. The server is Tx2 by nvidia, and the
clinet is my ubuntu 16.04
According the log in clinent, i think it's the problem in h264parse, as it
checked the pad in h264parse is width(int)=1920, height=(int)1080. But i set
the size in server is  2304x1296 as the server log and pipline. 

I don't know how to correct this problem. And May the judgement is not
right. Could someone give me some ways to fix that? Thanks...


The server PIPELINE:
GST_DEBUG=4 gst-launch-1.0 --gst-debug="*CAPS*:5" v4l2src device=/dev/video0
! "video/x-raw,format=(string)UYVY, width=(int)2304, height=(int)1296" !
nvvidconv ! "video/x-raw(memory:NVMM), format=(string)I420, width=(int)2304,
height=(int)1296" ! omxh264enc ! rtph264pay mtu=60000 ! udpsink
clients=192.168.1.105:3221 sync=false

I only showed some LOG in server that I think which is important and it's by
ordered :
................................................................................................
0:00:00.773642548  3775       0x635cf0 DEBUG               GST_CAPS
gstutils.c:2847:gst_pad_query_caps:<omxh264enc-omxh264enc0:sink> query
returned video/x-raw(memory:NVMM), width=(int)2304, height=(int)1296,
format=(string)I420, framerate=(fraction)30/1,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
0:00:00.773734452  3775       0x635cf0 FIXME           videoencoder
gstvideoencoder.c:606:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0>
GstVideoEncoder::reset() is deprecated
0:00:00.773844148  3775       0x635cf0 INFO                    task
gsttask.c:451:gst_task_set_lock: setting stream lock 0x61c9b0 on task
0x6885f0
0:00:00.773890195  3775       0x635cf0 INFO                GST_PADS
gstpad.c:5980:gst_pad_start_task:<omxh264enc-omxh264enc0:src> created task
0x6885f0
Framerate set to : 30 at NvxVideoEncoderSetParameter0:00:00.774268626  3775      
0x635cf0 WARN              omxh264enc
gstomxh264enc.c:252:gst_omx_h264_enc_set_format:<omxh264enc-omxh264enc0>
Setting profile/level not supported by component
0:00:00.774359122  3775       0x635cf0 DEBUG               GST_CAPS
gstutils.c:2886:gst_pad_peer_query_caps:<omxh264enc-omxh264enc0:src> get pad
peer caps with filter video/x-h264, width=(int)[ 16, 4096 ], height=(int)[
16, 4096 ], stream-format=(string){ byte-stream, avc }, alignment=(string)au
0:00:00.774428690  3775       0x635cf0 DEBUG               GST_CAPS
gstutils.c:2886:gst_pad_peer_query_caps:<rtph264pay0:src> get pad peer caps
with filter (NULL)
0:00:00.774478610  3775       0x635cf0 DEBUG               GST_CAPS
gstutils.c:2893:gst_pad_peer_query_caps:<rtph264pay0:src> peer query
returned ANY
0:00:00.774550578  3775       0x635cf0 DEBUG               GST_CAPS
gstutils.c:2893:gst_pad_peer_query_caps:<omxh264enc-omxh264enc0:src> peer
query returned video/x-h264, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096
], stream-format=(string)avc, alignment=(string)au; video/x-h264,
width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ],
stream-format=(string)byte-stream, alignment=(string)au
NvMMLiteOpen : Block : BlockType = 4 
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
0:00:00.834446192  3775       0x635cf0 WARN             omxvideoenc
gstomxvideoenc.c:1773:gst_omx_video_enc_set_format:<omxh264enc-omxh264enc0>
Error setting temporal_tradeoff 0 : Vendor specific error (0x00000001)
............................................................................................................
0:00:00.846841263  3775       0x635cf0 WARN          v4l2bufferpool
gstv4l2bufferpool.c:748:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src>
Uncertain or not enough buffers, enabling copy threshold
............................................................................................................
0:00:00.966361900  3775       0x635cf0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps video/x-raw, format=(string)UYVY, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)2:4:7:1, framerate=(fraction)30/1
0:00:00.982455489  3775       0x635cf0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter1:sink> check current pad
caps video/x-raw(memory:NVMM), width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)30/1, format=(string)I420
0:00:00.987412755  3775       0x6358a0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<omxh264enc-omxh264enc0:src> check
current pad caps video/x-h264, alignment=(string)au,
stream-format=(string)avc, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1,
codec_data=(buffer)014240150301000a6742403495a0090028e401000468ce3c80
0:00:00.987578643  3775       0x6358a0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<rtph264pay0:src> check current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, packetization-mode=(string)1,
profile-level-id=(string)424015,
sprop-parameter-sets=(string)"Z0JANJWgCQAo5A\=\=\,aM48gA\=\=",
payload=(int)96, ssrc=(uint)1680708503, timestamp-offset=(uint)2254722524,
seqnum-offset=(uint)23403, a-framerate=(string)30
0:00:00.999470195  3775       0x635cf0 INFO                 v4l2src
gstv4l2src.c:843:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.099999999 out
ts 0:00:00.789449738
0:00:00.999538003  3775       0x635cf0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps video/x-raw, format=(string)UYVY, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)2:4:7:1, framerate=(fraction)30/1
0:00:01.014626250  3775       0x635cf0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter1:sink> check current pad
caps video/x-raw(memory:NVMM), width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
framerate=(fraction)30/1, format=(string)I420
0:00:01.019434109  3775       0x6358a0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<omxh264enc-omxh264enc0:src> check
current pad caps video/x-h264, alignment=(string)au,
stream-format=(string)avc, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1,
codec_data=(buffer)014240150301000a6742403495a0090028e401000468ce3c80
0:00:01.019581789  3775       0x6358a0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<rtph264pay0:src> check current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, packetization-mode=(string)1,
profile-level-id=(string)424015,
sprop-parameter-sets=(string)"Z0JANJWgCQAo5A\=\=\,aM48gA\=\=",
payload=(int)96, ssrc=(uint)1680708503, timestamp-offset=(uint)2254722524,
seqnum-offset=(uint)23403, a-framerate=(string)30
0:00:01.032715513  3775       0x635cf0 INFO                 v4l2src
gstv4l2src.c:843:gst_v4l2src_create:<v4l2src0> sync to 0:00:00.133333332 out
ts 0:00:00.836554674
0:00:01.032781977  3775       0x635cf0 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps video/x-raw, format=(string)UYVY, width=(int)2304, height=(int)1296,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)2:4:7:1, framerate=(fraction)30/1
...........................................................................................................




The clinet PIPELINEļ¼š
GST_DEBUG=4 gst-launch-1.0 --gst-debug="*CAPS*:5" udpsrc port=3221 !
"application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)\"Z0JAMpWgHgCJ+VA\\=\\,aM48gA\\=\\=\",
payload=(int)96" ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
sync=false


Also, I only showed some LOG in client that I think which is important and
it's by ordered :
...........................................................................................................
0:07:53.456695226   803      0x11eb940 WARN                   libav
gstavcodecmap.c:2441:gst_ffmpeg_caps_to_pixfmt: ignoring insane framerate
1/0
0:07:53.461662421   803      0x11eb940 INFO               GST_EVENT
gstevent.c:760:gst_event_new_segment: creating segment event time segment
start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999,
rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000,
base=0:00:00.000000000, position 0:07:53.373663075, duration
99:99:99.999999999
...........................................................................................................
0:07:53.472978598   803      0x11eb940 ERROR                  libav :0::
left block unavailable for requested intra mode at 0 1
0:07:53.473032767   803      0x11eb940 ERROR                  libav :0::
error while decoding MB 0 1
...........................................................................................................
0:07:53.495755143   803      0x11eb940 ERROR                  libav :0:: P
sub_mb_type 7 out of range at 103 14
0:07:53.495790589   803      0x11eb940 ERROR                  libav :0::
error while decoding MB 103 14
0:07:53.521693835   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps (NULL)
0:07:53.521741965   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2672:gst_pad_get_current_caps:<capsfilter0:src> get current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.521767259   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:src> check current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.521829418   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.521856050   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.522652054   803      0x11eb940 ERROR                  libav :0::
left block unavailable for requested intra mode at 0 11
0:07:53.522689273   803      0x11eb940 ERROR                  libav :0::
error while decoding MB 0 11
0:07:53.552636467   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps (NULL)
0:07:53.552700503   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2672:gst_pad_get_current_caps:<capsfilter0:src> get current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.552748180   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:src> check current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.552935199   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.553035854   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.553530059   803      0x11eb940 ERROR                  libav :0::
left block unavailable for requested intra mode at 0 4
0:07:53.553563905   803      0x11eb940 ERROR                  libav :0::
error while decoding MB 0 4
0:07:53.585961100   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:sink> check current pad
caps (NULL)
0:07:53.586001553   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2672:gst_pad_get_current_caps:<capsfilter0:src> get current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.586036205   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<capsfilter0:src> check current pad
caps application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264,
sprop-parameter-sets=(string)"Z0JAMpWgHgCJ+VA\=\,aM48gA\=\=",
payload=(int)96
0:07:53.586103557   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.586159746   803      0x11eb940 DEBUG               GST_CAPS
gstpad.c:2644:gst_pad_has_current_caps:<h264parse0:src> check current pad
caps video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)01424032ffe1000b6742403295a01e0089f95001000468ce3c80,
level=(string)5, profile=(string)constrained-baseline, width=(int)1920,
height=(int)1080, framerate=(fraction)0/1, parsed=(boolean)true
0:07:53.588912255   803      0x11eb940 ERROR                  libav :0:: P
sub_mb_type 6 out of range at 8 31
0:07:53.588951467   803      0x11eb940 ERROR                  libav :0::
error while decoding MB 8 31









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


More information about the gstreamer-devel mailing list