GStreamer学习笔记(四)
Time management
仅当管道处于PLAYING状态时,可以刷新屏幕。如果不在PLAYING状态,什么都不做,因为大多数查询都会失败。
函数与知识点
GstClockTime说明:所需的超时时间必须以GstClockTime的形式指定。即以纳秒(ns)为单位。表示不同时间单位的数字应乘以诸如GST_SECOND或GST_MSECOND之类的宏。这使得代码更易读。gst_element_query_position()功能:查询一个元素(通常是顶层pipeline或playbin元素)的流位置(以纳秒为单位)。这将是一个介于0和流持续时间(如果已知)之间的值。这个查询通常只能在管道预滚(即达到PAUSED或PLAYING状态)后才能工作。当调用函数时,应用程序将在管道总线上收到一个ASYNC_DONE消息。说明:如果重复调用这个函数,也可以创建一个查询并在gst_element_query()中重用它。gst_element_query (GstElement * element, GstQuery * query)功能:对给定的元素执行查询。说明:对于没有实现查询处理程序的元素,此函数将查询转发给随机的srcpad或该元素的随机链接的sinkpad的对等体。请注意,某些查询可能需要运行中的管道才能正常工作。gst_element_query_duration()功能:查询一个元素(通常是顶级pipeline或playbin元素)的总流持续时间(以纳秒为单位)。这个查询只有在管道预滚(即达到PAUSED或PLAYING状态)后才能工作当调用函数时,应用程序将在管道总线上收到一个ASYNC_DONE消息。说明:如果出于某种原因持续时间发生变化,将在管道总线上收到一个DURATION_CHANGED消息,在这种情况下,应该使用这个函数重新查询持续时间。GST_TIME_FORMAT()功能:一个可以在类似printf的格式字符串中使用的字符串,用于以h:m:s格式显示GstClockTime值。使用GST_TIME_ARGS来构造相应的参数。GST_TIME_ARGS()功能:使用GST_TIME_FORMAT格式字符串对t进行格式化。注意:t将被评估多次。说明:t是一个GstClockTime。gst_element_seek_simple()功能:在给定的元素上执行简单的跳转的简单API,意味着它只会相对于流的起始位置跳转到给定的位置。对于更复杂的操作,比如段跳转(例如循环播放)或更改播放速度或相对于最后配置的播放段进行跳转,应该使用gst_element_seek()。说明:在完全预滚的PAUSED或PLAYING管道中,对可跳转的媒体类型进行跳转总是保证返回TRUE,对于肯定不可跳转的媒体类型(如实时流),返回FALSE。一些元素允许在READY状态下进行跳转,在这种情况下,它们将存储跳转事件并在放入PAUSED状态时执行它。如果元素支持在READY状态下进行跳转,在接收到READY状态下的事件时,它将始终返回TRUE。GST_SEEK_FLAG_FLUSH功能:这会在进行跳转之前丢弃管道中的所有数据。在重新填充管道并开始显示新数据之前,可能会暂停一会儿,但极大地增加了应用程序的响应能力。如果不提供此标志,旧的数据可能会在一段时间内显示,直到新位置出现在管道末尾。GST_SEEK_FLAG_KEY_UNIT说明:对于大多数编码后的视频流,不可能在任意位置进行跳转,而只能在称为关键帧的特定帧之间进行跳转。当使用此标志时,跳转实际上会移动到最接近的关键帧并立即开始生成数据。如果不使用此标志,则管道会在内部移动到最接近的关键帧(没有其他选择),但数据不会显示,直到到达请求的位置。这个最后的选择更准确,但可能需要更长时间。GST_SEEK_FLAG_ACCURATE说明:某些媒体剪辑没有足够的索引信息,这意味着在任意位置进行跳转是耗时的。在这些情况下,GStreamer通常会估计要进行跳转的位置,并且通常工作得很好。如果这种精度对您的情况不够好(您看到的跳转时间不准确),那么请提供此标志。请注意,计算跳转位置可能需要更长时间(非常长时间,在某些文件上)。gst_query_new_seeking(GstFormat format)功能:构造一个新的查询对象,用于查询流的跳转属性。cleanup函数:gst_query_unref。返回值:一个新的GstQuery(所有权转移)
相关文章:
GStreamer学习笔记(四)
Time management 仅当管道处于PLAYING状态时,可以刷新屏幕。如果不在PLAYING状态,什么都不做,因为大多数查询都会失败。 函数与知识点 GstClockTime 说明:所需的超时时间必须以GstClockTime的形式指定。即以纳秒(ns…...
DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb
DBeaver连接华为高斯数据库 DBeaver连接Gaussdb数据库 DBeaver connect Gaussdb 一、概述 华为GaussDB出来已经有一段时间,最近工作中刚到Gauss数据库。作为coder,那么如何通过可视化工具来操作Gauss呢? 本文将记录使用免费、开源的DBeaver来…...
.net core 2.1 简单部署IIS运行
netcore的项目不像netFramework那么方便部署到iis还是要费点功夫的 比如我想把这个netcore2.1的项目部署到iis并运行: 按照步骤走: 一、确认自己的netcore环境 1、需要安装下面3个环境包(如果电脑已安装请忽略) 检查是否安装cmd命令:cmd&…...
提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡
提高视觉检测系统稳定性的隐藏办法——10G高速图像采集卡 目前,随着我国各方面配套基础设施建设的完善,企业技术、资金的积累,各行各业积极探索和大胆的尝试机器视觉技术,实现工业自动化、智能化。在机器视觉系统的使用过程中&am…...
注解方式实现数据库字段加密与解密
目录 前言实现步骤定义注解加密工具类定义mybatis拦截器 总结 前言 一些敏感信息存入数据需要进行加密处理,比如电话号码,身份证号码等,从数据库取出到前端展示时需要解密,如果分别在存入取出时去做处理,会很繁锁&…...
C\C++ 使用socket判断ip是否能连通
文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 使用socket判断ip是否能联通 效果: 代码: #include <iostream> #include <cstdlib> #include <cstdio> #include &…...
数学建模-相关系数
excel基本操作:ctrl右,ctrl左,ctrlshift下/右,ctrlshift空格 题目里有数据,给出描述性统计是比较好的习惯 excel描述性统计:数据-数据分析-描述统计 MATLAB要做散点图C62个 SPSS可以直接画出两两之间的散…...
Ubuntu下安装、配置及重装CUDA教程
安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例: 查看显卡驱动 nvidia-smi如果显卡驱动已经装了,那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…...
自学网络安全(黑客)为什么火了?
网安专业从始至终都是需要学习的,大学是无法培养出合格的网安人才的。这就是为啥每年网安专业毕业生并不少,而真正从事网安岗位的人,寥寥无几的根本原因。 如果将来打算从事网安岗位,那么不断学习是你唯一的途径。 网络安全为什…...
Android S 修改关于手机的logo
1.让图片加载生效 frameworks/base/packages/SettingsLib/LayoutPreference/res/layout/preference_about_phone.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:id"id/entity_header" style"…...
Mysql 备份与还原
目录 一、数据备份的重要性 二、数据库备份类型 2.1 物理备份 2.2 逻辑备份 三、常见的备份方法 3.1 物理冷备 3.2 专用备份工具 mysqldump 或 mysqlhotcopy 3.3 启用二进制日志进行增量备份 3.4 第三方工具备份 四、MySQL完全备份 五、数据库完全备份分类…...
Cadence PCB 仿真Model Integrity专题
🏡《总目录》 🏡《宝典目录》 目录 1,内容概述2,内容目录 1,内容概述 本专题详细介绍Cadence的仿真建模工具 Model Integrity。 2,内容目录 Cadence PCB仿真 Model Integrity 功能详述与启动方法图文教…...
记一次阿里云被挖矿处理记录
摘要 莫名其妙的服务器就被攻击了,又被薅了羊毛,当做免费的挖矿劳动力了。 一、起因 上班(摸鱼)好好的,突然收到一条阿里云的推送短信,不看不知道,两台服务器被拉去作为苦力,挖矿去…...
Linux系统使用(超详细)
目录 Linux操作系统简介 Linux和windows区别 Linux常见命令 Linux目录结构 Linux命令提示符 常用命令 ls cd pwd touch cat echo mkdir rm cp mv vim vim的基本使用 grep netstat Linux面试题 Linux操作系统简介 Linux操作系统是和windows操作系统是并列…...
【问题总结】Docker环境下备份和恢复postgresql数据库
目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径,并将备份文件上传到对应的路径下 三、 进入docker容器内部,执行数据库恢复附录…...
《TCP IP网络编程》第六章
《TCP IP网络编程》第六章:基于 UDP 的服务端/客户端 UDP 套接字的特点: 通过寄信来说明 UDP 的工作原理,这是讲解 UDP 时使用的传统示例,它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址,之后…...
如何学习java
-学习Java是一个循序渐进的过程,下面提供一些学习Java的方法,帮助您有效地掌握这门编程语言: 定义学习目标:明确您学习Java的目标和用途。是为了进入软件开发行业,还是用于特定项目或兴趣爱好?明确学习目标…...
RabbitMQ实现六类工作模式
😊 作者: 一恍过去 💖 主页: https://blog.csdn.net/zhuocailing3390 🎊 社区: Java技术栈交流 🎉 主题: RabbitMQ实现六类工作模式 ⏱️ 创作时间: 2023年07月20日…...
all in one (群辉、软路由、win/linux)折腾日记
目录 生命不息,折腾不止名词解释硬件参数装机 生命不息,折腾不止 因自身能力有限,可能内容质量不高,欢迎志同道合的各路大神加入,共同折腾! 名词解释 ALL IN ONE :多功能一体机 OpenWrt【软路…...
【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】
目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后,缓…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
