RK3568评估板应用:视频编码、解码、播放-rk3568处理器属于什么档次

RK3568评估板应用:视频编码、解码、播放-rk3568处理器属于什么档次

一、解码器 demo:mpi_dec_test

解 码 器 demo 为 mpi_dec_test 系 列 程 序 , 包 括 使 用 decode_put_packet 和decode_get_frame 接口的单线程 mpi_dec_test,多线程的 mpi_dec_mt_test 以及多实例的 mpi_dec_multi_test。

以 下 以 Buildroot 平 台 上 的 mpi_dec_test 为 例 进 行 使 用 说 明 。 首 先 直 接 运 行mpi_dec_test,输入输出如下:

[root@RK356X:~]# mpi_dec_test mpp[1043]: mpi_dec_utils: usage: mpi_dec_test [options] mpp[1043]: utils: -i input_file input bitstream file mpp[1043]: utils: -o output_file output bitstream file, mpp[1043]: utils: -c ops_file input operation config file mpp[1043]: utils: -w width the width of input bitstream mpp[1043]: utils: -h height the height of input bitstream mpp[1043]: utils: -t type input stream coding type mpp[1043]: utils: -f format output frame format type mpp[1043]: utils: -d debug debug flag mpp[1043]: utils: -x timeout output timeout interval mpp[1043]: utils: -n frame_number max output frame number mpp[1043]: utils: -s instance_nb number of instances mpp[1043]: mpi: mpp coding type support list: mpp[1043]: mpi: type: dec id 0 coding: mpeg2 id 2 mpp[1043]: mpi: type: dec id 0 coding: mpeg4 id 4 mpp[1043]: mpi: type: dec id 0 coding: h.263 id 3 mpp[1043]: mpi: type: dec id 0 coding: h.264/AVC id 7 mpp[1043]: mpi: type: dec id 0 coding: h.265/HEVC id 16777220 mpp[1043]: mpi: type: dec id 0 coding: vp8 id 9 mpp[1043]: mpi: type: dec id 0 coding: VP9 id 10 mpp[1043]: mpi: type: dec id 0 coding: avs+ id 16777221 mpp[1043]: mpi: type: dec id 0 coding: jpeg id 8 mpp[1043]: mpi: type: enc id 1 coding: h.264/AVC id 7 mpp[1043]: mpi: type: enc id 1 coding: jpeg id 8 mpp[1043]: mpi: type: enc id 1 coding: h265 id 16777220 mpp[1043]: mpi: type: enc id 1 coding: vp8 id 9 [root@RK356X:~]#
<

mpi_dec_test 的命令参数中,输入文件(i),码流类型(t)为强制要求的参数,其他参数如输出文件(o),图像宽度(w)图像高度(h),解码帧数(n)等为可选参数,影响不大。

后面的打印显示了 MPP 库支持的 coding 格式,支持 MPEG2/4,H.263/4/5,VP8/9 的解码,id 后的数字为格式对应的-t 项后的参数值。参数值来源于 OMX 的定义,HEVC 和 AVS 的格式参数值与其他的格式参数值区别较大,需要留意。

以/mnt/sdcard/下的 200frames_count.h264 文件解码 10 帧为例,对 demo 和输出进行说明。运行的命令为:

mpi_dec_test -t 7 -i /mnt/sdcard/200frames_count.h264 -n 10

-t 7 表示是 H.264 码流,-i 表示输入文件,-n 10 表示解码 10 帧,如果一切正常,会得到如下的结果:

[root@RK356X:~]# mpi_dec_test -t 7 -i /mnt/sdcard/200frames_count.h264 -n 10 mpp[1051]: mpi_dec_utils: cmd parse result: mpp[1051]: mpi_dec_utils: input file name: /mnt/sdcard/200frames_count.h264 mpp[1051]: mpi_dec_utils: output file name: mpp[1051]: mpi_dec_utils: config file name: mpp[1051]: mpi_dec_utils: width : 0 mpp[1051]: mpi_dec_utils: height : 0 mpp[1051]: mpi_dec_utils: type : 7 mpp[1051]: mpi_dec_utils: debug flag : 0 mpp[1051]: mpi_dec_utils: max frames : 10 mpp[1051]: mpi_dec_test: mpi_dec_test start mpp[1051]: mpi_dec_test: input file size 87402 mpp[1051]: mpp_info: mpp version: 31814aea author: Herman Chen 2021-09-30 [vepu]: Add offset_x offset_y support for vepu mpp[1051]: mpi_dec_test: 0xc04b520 mpi_dec_test decoder test start w 0 h 0 type 7 mpp[1051]: mpp_rt: NOT found ion allocator mpp[1051]: mpp_rt: found drm allocator mpp[1051]: mpi_dec_test: 0xc04b520 decode_get_frame get info changed found mpp[1051]: mpi_dec_test: 0xc04b520 decoder require buffer w:h [640:480] stride [640:480] buf_size 614400 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 0 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 1 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 2 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 3 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 4 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 5 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 6 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 7 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 8 mpp[1051]: mpi_dec_test: 0xc04b520 decode get frame 9 mpp[1051]: mpi_dec_test: 0xc04b520 reach max frame number 10 mpp[1051]: mpi_dec_test: 0xc04b520 input 2 pkt output 11 frm decode 11 frames mpp[1051]: mpi_dec_test: test success max memory 3.52 MB [root@RK356X:~]#
<

打印的信息里包含了 MPP 库的版本信息:

mpp version: 70d330b2 author: Ding Wei           2021-09-23

mpp_rt 的内核分配器检测信息:

mpp[1051]: mpp_rt: NOT found ion allocator mpp[1051]: mpp_rt: found drm allocator

表示没找到 ion 分配器,找到了 drm 分配器。

mpp[1051]: mpi_dec_test: 0x5583b309e0 decode_get_frame get info changed found

为mpi_dec_test 本身的打印,表示发现 MPP 解码器上报了 info change 事件。

mpp[1051]: mpi_dec_test: 0x5583b309e0 decoder require buffer w:h [640:480] stride [640:480] buf_size 614400

为 mpi_dec_test 本身的打印,表示 MPP 解码器请求的图像内存情况。

mpp[11051]: mpi_dec_test: 0x5583b309e0 decode get frame 0

为 mpi_dec_test 本身打印,表示解码器在正常解码和输出图像。

mpp[1051]: mpi_dec_test: test success max memory 3.52 MB

为 mpi_dec_test 本身打印,表示解码器完成了解码 10 帧的功能。

解码器的 demo 代码具体参见 test/mpi_dec_test.c。

二、编码器 demo:mpi_enc_test

编码器 demo 为 mpi_enc_test 系列程序,包括单线程的 mpi_enc_test,及多实例的mpi_enc_multi_test。

以 下 以 Buildroot 平 台 上 的 mpi_enc_test 为 例 进 行 使 用 说 明 。 首 先 直 接 运 行mpi_enc_test,输出如下:

[root@RK356X:~]# mpi_enc_test mpp[1055]: mpi_enc_utils: usage: mpi_enc_test [options] mpp[1055]: utils: -i input_file input bitstream file mpp[1055]: utils: -o output_file output bitstream file, mpp[1055]: utils: -w width the width of input picture mpp[1055]: utils: -h height the height of input picture mpp[1055]: utils: -f format the format of input picture mpp[1055]: utils: -t type output stream coding type mpp[1055]: utils: -n max frame number max encoding frame number mpp[1055]: utils: -g gop_mode gop reference mode mpp[1055]: utils: -d debug debug flag mpp[1055]: utils: -b bps target:min:max set tareget bps mpp[1055]: utils: -r in/output fps set input and output frame rate mpp[1055]: utils: -l loop count loop encoding times for each frame mpp[1055]: mpi: mpp coding type support list: mpp[1055]: mpi: type: dec id 0 coding: mpeg2 id 2 mpp[1055]: mpi: type: dec id 0 coding: mpeg4 id 4 mpp[1055]: mpi: type: dec id 0 coding: h.263 id 3 mpp[1055]: mpi: type: dec id 0 coding: h.264/AVC id 7 mpp[1055]: mpi: type: dec id 0 coding: h.265/HEVC id 16777220 mpp[1055]: mpi: type: dec id 0 coding: vp8 id 9 mpp[1055]: mpi: type: dec id 0 coding: VP9 id 10 mpp[1055]: mpi: type: dec id 0 coding: avs+ id 16777221 mpp[1055]: mpi: type: dec id 0 coding: jpeg id 8 mpp[1055]: mpi: type: enc id 1 coding: h.264/AVC id 7 mpp[1055]: mpi: type: enc id 1 coding: jpeg id 8 mpp[1055]: mpi: type: enc id 1 coding: h265 id 16777220 mpp[1055]: mpi: type: enc id 1 coding: vp8 id 9 mpp[1055]: mpi: mpp color support list: mpp[1055]: mpi: color: id 0 0x00000 YUV420SP, NV12 mpp[1055]: mpi: color: id 1 0x00001 YUV420SP-10bit mpp[1055]: mpi: color: id 2 0x00002 YUV422SP, NV24 mpp[1055]: mpi: color: id 3 0x00003 YUV422SP-10bit mpp[1055]: mpi: color: id 4 0x00004 YUV420P, I420 mpp[1055]: mpi: color: id 5 0x00005 YUV420SP, NV21 mpp[1055]: mpi: color: id 6 0x00006 YUV422P, 422P mpp[1055]: mpi: color: id 7 0x00007 YUV422SP, NV42 mpp[1055]: mpi: color: id 8 0x00008 YUV422-YUYV, YUY2 mpp[1055]: mpi: color: id 10 0x0000a YUV422-UYVY, UYVY mpp[1055]: mpi: color: id 12 0x0000c YUV400-Y8, Y800 mpp[1055]: mpi: color: id 65536 0x10000 RGB565 mpp[1055]: mpi: color: id 65537 0x10001 BGR565 mpp[1055]: mpi: color: id 65538 0x10002 RGB555 mpp[1055]: mpi: color: id 65539 0x10003 BGR555 mpp[1055]: mpi: color: id 65542 0x10006 RGB888 mpp[1055]: mpi: color: id 65543 0x10007 BGR888 mpp[1055]: mpi: color: id 65546 0x1000a ARGB8888 mpp[1055]: mpi: color: id 65547 0x1000b ABGR8888 mpp[1055]: mpi: color: id 65548 0x1000c BGRA8888 mpp[1055]: mpi: color: id 65549 0x1000d RGBA8888 [root@RK356X:~]#
<

mpi_enc_test 的命令参数中,图像宽度(w)图像高度(h),码流类型(t)为强制要求参数,其他参数如输入文件(i),输出文件(o),编码帧数(n)等为可选参数。如果没有指定输入文件,mpi_enc_test 会生成默认彩条图像进行编码。

以编码/mnt/sdcard 下的 soccer_720x480_30fps.yuv 文件 10 帧为例,对 demo 和输出进行说明。运行的命 令为:

mpi_enc_test -w 640 -h 480 -t 7 \ -i /mnt/sdcard/ir.yuv \ -o /mnt/sdcard/out.h264 -n 10

然后使用 ls –l 查看输出的码流文件:

[root@RK356X:~]# mpi_enc_test -w 640 -h 480 -t 7 -i /mnt/sdcard/ir.yuv -o /mnt/sdcard/out.h264 -n 10 mpp[1079]: mpi_enc_utils: cmd parse result: mpp[1079]: mpi_enc_utils: input file name: /mnt/sdcard/ir.yuv mpp[1079]: mpi_enc_utils: output file name: /mnt/sdcard/out.h264 mpp[1079]: mpi_enc_utils: width : 640 mpp[1079]: mpi_enc_utils: height : 480 mpp[1079]: mpi_enc_utils: format : 0 mpp[1079]: mpi_enc_utils: type : 7 mpp[1079]: mpi_enc_test: mpi_enc_test start mpp[1079]: mpp_rt: NOT found ion allocator mpp[1079]: mpp_rt: found drm allocator mpp[1079]: mpp_info: mpp version: 31814aea author: Herman Chen 2021-09-30 [vepu]: Add offset_x offset_y support for vepu mpp[1079]: mpi_enc_test: 0x19509440 mpi_enc_test encoder test start w 640 h 480 type 7 mpp[1079]: mpp_enc: MPP_ENC_SET_RC_CFG bps 1152000 [72000 : 1224000] fps [30:30] gop 60 mpp[1079]: h264e_api_v2: MPP_ENC_SET_PREP_CFG w:h [640:480] stride [640:480] mpp[1079]: mpp_enc: send header for set cfg change input/format mpp[1079]: mpp_enc: mode vbr bps [72000:1152000:1224000] fps fix [30/1] -> fix [30/1] gop i [60] v [0] mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 0 size 65497 qp 29 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 1 size 22195 qp 41 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 2 size 122 qp 31 mpp[1079]: mpi_enc_test: 0x19509440 loop times 1 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 3 size 25087 qp 42 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 4 size 6970 qp 50 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 5 size 122 qp 37 mpp[1079]: mpi_enc_test: 0x19509440 loop times 2 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 6 size 18336 qp 47 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 7 size 6485 qp 50 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 8 size 123 qp 41 mpp[1079]: mpi_enc_test: 0x19509440 loop times 3 mpp[1079]: mpi_enc_test: 0x19509440 encoded frame 9 size 16033 qp 49 mpp[1079]: mpi_enc_test: 0x19509440 encode max 10 frames mpp[1079]: mpi_enc_test: 0x19509440 mpi_enc_test success total frame 10 bps 3863280 [root@RK356X:~]#
<

库以及环境相关的 log 同 mpi_dec_test。

mpp[1079]: mpp_enc: MPP_ENC_SET_RC_CFG bps 1152000 [72000 : 1224000] fps [30:30] gop 60

编码器的码率控制参数配置,目标比特率为 1.2Mbps。

mpp[1079]: mpi_enc_test: 0x55a4f128c0 encoded frame 0 size 65498 qp 29

编码器运行编码一帧,以及输出的一帧码流大小情况。

mpp[1079]: mpi_enc_test: 0x55a4f128c0 mpi_enc_test success total frame 10 bps 3863304

编码器完成了 10 帧的编码,这 10 帧的码率为 3.9Mbps。注,这里编码不足 30帧,码率有偏差,如果编码 30 帧,实际码率为 1.3Mbps。

编码器的 demo 具体代码参见 test/mpi_enc_test.c 。目前编码器 demo 使用的是 enqueue/dequeue 接口模式,后续会进行修改。

三、MPP 实用工具

MPP 提供了一些单元测试用的工具程序,这种程序可以对软硬件平台以及 MPP 库本身进行测试:

mpp_info_test

用于读取和打印 MPP 库的版本信息,在反馈问题时,可以把打印出来信息附上。

[root@RK356X:~]# mpp_info_test mpp[1082]: mpp_info_test: normal version log: mpp[1082]: mpp_info: mpp version: 31814aea author: Herman Chen 2021-09-30 [vepu]: Add offset_x offset_y support for vepu mpp[1082]: mpp_info_test: history version log: mpp[1082]: mpp_info: mpp version history 10: mpp[1082]: mpp_info: 31814aea author: Herman Chen 2021-09-30 [vepu]: Add offset_x offset_y support for vepu (HEAD, m/linux) mpp[1082]: mpp_info: 70d330b2 author: Ding Wei 2021-09-23 [vproc]: missing set mode, when 2 in 1 out case mpp[1082]: mpp_info: 6cc2ef5f author: Herman Chen 2021-09-17 [mpp_list]: Add list_mode and list_move_tail mpp[1082]: mpp_info: c5cd650f author: Herman Chen 2021-09-17 [mpi]: Add start / stop / pause / resume ctrl cmd mpp[1082]: mpp_info: db487e5d author: Herman Chen 2021-09-17 [mpp_dec]: Add MPP_DEC_GET_CFG cmd implement mpp[1082]: mpp_info: 8aa7415f author: Yandong Lin 2021-09-17 [hal_h264d]: Add h264d hw_type config implement mpp[1082]: mpp_info: 3364f770 author: Johnson Ding 2021-09-17 [vepu541]: Fix hfill and wfill config mpp[1082]: mpp_info: 43620922 author: Herman Chen 2021-09-15 [mpp]: Add jpeg hw_type config implement mpp[1082]: mpp_info: 6eac8bf4 author: Herman Chen 2021-09-15 [mpp_dec_cfg]: Add type, coding and hw_type config mpp[1082]: mpp_info: baf1efa9 author: Yandong Lin 2021-09-14 [mpp_dec_vproc]: fix err frame output issue [root@RK356X:~]#
<
四、gst-play 视频播放

单窗口视频播放:

gst-play-1.0 /mnt/sdcard/SampleVideo_1280x720_5mb.mp4

多窗口视频播放: 先找到多窗口的脚本再执行:

cd rockchip_test/video/ sh test_gst_multivideo.sh test #pro,有可能名称不是这个,可能是 test_multivideo.sh killall videowidget etc/init.d/S50launcher stop etc/init.d/S50launcher start五、qplayer 编译

编译之前执行命令:

~/rk3568/rk356x_linux_release$ source envsetup.sh … Which would you like? [0]: 69

编译 qplayer:

~/rk3568/rk356x_linux_release$ make qplayer umask 0022 && make -C /home/rk3568/rk356x_linux_release/buildroot O=/home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568 qplayer /usr/bin/make -j1 O=/home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568 HOSTCC=”/usr/bin/gcc” HOSTCXX=”/usr/bin/g++” silentoldconfig GEN /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/Makefile

重新编译 qplayer:

~/rk3568/rk356x_linux_release$ make qplayer-rebuild umask 0022 && make -C /home/rk3568/rk356x_linux_release/buildroot O=/home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568 qplayer-rebuild rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ rsynced rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ staging_installed rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ target_installed rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ images_installed rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ host_installed touch /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ built || true rm -f /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/.stamp_ built >>> qplayer 1.0 Syncing from source dir /home/rk3568/rk356x_linux_release/buildroot/../app/qplayer rsync -au –chmod=u=rwX,go=rX –exclude .svn –exclude .git –exclude .hg –exclude .bzr –exclude CVS /home/rk3568/rk356x_linux_release/buildroot/../app/qplayer/ /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0 M qplayer.cpp WARN: /home/rk3568/rk356x_linux_release/buildroot/../app/qplayer is dirty! >>> qplayer 1.0 Building PATH=”/home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/host/bin:/home/rk35 68/rk356x_linux_release/buildroot/output/rockchip_rk3568/host/sbin:/home/.local/bin:/usr/loc al/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin” /usr/bin/make -j9 -C /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0 make[2]: Nothing to be done for first. >>> qplayer 1.0 Installing to target mkdir -p /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/target/usr/share/applicat ions /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/target/usr/share/icon /usr/bin/install -D -m 0644 /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/icon_pl ayer.png /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/target/usr/share/icon/ /usr/bin/install -D -m 0755 /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/qplayer /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/target/usr/bin/ /usr/bin/install -D -m 0755 /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0/qplayer. desktop /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/target/usr/share/applicat ions/
<

 删除 qplayer:

~/rk3568/rk356x_linux_release$ make qplayer-dirclean umask 0022 && make -C /home/rk3568/rk356x_linux_release/buildroot O=/home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568 qplayer-dirclean rm -Rf /home/rk3568/rk356x_linux_release/buildroot/output/rockchip_rk3568/build/qplayer-1.0

Buildroot 固 件 已 经 默 认 安 装 了 qplayer , 播 放 器 默 认 播 放/oem/SampleVideo_1280x720_5mb.mp4 文件,可以从/mnt/sdcard 里面拷贝到/oem 目录下:

cp /mnt/sdcard/SampleVideo_1280x720_5mb.mp4 /oem/

在桌面上点击 qplayer 图标即可运行,在桌面上也可点击 multivideoplayer 图标运行。

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处: RK3568评估板应用:视频编码、解码、播放-rk3568处理器属于什么档次 https://www.yhzz.com.cn/a/9784.html

0
降压DC-DC装换器CS5515R特性及封装-降压式DC/DC变换器电路 输入电压为50V
上一篇 2023-04-20
超低功耗CSM2433射频芯片2.4G+125K+MCU的PKE人员定位进出考勤门禁芯片方案-超低功耗运放
下一篇 2023-04-20

相关推荐

  • 北京君正:可穿戴设备低功耗是核心-北京君正股票 2023-04-21
  • 3516的helloworld 2023-04-20
  • 一文读懂汽车企业造“芯”的背后逻辑 2023-05-11
  • 《探索硬件PCB设计的奇妙世界:必读的书籍推荐》 2023-12-20
  • 边缘网络对速度有何要求? 2023-05-12
  • 华为拆除5G基站发现它对美国制造零部件的依赖 2023-05-12
  • 波峰焊接-波峰焊接的工作原理是什么 2023-04-06
  • 深入探究几层PCB,解读其意义与用途 2023-12-21
  • AEC-Q200小知识 2023-05-22
  • arm移植NTP(同步嵌入式linux系统时间) 2023-06-08

热门推荐

  • 技术 | PCB基础知识-pcb技术及应用
    848

    技术 | PCB基础知识-pcb技术及应用

  • PCB常见专业术语含英文,你一定要懂!-pcb的英文全称

    678
  • 电子烟行业常用英语表达-电子烟的英语怎么写

    556
  • BOM表:产品生命周期管理的关键工具

    489
  • 详解set_clock_gating_style命令-set_clock_gating_check

    475
  • pcba是什么意思啊

    pcba是什么意思啊

    473
  • 单向阀:探究其原理、应用和优势(单向阀)

    468
  • LC低通滤波器原理及设计方法-lc低通滤波器频率特性

    LC低通滤波器原理及设计方法-lc低通滤波器频率特性

    456
  • ADS基本操作之DC仿真

    ADS基本操作之DC仿真

    431
  • CS5092S高耐压,5V输入,0.85A充电电流,双节锂电升压充电管理电路-usb升压充电二节锂电怎么接

    426

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。

玻璃钢生产厂家广州玻璃钢商场美陈玻璃钢艺术造型玻璃钢雕塑价格上海做玻璃钢花盆的宿州园林玻璃钢雕塑厂家宁波人物玻璃钢雕塑安徽主题公园玻璃钢美陈雕塑现代玻璃钢卡通雕塑需要几天辽源玻璃钢雕塑施工山东玻璃钢动物雕塑艺术小品翼城玻璃钢花盆花器商场针织品美陈图片大全江西玻璃钢卡通雕塑熊兰州玻璃钢动物雕塑定制济源玻璃钢雕塑商场美陈psd济南仿铜玻璃钢雕塑定做美陈创意商场玻璃钢雕塑报价明细表钢雕塑宝山区专业玻璃钢雕塑多少钱供应信誉好的玻璃钢花盆批发温州耐高温玻璃钢花盆深圳玻璃钢雕塑设计公司亳州人物玻璃钢雕塑价格湖北玻璃钢浮雕不锈钢雕塑小品晋城公园水景玻璃钢雕塑佛山玻璃钢透光雕塑公司惠州玻璃钢雕塑费用玻璃钢羽毛雕塑欧式玻璃钢雕塑厂家现货招远玻璃钢胸像雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化