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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现。本节来总结一下 gstreamer 的常用使用过程。: L" U2 R$ w2 P# C. U/ {
将配套资料通过 U 盘拷贝到开发板的根目录下,如下图所示。配套资料的路径在“iTOP-3399 开发板/02_iTOP-3399 开发板资料汇总(不含光盘容)/12_iTOP-3399 开发板音视频开发资料/测试资料”# r; S5 ~8 {4 Q: c2 ?) n$ s5 x. B
4 U) C+ v- L8 F6 O; d
1.png
! ~4 ~. v4 i* K& q- n% k# o; Z4 A* A" O+ ^# o+ @; |8 T+ t8 J  {/ `
' \! }+ [- D0 k. y

! H. a/ s/ j, p/ A2 o1 O$ k/ q
: C/ k' N' K7 v, c# r$ l' } 1 gst-inspect-1.0 测试% Y# c; v( v% C/ K/ P" w! I; o5 H" L
gst-inspect 可以查看插件或者元素,输入以下命令查看所有元素
( g- P3 o4 T$ b. R0 p1 Kgst-inspect-1.0- m! \0 p* F' q3 n/ v

& Y1 B1 i1 W$ Z0 B9 T& ]8 v" o2.png
: x" A: M* K4 K# f2 A6 N6 g
4 N! t7 L+ f  Z" _( }& @) z7 Y+ E0 q, ]6 R! O+ M
1 A2 ^1 y* b1 x2 v
: r; S! o- w" E6 C
查看并过滤相关元素,输入以下命令,如下图所示:- M5 r; [$ \8 H! n
gst-inspect-1.0 |grep xxxx
0 \( ]& s; B4 @; O8 u 4 Z) i/ W) I! \
3.png
. K3 V+ x/ ^, Y/ s5 g1 [
$ l2 s2 ?" X% u1 {5 y$ R9 l
1 ^/ `* b4 Z4 j  A) h! g, @( b2 x/ T2 ], W- K5 Y3 ~8 Y
% U' f+ u( K6 C/ T$ [: g
查看某一个元素,输入以下命令,如下图所示:
  L- n2 ~7 d: I1 w/ W; qgst-inspect-1.0 xxx* P% N* V0 X& ~
7 J) y9 g+ r0 z. W9 x
4.png
: m+ N% o) ^% ?, H
  e5 c  ?# j( D2 h- t) K4 n4 _- a! }0 |) J7 f& u7 {9 }6 E# K
9 j' n* i5 u2 u2 B

0 M  E# g) l. t& r  A9 d& L输入以下命令查看黑名单元素,通常某些插件的依赖库不存在,gstreamer 会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。' f/ }/ Y1 R6 d
gst-inspect-1.0 -b7 h, A4 T% ~/ L" Q

2 s( E6 D9 Z+ Y5.png, G* {1 o* j0 D! ?# q8 }

. S6 J6 O( |. {' _2 w; n; o: G/ a/ c/ H9 U5 V4 N* f3 h
, t7 X: v7 T' N9 l: X' o
" ]( \  }" `7 J6 E5 z  S- \
2 播放器工具 gst-play-1.00 o6 |+ m6 B: x5 G
如播放一个视频,输入以下命令:6 B, L# ]# E# X  X0 f4 r
gst-play-1.0 /video/1080p_30fps_h265.mp4
  q* \% ~: X6 @- t- l8 _ % z" Q5 f- i) k3 @7 I; p. l% R
6.png4 @  e! X) Z) D
2 \5 R7 Y( |% e& _0 G# t( m

1 A" V( z2 K# a, v# ^3 `/ d4 b, x# ~  w0 J; L4 T

" H0 [+ o8 }& q* \5 u- o0 `  b) ?* X8 [4 L
3 gstreamer 日志级别设置
$ ?' c5 K% J& J7 a5 M' pgst 的日志等级分为 none(0)error(1) warning(2) info(3) debug(4) log(5)。默认 gst 的日志等级为 1,即 error打印,出错时会打印。
$ e3 t4 q) h3 P# R( G! d' F# }/ E8 L1)全局日志级别设置  I7 W4 u( C5 P4 X8 J( Q
如果需要更高级别打印,修改环境变量 GST_DEBUG 即可。如需要 warning 级别打印,配置 export3 G+ x: V4 q( j1 s, E% M! C
GST_DEBUG=2 ,如图所示
8 b" ]/ S/ c" J  O% a ; O0 Y9 e& e. ?% ^0 j( b( S: R
7.png
8 H" f9 m! g( g( E* z2 T! J! G; e# n: c8 g
! a4 v# ~( D, Z
% h3 \0 p6 z: `' N1 w. l( v( ]0 G
8 l1 _1 n7 N0 I8 ^- g
2)某个插件日志级别设置  W9 b5 Z+ |# d! }8 m7 D1 u0 L9 P+ n
set GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3
. V, O: _; ?  a2 o- H即自动插件为 5,所有元素默认为 4,d3dvideosink 元素为 3。* r5 @" D$ S4 Q! q# L
3)日志打印函数# @% k; z" C! |, \
日志打印函数 GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它们就像 printf 一样可以接受一些参数并且它们是使用默认种类的
: v8 ?8 M) L% F$ n$ |4)日志另存为文件,配置环境变量 GST_DEBUG_FILE=文件路径8 V8 {) o8 \* z" B) Z' ]
如:Set GST_DEBUG_FILE = C:\\test.log。日志就重定向到 C:\\test.log 文件里。
( ]* R0 g( I0 f$ ?2 t2 ~5) GST_REGISTRY_UPDATE 环境变量用来查找插件是否更新,即是否重新扫描去更新 cache 内容,将这个环境变量的值设置成”no”,这样 gstreamer 框架在初始化的时候就不会检查 plugin 的更新,这样可以加速启动。输入以下命令:
& B4 O5 Y+ B8 ~3 W' QSet GST_REGISTRY_UPDATE=”no”
7 f, J% J% `# H% m7 j更多内容关注:北京迅为5 Y& L* I; w+ j9 t& L# H% B
- q) N% O7 s* q# {

该用户从未签到

2#
发表于 2022-5-31 13:19 | 只看该作者
讲解的很详细! J7 ?9 X  a, I7 ^. }7 t: n+ e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 21:50 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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