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