RK3399Linuxsdk开发--gstreamer
Posted 迷途小菜鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399Linuxsdk开发--gstreamer相关的知识,希望对你有一定的参考价值。
1. 采集camera数据,保存为mp4文件
[root@rk3399:/tmp]# gst-launch-1.0 -v v4l2src num-buffers=50 !mpph264enc ! h264parse !mp4mux ! filesink location=videotestsrc.mp4 Setting pipeline to PAUSED ... mpi: mpp version: Without VCS info [ 1584.162068] rk_vcodec: vpu_service_ioctl:1889: error: unknown vpu service ioctl cmd 40086c01 mpp_rt: NOT found ion allocator mpp_rt: found drm allocator Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, format=(string)NV12, colorimetry=(string)1:3:5:1, interlace-mode=(string)progressive h264e_api: h264e_config MPP_ENC_SET_RC_CFG bps 15552000 [14580000 : 16524000] /GstPipeline:pipeline0/GstMppH264Enc:mpph264enc0.GstPad:sink: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fractio[ 1584.229610] rkisp1 ff920000.rkisp1: can not get first iq setting in stream on n)60/1, format=(string)NV12, colorimetry=(string)1:3:5:1, interlace-mode=(string)progressive [ 1585.225257] detect sensor id 3020 /GstPipeline:pipeline0/GstMppH264Enc:mpph264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1 /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1001927640028ac1ad00f0044fcb080000003008000003c478a155001000428ee3cb0 /GstPipeline:pipeline0/GstMP4Mux:mp4mux0.GstQTMuxPad:video_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1, interlace-mode=(string)progressive, colorimetry=(string)1:3:5:1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)high, level=(string)4, codec_data=(buffer)01640028ffe1001927640028ac1ad00f0044fcb080000003008000003c478a155001000428ee3cb0 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 /GstPipeline:pipeline0/GstMP4Mux:mp4mux0.GstPad:src: caps = video/quicktime, variant=(string)iso /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/quicktime, variant=(string)iso mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 mpp_log: Assertion prep->ver_stride == (((prep->height)+(8)-1)&~((8)-1)) failed at h264e_vpu_update_hw_cfg:404 /GstPipeline:pipeline0/GstMP4Mux:mp4mux0.GstPad:src: caps = video/quicktime, variant=(string)iso, streamheader=(buffer)< 000004b86d6f6f760000006c6d76686400000000da29dc64da29dc6a000017700000600c0001000001000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000004077472616b0000005c746b686400000007da29dc64da29dc6a00000001000000000000600c00000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000040000000001000000009000000000024656474730000001c656c737400000000000000010000600c0000000000010000000003426d646961000000206d64686400000000da29dc64da29dc6a000017700000600c55c400000000002d68646c72000000000000000076696465000000000000000000000000566964656f48616e646c657200000002ed6d696e6600000014766d68640000000100000000000000000000002464696e660000001c6472656600000000000000010000000c75726c2000000001000002ad7374626c000000cd737473640000000000000001000000bd6176633100000000000000010000000000000000000000000000000007800438004800000048000000000000000100000000000000000000000000000000000000000000000000000000000000000018ffff000000306176634301640028ffe1001927640028ac1ad00f0044fcb080000003008000003c478a155001000428ee3cb0000000146274727400000000089616050500cc2700000013636f6c726e636c780001000100018000000010706173700000000100000001000000b873747473000000000000001500000001000000f000000001000005a000000001000002d000000001000001e000000001000001e100000003000001e000000001000001e100000006000001e000000001000001e100000005000001e000000001000001e100000006000001e000000001000001e100000004000001e000000001000001e100000006000001e000000001000001e100000006000001e000000001000001e100000001000001e0000000010000006400000014737473730000000000000001000000010000001c737473630000000000000001000000010000003200000001000000dc7374737a0000000000000000000000320002e91100031872000231610001c4d40002052a000260d30002673200025e2500025db700025bae00025dcc00025bd400025e9800025ce700025d7700025c2700025e0b0002608900025bf40002583600025a2e00025835000254d2000256a4000258a80002589b0002590e0001c8ec000187140003853c000480aa000488e300048d1900048ba70004921c0004945000032bcb0002e52e0002631b000267480002661f0002693f000268790002632900026564000264b800026780000268670002663b00026446000000147374636f0000000000000001000000300000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c73740000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c7374 > /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/quicktime, variant=(string)iso, streamheader=(buffer)< 000004b86d6f6f760000006c6d76686400000000da29dc64da29dc6a000017700000600c0001000001000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000004077472616b0000005c746b686400000007da29dc64da29dc6a00000001000000000000600c00000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000040000000001000000009000000000024656474730000001c656c737400000000000000010000600c0000000000010000000003426d646961000000206d64686400000000da29dc64da29dc6a000017700000600c55c400000000002d68646c72000000000000000076696465000000000000000000000000566964656f48616e646c657200000002ed6d696e6600000014766d68640000000100000000000000000000002464696e660000001c6472656600000000000000010000000c75726c2000000001000002ad7374626c000000cd737473640000000000000001000000bd6176633100000000000000010000000000000000000000000000000007800438004800000048000000000000000100000000000000000000000000000000000000000000000000000000000000000018ffff000000306176634301640028ffe1001927640028ac1ad00f0044fcb080000003008000003c478a155001000428ee3cb0000000146274727400000000089616050500cc2700000013636f6c726e636c780001000100018000000010706173700000000100000001000000b873747473000000000000001500000001000000f000000001000005a000000001000002d000000001000001e000000001000001e100000003000001e000000001000001e100000006000001e000000001000001e100000005000001e000000001000001e100000006000001e000000001000001e100000004000001e000000001000001e100000006000001e000000001000001e100000006000001e000000001000001e100000001000001e0000000010000006400000014737473730000000000000001000000010000001c737473630000000000000001000000010000003200000001000000dc7374737a0000000000000000000000320002e91100031872000231610001c4d40002052a000260d30002673200025e2500025db700025bae00025dcc00025bd400025e9800025ce700025d7700025c2700025e0b0002608900025bf40002583600025a2e00025835000254d2000256a4000258a80002589b0002590e0001c8ec000187140003853c000480aa000488e300048d1900048ba70004921c0004945000032bcb0002e52e0002631b000267480002661f0002693f000268790002632900026564000264b800026780000268670002663b00026446000000147374636f0000000000000001000000300000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c73740000003d75647461000000356d657461000000000000002168646c72000000006d686c726d6469720000000000000000000000000000000008696c7374 > Got EOS from element "pipeline0". Execution ended after 0:00:05.993549461 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
以上是关于RK3399Linuxsdk开发--gstreamer的主要内容,如果未能解决你的问题,请参考以下文章
RK3399快速上手 | 03-rockchip rk3399 linux sdk的使用
RK3399驱动开发 | 08 - RK3399显示系统详解(基于RK SDK Linux 4.4.194内核)