找回密码
 注册
关于网站域名变更的通知
查看: 245|回复: 1
打印 上一主题 下一主题

迅为瑞芯微RK3399开发板Debian9多媒体测试之Gstreamer测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-26 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现。本节来总结一下 gstreamer 的常用使用过程。
0 `  e: e6 U" c" H4 C1 F 将配套资料通过 U 盘拷贝到开发板的根目录下,如下图所示。配套资料的路径在“iTOP-3399 开发板/02_iTOP-3399 开发板资料汇总(不含光盘容)/12_iTOP-3399 开发板音视频开发资料/测试资料”
; h# n0 p4 p2 A
- u- X4 k! `' m4 b1.png
& n; z  M: t* {9 V& h
1 B( T2 }+ ~$ L5 Z+ H
  `" N! u+ q) G% V5 C3 o
8 X' I( a3 d" h3 J" v+ @ $ i6 r7 F) L: E& m- `! r
1 gst-inspect-1.0 测试
7 e# ^  P" R2 `% jgst-inspect 可以查看插件或者元素,输入以下命令查看所有元素$ c5 v5 d: A8 \+ Q1 f8 T- a
gst-inspect-1.0# G. {7 |# q  K

9 }' f7 |& I  L2 t: ^+ x2.png
; z3 i% C& c" h
7 `- I3 V$ j3 K  V( E' X' E/ I, [1 C4 _- `

- Y- q3 A( l# E8 P+ m$ B% j9 g ! F+ K  F7 v# D' y# @) p8 u
查看并过滤相关元素,输入以下命令,如下图所示:
- h, \, y" \: x( J' t6 f% H% Z* {& mgst-inspect-1.0 |grep xxxx0 X7 y! N, m3 X( S8 p/ E
; k; ?, T. Y7 t/ w) C
3.png0 M* \  V6 _& t  J

! h& \1 d9 ?, Z) @1 F1 T8 T0 A/ M5 k" _- W' E% h) l' f% l
3 i+ p( k7 `+ O' J7 h

' e: j# N  p, G1 w查看某一个元素,输入以下命令,如下图所示:# B  E0 q5 j/ X. P6 X
gst-inspect-1.0 xxx
% ^$ P  E& v9 ~( S; }5 b$ T5 T4 z; |
) h7 [. _+ N9 s0 e, e9 U4.png; e0 \- F$ k: e! M  k4 O3 J9 }2 v

+ _' u1 o* `* C$ @& t" G* [; ?5 z6 ^; d" c

; x6 o% \3 f, ~0 P( T" S ) q  [' ]+ m, Z4 k5 u) w: H
输入以下命令查看黑名单元素,通常某些插件的依赖库不存在,gstreamer 会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。. N" A, ~+ ?$ D+ v* Z. ?
gst-inspect-1.0 -b
- v! g' r3 a! [* h 9 ^" i6 f. C# ^. j
5.png# U* p' j4 T; u3 C+ C/ D

7 [# c" Z4 V" z1 n0 o6 Q4 d! p/ D
" W( }* ~' S" v$ C  p& R4 O& K, r" T+ n# Z; ]# [# a5 p% N
5 l1 v5 o$ B2 F# U% h2 e
2 播放器工具 gst-play-1.0% w. E# `/ O8 u2 P( _% R
如播放一个视频,输入以下命令:
* e1 [" ^2 S& x7 @gst-play-1.0 /video/1080p_30fps_h265.mp4
/ q& f1 Z! M& y5 g/ i, z# _6 \$ I  F + f7 f* G. q; [" ^6 ]
6.png5 W; Y  w% `5 }" a" P6 v  _0 t7 t

3 o+ ]9 A* w+ R0 s( V; a8 ~. w# q
4 v+ r- `" l+ @8 H- z9 W
  B; m' y* p( ~; ?6 b+ {# o- ? - l6 ^3 i' T; e

- q5 z3 _" A9 V3 K, `% p- A5 }: j 3 gstreamer 日志级别设置' ~3 l% J, y9 e
gst 的日志等级分为 none(0)error(1) warning(2) info(3) debug(4) log(5)。默认 gst 的日志等级为 1,即 error打印,出错时会打印。& U8 b* _# ~" d8 k2 K, V
1)全局日志级别设置- t1 R2 W# a/ w: |( B% n
如果需要更高级别打印,修改环境变量 GST_DEBUG 即可。如需要 warning 级别打印,配置 export
" B( k- j( B& j. s- I6 E, ^ GST_DEBUG=2 ,如图所示
3 C; _$ t) G! \- w9 A0 J+ x3 N: q
& g) F9 R/ y7 }7.png6 V7 n9 [$ Z% |8 n% u7 J9 h& Q
- k' \+ {0 K" l( R
" _, n6 b9 }3 r2 p- ]% j% k

  g' s7 d/ {" J9 U" a0 U& S
+ C3 F. l6 i9 d3 R7 G6 Y 2)某个插件日志级别设置
' ^7 Q2 }2 l9 b: xset GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:37 L# [8 V( |( b! B
即自动插件为 5,所有元素默认为 4,d3dvideosink 元素为 3。, Y* u$ u) n, M
3)日志打印函数. d9 t) t) R* Y3 ?  ?- j
日志打印函数 GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它们就像 printf 一样可以接受一些参数并且它们是使用默认种类的
. u7 y% C/ d% g9 _/ {' R4)日志另存为文件,配置环境变量 GST_DEBUG_FILE=文件路径5 V' r0 u. f! F% _& C
如:Set GST_DEBUG_FILE = C:\\test.log。日志就重定向到 C:\\test.log 文件里。
# P0 w: ]5 h2 K5) GST_REGISTRY_UPDATE 环境变量用来查找插件是否更新,即是否重新扫描去更新 cache 内容,将这个环境变量的值设置成”no”,这样 gstreamer 框架在初始化的时候就不会检查 plugin 的更新,这样可以加速启动。输入以下命令:
: M0 F: k$ S" J# oSet GST_REGISTRY_UPDATE=”no”
+ ?6 @, D- F" w更多内容关注:北京迅为
) u" @. ^9 D3 [6 {0 Z5 M0 g
% t) W2 g: _% A9 i

该用户从未签到

2#
发表于 2022-5-31 13:19 | 只看该作者
讲解的很详细
; L& I1 M( @2 ~. n, F8 k$ c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 18:10 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表