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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
gstreamer 开发中,一般开发思路为:寻找命令行实现--命令行验证--将命令行集成到代码中---代码工程化。当然如果你要代码更优雅一点,可以用命令行用对应的 API 来实现。本节来总结一下 gstreamer 的常用使用过程。
/ K% s/ Z) N+ j" c 将配套资料通过 U 盘拷贝到开发板的根目录下,如下图所示。配套资料的路径在“iTOP-3399 开发板/02_iTOP-3399 开发板资料汇总(不含光盘容)/12_iTOP-3399 开发板音视频开发资料/测试资料”! Y, a( w4 R: R5 P) \' D# t6 w

9 t- N$ y; u# g, o( f% B- K# L  A1.png
( I& P  E# \7 _, y0 d6 E( s# S2 E+ B% d; J7 u! S9 O4 t. O* t' @

9 c* |* N6 p! L4 q7 o
. A0 ^; o, h7 Y$ ^* n. v7 F # S9 }7 S7 o' l: r0 R1 _" L
1 gst-inspect-1.0 测试1 `  y. }# E/ j3 _" i
gst-inspect 可以查看插件或者元素,输入以下命令查看所有元素# S0 n# [3 Y& b6 U) C/ p
gst-inspect-1.02 r8 Q2 v! Z$ q
$ ]2 Y! Q8 F2 h/ C# v+ A
2.png7 g$ Q3 Y: I0 t

: I( ~- _  e# P4 d
; z/ P* m+ c- d% l5 s8 D- N- R& A- F: x

6 I6 z$ e1 |& z2 z) l查看并过滤相关元素,输入以下命令,如下图所示:
0 O* D* t* w6 s2 ?& D* w8 J* o( }gst-inspect-1.0 |grep xxxx5 g; `$ e$ V, G' g# R

9 l  k) e- a0 `+ y3.png$ P4 x! S  K2 N) M7 a' R

: G* G, {2 p$ Y- o( b9 `% l, T, G% s

$ p- {1 s9 x% L" A3 K
. j1 X9 j" @8 e: B2 l9 f查看某一个元素,输入以下命令,如下图所示:
' M7 R; i+ p2 T! s2 O+ {gst-inspect-1.0 xxx* M9 ]- f* w# T* w2 L2 p

+ B. q4 l* Z, m3 v4.png# S" T$ X) R5 A. w
/ a" X* x* e# B8 P' ^' q' i0 s9 D
+ c1 S. h8 `1 b* A' g5 m

4 q0 V' z$ l! T8 R  M' G 8 q& q+ j' s/ b( t
输入以下命令查看黑名单元素,通常某些插件的依赖库不存在,gstreamer 会将它列入黑名单,不可使用,通过该命可以追踪某些异常的插件。
4 l8 R4 h% }) N# agst-inspect-1.0 -b0 e4 m# V( J; m6 S- |/ m5 X' @- k

6 n% b# x( C- a3 q  Z( y5.png
# F# B  ~0 {/ {6 u! `8 E
# M7 C: H5 j* R' ~3 d3 M1 Z- ~$ w% S4 V' M6 }

& A7 A9 P) S' J' r5 s
& \) v5 G/ [# ]2 f6 U4 {  G, ^' k 2 播放器工具 gst-play-1.0
$ ^8 l9 k5 s0 M( C1 ~% Y, ?如播放一个视频,输入以下命令:! }+ @: \- {- ]  A6 D
gst-play-1.0 /video/1080p_30fps_h265.mp46 c7 T( d4 r" f7 v
$ `) j8 N$ C! f; R5 J
6.png/ B; V: @. ?3 s' l" n  m
. z% f6 J" Q4 k5 q! k/ K1 W7 X; |
. p7 ?7 Q, j2 l* g
# e( f) T; M! Q0 I  N
3 @6 W6 q( {/ P0 f2 m  Z, I& _; A; @
; r' x- U1 B1 i0 d2 R7 M9 _
3 gstreamer 日志级别设置/ a0 F1 m0 Q3 }% R  R
gst 的日志等级分为 none(0)error(1) warning(2) info(3) debug(4) log(5)。默认 gst 的日志等级为 1,即 error打印,出错时会打印。; ]2 V/ M: B: j+ h2 x
1)全局日志级别设置6 {' c% W7 X. X1 y( g9 h& \* ^  F
如果需要更高级别打印,修改环境变量 GST_DEBUG 即可。如需要 warning 级别打印,配置 export* b+ M: g( I0 ^0 G' E
GST_DEBUG=2 ,如图所示
" a0 e. t8 Y- }5 ?* c; } / v6 Z# Z) [, Z8 R1 C8 r3 t. {
7.png1 D$ g( b7 y2 @0 T  m  X& o* z" T

) o9 _' W3 W9 s% p' ~9 p# V7 n/ ~  w6 C* N  p" m2 v

8 z5 h; `% u: |' @  a" v
! [& N. K2 e5 g: t+ v- U 2)某个插件日志级别设置
' T  L! s6 k0 \6 r+ {& E( uset GST_DEBUG=GST_AUTOPLUG:5,GST_ELEMENT_*:4,d3dvideosink:3( A. n* w' R) W& z$ }: d) [9 ?& e+ j
即自动插件为 5,所有元素默认为 4,d3dvideosink 元素为 3。
; n: b& n: ]4 {! D3 ~3)日志打印函数4 |3 d) V4 Y7 y# j
日志打印函数 GST_ERROR(),GST_WARNING(),GST_INFO(),GST_LOG()和 GST_DEBUG()宏。它们就像 printf 一样可以接受一些参数并且它们是使用默认种类的9 h: [1 ^/ x# q
4)日志另存为文件,配置环境变量 GST_DEBUG_FILE=文件路径
9 z  {$ x5 l3 g$ h, G- ^ 如:Set GST_DEBUG_FILE = C:\\test.log。日志就重定向到 C:\\test.log 文件里。
" M# r( u9 M2 a  A5) GST_REGISTRY_UPDATE 环境变量用来查找插件是否更新,即是否重新扫描去更新 cache 内容,将这个环境变量的值设置成”no”,这样 gstreamer 框架在初始化的时候就不会检查 plugin 的更新,这样可以加速启动。输入以下命令:
/ m2 A5 Z  Z7 USet GST_REGISTRY_UPDATE=”no”5 m/ A& A* g8 j  {+ i# z
更多内容关注:北京迅为9 j& h/ x! F! a7 G- D

" v( k) Z3 E2 i( T$ r2 t/ D9 ]9 y/ k- q

该用户从未签到

2#
发表于 2022-5-31 13:19 | 只看该作者
讲解的很详细
& U! T6 ?) z. g% S* h
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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