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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现。本节来总结一下 gstreamer 的常用使用过程。" y0 R/ z  {" X2 H$ M( S1 o
将配套资料通过 U 盘拷贝到开发板的根目录下,如下图所示。配套资料的路径在“iTOP-3399 开发板/02_iTOP-3399 开发板资料汇总(不含光盘容)/12_iTOP-3399 开发板音视频开发资料/测试资料”
+ I' U9 ]( T) f! o( h; c
4 n1 J' E" Z! Z" ]! y1.png
" J7 [( g9 Z+ Y9 o$ Y# v' Y3 p3 _" I; Q; b# J4 M- G

7 m) E8 `: r4 r6 Y7 E; \- r# S+ ^: j) H+ i- \3 O
2 H  E# j% R; F
1 gst-inspect-1.0 测试
  [9 T: z* D4 d5 Z9 A& C* xgst-inspect 可以查看插件或者元素,输入以下命令查看所有元素' R  H6 B0 s/ h- [4 U8 \
gst-inspect-1.0
/ w1 J# [( ^" a& m# J. I% e& ?" M/ i ' A0 L5 _; H7 Q5 a3 Q; S, v& B
2.png! z. z' f7 k( k7 S% I, L
. |) i! {7 |% y( V) s; d' A4 I4 q9 s, _
: Y9 H4 f7 c) m! Y  z% \

3 [, ~. i$ f, `+ r/ H& z
7 G3 a6 f/ |% v' }/ i查看并过滤相关元素,输入以下命令,如下图所示:7 b( D( F. T# c* j
gst-inspect-1.0 |grep xxxx
0 U6 ^' ^/ R2 a# E# H7 B3 J# }$ b ( ~+ s$ S4 |6 q0 G
3.png% e  _& N; ^; z3 l3 ^" z
' m  v$ x, L5 W. G* W% v0 ]6 ^5 B

1 D6 W; h- Z* F; e) v
0 [3 U  ?* P$ M% P$ W% K+ Z( J
6 Q2 f2 N4 J. m# B9 U: a查看某一个元素,输入以下命令,如下图所示:9 {9 ~  Z: K5 Y* A: F- c0 \
gst-inspect-1.0 xxx! E7 Z% f1 B7 _' S4 z* a
  B8 ?3 B8 x  b; H4 ]9 Z4 Q
4.png% {. N( e% ^! L* W0 K

5 u! V  _1 X1 [9 I  ]. t+ D9 w! p2 R+ N% v) a1 ~1 k7 g

/ C$ z( [6 I% D+ k5 R
; q& N$ b6 ^$ |1 D& J输入以下命令查看黑名单元素,通常某些插件的依赖库不存在,gstreamer 会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。
. A; P2 E# @, |, [, l) r6 P+ kgst-inspect-1.0 -b; F! e* L1 T2 {4 T2 C* O$ X

  L3 }% {( m" w1 ]0 U3 d3 B9 g5.png
! R& I8 `# u: Y( E/ P! P4 B5 u% T, L' g3 ]
/ C! M* A% Z5 f! }/ ^5 v9 [
1 Z2 g8 }' A% S, M4 C+ |
% a+ Q6 }  \1 V$ e6 U  Z, U1 ]% J
2 播放器工具 gst-play-1.0) e3 g& @; t1 k
如播放一个视频,输入以下命令:4 _' f7 Y* J1 R0 c9 P/ g9 r
gst-play-1.0 /video/1080p_30fps_h265.mp4
' w" l/ i" \! \& E8 p9 Q
5 s8 ~' ?& j/ F9 i5 @! B7 b& ]' H+ x6.png
; m$ |( W4 W% H! [" M
2 P2 @3 U6 b. W
7 A9 c& t+ p/ Y9 R' c3 |# s
# g! j1 K# J7 X4 `7 i6 H6 F
- c8 \# R4 `# q. s5 z
/ W1 d# p" |$ S6 u# _' e$ t 3 gstreamer 日志级别设置3 s' f- K/ g- W% `
gst 的日志等级分为 none(0)error(1) warning(2) info(3) debug(4) log(5)。默认 gst 的日志等级为 1,即 error打印,出错时会打印。" @+ D2 e6 j* c4 Q3 C% U
1)全局日志级别设置; G2 Q5 |. I2 M" Z/ i+ K
如果需要更高级别打印,修改环境变量 GST_DEBUG 即可。如需要 warning 级别打印,配置 export
& H* d8 ^( u- L8 L5 v GST_DEBUG=2 ,如图所示
+ t: N* I* ^$ H1 [4 g ' h/ x( N, [9 T2 }1 k
7.png% R7 \5 S9 J  a5 C6 t# o9 Q
/ C$ Q4 w2 \. V# @
, S# w0 N4 R: y  h* t

5 r& [. x' x) C2 |& z8 \, ^2 p
  O( l" o3 {; d2 f 2)某个插件日志级别设置
6 K' w. H: c( R6 e8 Z& Iset GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3
1 U$ U, z' i" H9 m# U2 d/ F即自动插件为 5,所有元素默认为 4,d3dvideosink 元素为 3。
" W* s" T3 |# h3)日志打印函数$ P+ n2 y& X/ m' o
日志打印函数 GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它们就像 printf 一样可以接受一些参数并且它们是使用默认种类的$ p* }, T+ A" }# ~2 d1 v( O9 {" e
4)日志另存为文件,配置环境变量 GST_DEBUG_FILE=文件路径$ |3 Q. a) B% {1 I0 D. s. n; n( ^
如:Set GST_DEBUG_FILE = C:\\test.log。日志就重定向到 C:\\test.log 文件里。( V# W" B, P; T) ]% I( n# v
5) GST_REGISTRY_UPDATE 环境变量用来查找插件是否更新,即是否重新扫描去更新 cache 内容,将这个环境变量的值设置成”no”,这样 gstreamer 框架在初始化的时候就不会检查 plugin 的更新,这样可以加速启动。输入以下命令:" ~! q1 \# x* w. h
Set GST_REGISTRY_UPDATE=”no”$ n3 H7 x, I+ G1 a, O) \2 E
更多内容关注:北京迅为
- l7 m% B& l* x) f" y) A$ X& G1 i0 S  D, D& t& l' ^8 D4 a

该用户从未签到

2#
发表于 2022-5-31 13:19 | 只看该作者
讲解的很详细
* k) P3 e& x9 d; L- n; k, Z) J$ T
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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