【GStreamer 】3-1 gstreamer插件之 videotestsrc 介绍
目录
编辑
1、简介
2、videotestsrc
3、videotestsrc 不同pattern参数测试罗列
3.1 (0): smpte - SMPTE 100% color bars
3.2 (1): snow - Random (television snow)
3.3 (2): black - 100% Black
编辑
3.4 checkers 方块
编辑
3.5 几何图形
4、videotestsrc 提供任意测试视频流
1、简介
书接上回,在第3章中我们做了雪球测试,其命令是:
#需要显示器支持
gst-launch-1.0 videotestsrc pattern=ball ! videoconvert ! autovideosink
#不需要硬件显示器支持 推荐
gst-launch-1.0 videotestsrc pattern=ball ! xvimagesink
其中有好几个插件我们其实都不是很清楚细节,这一部分,我们就补充说明,如何学习这些插件。也可以参考这个英文文档
videotestsrc
2、videotestsrc
videotestsrc 插件是一个视频源的插件,只有src pad,所以他只能生产数据,具体生产什么数据,需要一些参数指定,这个数据源可以帮助我们再没有硬件输出的时候,快速的实现一些测试。
#gst-inspect 工具查看插件信息 跟Element名。会列出Element的详细信息。例如,下面的命令会列出videotestsrc所支持的输入数据类型,Pad信息,支持的属性及值。我们主要关注Pad Template,以及Element的属性信息。
gst-inspect-1.0 videotestsrc
查询的输出内容
nvidia@nvidia-desktop:~$ gst-inspect-1.0 videotestsrc
Factory Details:Rank none (0)Long-name Video test sourceKlass Source/VideoDescription Creates a test video streamAuthor David A. Schleef <ds@schleef.org>
Plugin Details:Name videotestsrcDescription Creates a test video streamFilename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvideotestsrc.soVersion 1.14.5License LGPLSource module gst-plugins-baseSource release date 2019-05-29Binary package GStreamer Base Plugins (Ubuntu)Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-base1.0
GObject+----GInitiallyUnowned+----GstObject+----GstElement+----GstBaseSrc+----GstPushSrc+----GstVideoTestSrc
Pad Templates:SRC template: 'src'Availability: AlwaysCapabilities:video/x-rawformat: { (string)I420, (string)YV12, (string)YUY2, (string)UYVY, (string)AYUV, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)RGBA, (string)BGRA, (string)ARGB, (string)ABGR, (string)RGB, (string)BGR, (string)Y41B, (string)Y42B, (string)YVYU, (string)Y444, (string)v210, (string)v216, (string)NV12, (string)NV21, (string)GRAY8, (string)GRAY16_BE, (string)GRAY16_LE, (string)v308, (string)RGB16, (string)BGR16, (string)RGB15, (string)BGR15, (string)UYVP, (string)A420, (string)RGB8P, (string)YUV9, (string)YVU9, (string)IYU1, (string)ARGB64, (string)AYUV64, (string)r210, (string)I420_10BE, (string)I420_10LE, (string)I422_10BE, (string)I422_10LE, (string)Y444_10BE, (string)Y444_10LE, (string)GBR, (string)GBR_10BE, (string)GBR_10LE, (string)NV16, (string)NV24, (string)NV12_64Z32, (string)A420_10BE, (string)A420_10LE, (string)A422_10BE, (string)A422_10LE, (string)A444_10BE, (string)A444_10LE, (string)NV61, (string)P010_10BE, (string)P010_10LE, (string)IYU2, (string)VYUY, (string)GBRA, (string)GBRA_10BE, (string)GBRA_10LE, (string)GBR_12BE, (string)GBR_12LE, (string)GBRA_12BE, (string)GBRA_12LE, (string)I420_12BE, (string)I420_12LE, (string)I422_12BE, (string)I422_12LE, (string)Y444_12BE, (string)Y444_12LE, (string)GRAY10_LE32, (string)NV12_10LE32, (string)NV16_10LE32 }width: [ 1, 2147483647 ]height: [ 1, 2147483647 ]framerate: [ 0/1, 2147483647/1 ]multiview-mode: { (string)mono, (string)left, (string)right }video/x-bayerformat: { (string)bggr, (string)rggb, (string)grbg, (string)gbrg }width: [ 1, 2147483647 ]height: [ 1, 2147483647 ]framerate: [ 0/1, 2147483647/1 ]multiview-mode: { (string)mono, (string)left, (string)right }
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:SRC: 'src'Pad Template: 'src'
Element Properties:name : The name of the objectflags: readable, writableString. Default: "videotestsrc0"parent : The parent of the objectflags: readable, writableObject of type "GstObject"blocksize : Size in bytes to read per buffer (-1 = default)flags: readable, writableUnsigned Integer. Range: 0 - 4294967295 Default: 4096 num-buffers : Number of buffers to output before sending EOS (-1 = unlimited)flags: readable, writableInteger. Range: -1 - 2147483647 Default: -1 typefind : Run typefind before negotiating (deprecated, non-functional)flags: readable, writable, deprecatedBoolean. Default: falsedo-timestamp : Apply current stream time to buffersflags: readable, writableBoolean. Default: falsepattern : Type of test pattern to generateflags: readable, writableEnum "GstVideoTestSrcPattern" Default: 0, "smpte"(0): smpte - SMPTE 100% color bars(1): snow - Random (television snow)(2): black - 100% Black(3): white - 100% White(4): red - Red(5): green - Green(6): blue - Blue(7): checkers-1 - Checkers 1px(8): checkers-2 - Checkers 2px(9): checkers-4 - Checkers 4px(10): checkers-8 - Checkers 8px(11): circular - Circular(12): blink - Blink(13): smpte75 - SMPTE 75% color bars(14): zone-plate - Zone plate(15): gamut - Gamut checkers(16): chroma-zone-plate - Chroma zone plate(17): solid-color - Solid color(18): ball - Moving ball(19): smpte100 - SMPTE 100% color bars(20): bar - Bar(21): pinwheel - Pinwheel(22): spokes - Spokes(23): gradient - Gradient(24): colors - Colorstimestamp-offset : An offset added to timestamps set on buffers (in ns)flags: readable, writableInteger64. Range: 0 - 9223372036854775807 Default: 0 is-live : Whether to act as a live sourceflags: readable, writableBoolean. Default: falsek0 : Zoneplate zero order phase, for generating plain fields or phase offsetsflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kx : Zoneplate 1st order x phase, for generating constant horizontal frequenciesflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 ky : Zoneplate 1st order y phase, for generating contant vertical frequenciesflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kt : Zoneplate 1st order t phase, for generating phase rotation as a function of timeflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kxt : Zoneplate x*t product phase, normalised to kxy/256 cycles per vertical pixel at width/2 from originflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kyt : Zoneplate y*t product phaseflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kxy : Zoneplate x*y product phaseflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kx2 : Zoneplate 2nd order x phase, normalised to kx2/256 cycles per horizontal pixel at width/2 from originflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 ky2 : Zoneplate 2nd order y phase, normailsed to ky2/256 cycles per vertical pixel at height/2 from originflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 kt2 : Zoneplate 2nd order t phase, t*t/256 cycles per pictureflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 xoffset : Zoneplate 2nd order products x offsetflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 yoffset : Zoneplate 2nd order products y offsetflags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 foreground-color : Foreground color to use (big-endian ARGB)flags: readable, writable, controllableUnsigned Integer. Range: 0 - 4294967295 Default: 4294967295 background-color : Background color to use (big-endian ARGB)flags: readable, writable, controllableUnsigned Integer. Range: 0 - 4294967295 Default: 4278190080 horizontal-speed : Scroll image number of pixels per frame (positive is scroll to the left)flags: readable, writableInteger. Range: -2147483648 - 2147483647 Default: 0 animation-mode : For pattern=ball, which counter defines the position of the ball.flags: readable, writableEnum "GstVideoTestSrcAnimationMode" Default: 0, "frames"(0): frames - frame count(1): wall-time - wall clock time(2): running-time - running timemotion : For pattern=ball, what motion the ball doesflags: readable, writableEnum "GstVideoTestSrcMotionType" Default: 0, "wavy"(0): wavy - Ball waves back and forth, up and down(1): sweep - 1 revolution per second(2): hsweep - 1/2 revolution per second, then reset to topflip : For pattern=ball, invert colors every second.flags: readable, writableBoolean. Default: false
从所有信息中可以看到这个插件只有src,其次输出格式是 video/x-raw数据。
Pad Templates:SRC template: 'src'Availability: AlwaysCapabilities:video/x-rawPads:SRC: 'src'Pad Template: 'src'
从测试命令中我们可以看到gst-launch-1.0 videotestsrc pattern=ball ! xvimagesink,pattern参数,这个也在详细信息中有一一列举。
pattern : Type of test pattern to generateflags: readable, writableEnum "GstVideoTestSrcPattern" Default: 0, "smpte"(0): smpte - SMPTE 100% color bars(1): snow - Random (television snow)(2): black - 100% Black(3): white - 100% White(4): red - Red(5): green - Green(6): blue - Blue(7): checkers-1 - Checkers 1px(8): checkers-2 - Checkers 2px(9): checkers-4 - Checkers 4px(10): checkers-8 - Checkers 8px(11): circular - Circular(12): blink - Blink(13): smpte75 - SMPTE 75% color bars(14): zone-plate - Zone plate(15): gamut - Gamut checkers(16): chroma-zone-plate - Chroma zone plate(17): solid-color - Solid color(18): ball - Moving ball(19): smpte100 - SMPTE 100% color bars(20): bar - Bar(21): pinwheel - Pinwheel(22): spokes - Spokes(23): gradient - Gradient(24): colors - Colors
3、videotestsrc 不同pattern参数测试罗列
3.1 (0): smpte - SMPTE 100% color bars
gst-launch-1.0 videotestsrc pattern=smpte ! xvimagesink
3.2 (1): snow - Random (television snow)
gst-launch-1.0 videotestsrc pattern=snow ! xvimagesink
3.3 (2): black - 100% Black
gst-launch-1.0 videotestsrc pattern=black ! xvimagesink
(3): white - 100% White(4): red - Red(5): green - Green(6): blue - Blue
#白色
gst-launch-1.0 videotestsrc pattern=white ! xvimagesink
#红色
gst-launch-1.0 videotestsrc pattern=red ! xvimagesink
#绿色
gst-launch-1.0 videotestsrc pattern=green ! xvimagesink
#蓝色
gst-launch-1.0 videotestsrc pattern=blue ! xvimagesink
3.4 checkers 方块
(7): checkers-1 - Checkers 1px(8): checkers-2 - Checkers 2px(9): checkers-4 - Checkers 4px(10): checkers-8 - Checkers 8px
#棕色
gst-launch-1.0 videotestsrc pattern=checkers-1 ! xvimagesink
#米字格 checkers-4
gst-launch-1.0 videotestsrc pattern=checkers-4 ! xvimagesink
#米字格 checkers-8
gst-launch-1.0 videotestsrc pattern=checkers-8 ! xvimagesink
3.5 几何图形
(11): circular - Circular
(18): ball - Moving ball
(20): bar - Bar
(21): pinwheel - Pinwheel
(22): spokes - Spokes
(23): gradient - Gradient
#圆形
gst-launch-1.0 videotestsrc pattern=circular ! xvimagesink
#圆形
gst-launch-1.0 videotestsrc pattern=pinwheel ! xvimagesink
4、videotestsrc 提供任意测试视频流
pattern既可以是数字 [0,24] 也可以是符号。某些模式可以使用其他参数进行调整。要以给定的帧率,大小 生成测试模式,可以使用“过滤器”:
#很早的旧版本写法
gst-launch videotestsrc ! video/x-raw-rgb, framerate=25/1, width=640, height=360 ! ximagesink
#现在的写法
gst-launch-1.0 videotestsrc ! video/x-raw, framerate=25/1, width=640, height=360 ! ximagesink
所以可以用上述命令自己调整,生成很多测试视频格式,来提升测试效率。
觉得以上有点用处,点个赞呗,谢谢。
【GStreamer 】3-1 gstreamer插件之 videotestsrc 介绍相关推荐
- jQuery图片播放插件prettyPhoto使用介绍
演示效果 http://www.17sucai.com/preview/131993/2014-07-09/mac-Bootstrap/gallery.html 点击之后的效果 使用方法 Query ...
- [转]Linux下pppoe配合Drcom插件上网方法介绍......
Linux下pppoe配合Drcom插件上网方法介绍 近几天在西邮bbs上闲逛,无意间注意到很多人纠结于同一个问题---linux上网,众所周知,linux系统在宿舍上网时比较烦人的一件事,虽然bbs ...
- 32款iOS开发插件和工具介绍[效率]
插件和工具介绍内容均收集于网络,太多了就不一一注明了,在此谢过! 1.Charles 为了调试与server端的网络通讯协议.经常须要截取网络封包来分析. Charles通过将自己设置成系统的网络訪问 ...
- confluence添加用户_玩转Confluence插件开发插件模块配置文件介绍(04)
上一章节我们介绍了测试模块的配置文件,这一章节我们介绍插件本身的配置文件,这个是我们部署插件真正用到的. 文件的位置位于项目主目录中的/src/main/resources目录中. 插件配置文件介绍 ...
- SQLMAP插件tamper模块介绍
今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLMAP插件tamper模块介绍. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强 ...
- 3DMax插件安装方法介绍
3DMax插件安装方法介绍 # \- n" q& [( {5 s& v5 _ r3DS Max的一大特色之一就是其拥有丰富多样的插件.也正是有了这些强有力的插件,才使Max ...
- 【无标题】VR插件ViveInputUtility---简单介绍,加手柄按键介绍
(9条消息) VR插件ViveInputUtility---简单介绍_南宫铭的博客-CSDN博客_vr插件 (9条消息) ViveInputUtility开发HTC VIVE 手柄控制按键_yuanp ...
- PS滤镜插件-Nik Collection介绍
PS滤镜插件-Nik Collection介绍 什么是Nik Collection Nik Collection都包含什么? 什么是Nik Collection Nik Collection是一款PS ...
- 苹果cms采集包tu.php在哪里,苹果cms采集插件如何使用 苹果cms采集插件使用方法介绍...
苹果cms采集插件是一款为想要建影视资源站的站长们提供的采集插件,通过这款插件你可以直接为你的影视站采集各大视频网站的影视资源.一些小伙伴想知道苹果cms采集插件如何使用,下面就让小编为大家介绍一下苹 ...
最新文章
- 毕业去哪儿?清华大学2018年毕业生就业质量报告发布
- CentOS6.8 x86_64bit MySQL简单语句应用
- Spring Boot 注解大全,一键收藏!回城路上复习!
- python爬虫脚本ie=utf-8_Python网络爬虫出现乱码问题的解决方法
- WNEWS 专题系统
- uvm 形式验证_IC设计职位详解之“数字验证工程师”就业必学课程
- 那个 14 岁上大学、17 岁读博、24 岁当教授的天才神童,如今怎么样了?
- 机器学习之KNN算法学习笔记
- Qt5.12安装错误提示:C:\Qt5.12.11\vcredist\vcredist_msvc2019_x86.exe /norestart /q
- MySQL Innodb数据库性能实践——VARCHAR vs CHAR
- 学习JavaScript原型应用
- AD09导出光绘文件(Gerber)
- 基于51单片机的循迹小车(初学者必备!!!)
- 如何运用SWOT分析法
- tgp登录dnf一直显示连接服务器失败,DNF总网络连接失败是为什么?
- 【人生苦短,我学 Python】基础篇——字典(Day10)
- python整数逆位运算_[python/工具] python z3库学习 减乘除位与运算 ctf一把梭
- c语言流星雨程序下载,c语言 流星雨的实现.doc
- 算法学习笔记17:堆、堆排序
- “笨办法”学Python3,Zed A. Shaw,习题21
热门文章
- JS/SQL MVC框架介绍
- 魅族手机怎么把计算机放到桌面,魅族手机怎么与电脑互传文件 如何访问电脑文件...
- HTML + Css实现页面特效
- HoloCubic-稚晖君开源项目制作心得
- 主题模型结合词向量模型(Improving Topic Models with Latent Feature Word Representations)
- 顺舟智能获中国电信智慧家庭产业联盟“智慧家庭创新合作奖”
- 胡喜:从 BASIC 到 basic ,蚂蚁金服技术要解决两个基本的计算问题
- 机器学习模型的评价指标和方法(附代码)
- 华为接班人准备好了吗? (转载)
- 【流媒体服务器Mediasoup】多人音视频架构、流媒体的比较、mediasoup介绍 (一)