当前位置: 首页 > news >正文

GStreamer学习笔记(四)

Time management

仅当管道处于PLAYING状态时,可以刷新屏幕。如果不在PLAYING状态,什么都不做,因为大多数查询都会失败。

函数与知识点

  1. GstClockTime 说明:所需的超时时间必须以GstClockTime的形式指定。即以纳秒(ns)为单位。表示不同时间单位的数字应乘以诸如GST_SECONDGST_MSECOND之类的宏。这使得代码更易读。
  2. gst_element_query_position() 功能:查询一个元素(通常是顶层pipelineplaybin元素)的流位置(以纳秒为单位)。这将是一个介于0和流持续时间(如果已知)之间的值。这个查询通常只能在管道预滚(即达到PAUSEDPLAYING状态)后才能工作。当调用函数时,应用程序将在管道总线上收到一个ASYNC_DONE消息。说明:如果重复调用这个函数,也可以创建一个查询并在gst_element_query()中重用它。
  3. gst_element_query (GstElement * element, GstQuery * query) 功能:对给定的元素执行查询。说明:对于没有实现查询处理程序的元素,此函数将查询转发给随机的srcpad或该元素的随机链接的sinkpad的对等体。请注意,某些查询可能需要运行中的管道才能正常工作。
  4. gst_element_query_duration() 功能:查询一个元素(通常是顶级pipelineplaybin元素)的总流持续时间(以纳秒为单位)。这个查询只有在管道预滚(即达到PAUSEDPLAYING状态)后才能工作当调用函数时,应用程序将在管道总线上收到一个ASYNC_DONE消息。说明:如果出于某种原因持续时间发生变化,将在管道总线上收到一个DURATION_CHANGED消息,在这种情况下,应该使用这个函数重新查询持续时间。
  5. GST_TIME_FORMAT() 功能:一个可以在类似printf的格式字符串中使用的字符串,用于以h:m:s格式显示GstClockTime值。使用GST_TIME_ARGS来构造相应的参数。
  6. GST_TIME_ARGS() 功能:使用GST_TIME_FORMAT格式字符串对 t 进行格式化。注意:t 将被评估多次。说明:t是一个GstClockTime
  7. gst_element_seek_simple() 功能:在给定的元素上执行简单的跳转的简单API,意味着它只会相对于流的起始位置跳转到给定的位置。对于更复杂的操作,比如段跳转(例如循环播放)或更改播放速度或相对于最后配置的播放段进行跳转,应该使用gst_element_seek()。说明:在完全预滚的PAUSEDPLAYING管道中,对可跳转的媒体类型进行跳转总是保证返回TRUE,对于肯定不可跳转的媒体类型(如实时流),返回FALSE。一些元素允许在READY状态下进行跳转,在这种情况下,它们将存储跳转事件并在放入PAUSED状态时执行它。如果元素支持在READY状态下进行跳转,在接收到READY状态下的事件时,它将始终返回TRUE
  8. GST_SEEK_FLAG_FLUSH 功能:这会在进行跳转之前丢弃管道中的所有数据。在重新填充管道并开始显示新数据之前,可能会暂停一会儿,但极大地增加了应用程序的响应能力。如果不提供此标志,旧的数据可能会在一段时间内显示,直到新位置出现在管道末尾。
  9. GST_SEEK_FLAG_KEY_UNIT 说明:对于大多数编码后的视频流,不可能在任意位置进行跳转,而只能在称为关键帧的特定帧之间进行跳转。当使用此标志时,跳转实际上会移动到最接近的关键帧并立即开始生成数据。如果不使用此标志,则管道会在内部移动到最接近的关键帧(没有其他选择),但数据不会显示,直到到达请求的位置。这个最后的选择更准确,但可能需要更长时间。
  10. GST_SEEK_FLAG_ACCURATE 说明:某些媒体剪辑没有足够的索引信息,这意味着在任意位置进行跳转是耗时的。在这些情况下,GStreamer通常会估计要进行跳转的位置,并且通常工作得很好。如果这种精度对您的情况不够好(您看到的跳转时间不准确),那么请提供此标志。请注意,计算跳转位置可能需要更长时间(非常长时间,在某些文件上)。
  11. 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是否能连通

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan 简介&#xff1a; 使用socket判断ip是否能联通 效果&#xff1a; 代码&#xff1a; #include <iostream> #include <cstdlib> #include <cstdio> #include &…...

数学建模-相关系数

excel基本操作&#xff1a;ctrl右&#xff0c;ctrl左&#xff0c;ctrlshift下/右&#xff0c;ctrlshift空格 题目里有数据&#xff0c;给出描述性统计是比较好的习惯 excel描述性统计&#xff1a;数据-数据分析-描述统计 MATLAB要做散点图C62个 SPSS可以直接画出两两之间的散…...

Ubuntu下安装、配置及重装CUDA教程

安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例&#xff1a; 查看显卡驱动 nvidia-smi如果显卡驱动已经装了&#xff0c;那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…...

自学网络安全(黑客)为什么火了?

网安专业从始至终都是需要学习的&#xff0c;大学是无法培养出合格的网安人才的。这就是为啥每年网安专业毕业生并不少&#xff0c;而真正从事网安岗位的人&#xff0c;寥寥无几的根本原因。 如果将来打算从事网安岗位&#xff0c;那么不断学习是你唯一的途径。 网络安全为什…...

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.&#xff12; 逻辑备份 三、常见的备份方法 3.1 物理冷备 3.2 专用备份工具 mysqldump 或 mysqlhotcopy 3.3 启用二进制日志进行增量备份 3.4 第三方工具备份 四、MySQL完全备份 五、数据库完全备份分类…...

Cadence PCB 仿真Model Integrity专题

&#x1f3e1;《总目录》   &#x1f3e1;《宝典目录》 目录 1&#xff0c;内容概述2&#xff0c;内容目录 1&#xff0c;内容概述 本专题详细介绍Cadence的仿真建模工具 Model Integrity。 2&#xff0c;内容目录 Cadence PCB仿真 Model Integrity 功能详述与启动方法图文教…...

记一次阿里云被挖矿处理记录

摘要 莫名其妙的服务器就被攻击了&#xff0c;又被薅了羊毛&#xff0c;当做免费的挖矿劳动力了。 一、起因 上班&#xff08;摸鱼&#xff09;好好的&#xff0c;突然收到一条阿里云的推送短信&#xff0c;不看不知道&#xff0c;两台服务器被拉去作为苦力&#xff0c;挖矿去…...

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 找到数据库存放的路径&#xff0c;并将备份文件上传到对应的路径下 三、 进入docker容器内部&#xff0c;执行数据库恢复附录…...

《TCP IP网络编程》第六章

《TCP IP网络编程》第六章&#xff1a;基于 UDP 的服务端/客户端 UDP 套接字的特点&#xff1a; 通过寄信来说明 UDP 的工作原理&#xff0c;这是讲解 UDP 时使用的传统示例&#xff0c;它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址&#xff0c;之后…...

如何学习java

-学习Java是一个循序渐进的过程&#xff0c;下面提供一些学习Java的方法&#xff0c;帮助您有效地掌握这门编程语言&#xff1a; 定义学习目标&#xff1a;明确您学习Java的目标和用途。是为了进入软件开发行业&#xff0c;还是用于特定项目或兴趣爱好&#xff1f;明确学习目标…...

RabbitMQ实现六类工作模式

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; RabbitMQ实现六类工作模式 ⏱️ 创作时间&#xff1a; 2023年07月20日…...

all in one (群辉、软路由、win/linux)折腾日记

目录 生命不息&#xff0c;折腾不止名词解释硬件参数装机 生命不息&#xff0c;折腾不止 因自身能力有限&#xff0c;可能内容质量不高&#xff0c;欢迎志同道合的各路大神加入&#xff0c;共同折腾&#xff01; 名词解释 ALL IN ONE &#xff1a;多功能一体机 OpenWrt【软路…...

【Redis】2、Redis应用之【根据 Session 和 Redis 进行登录校验和发送短信验证码】

目录 一、基于 Session 实现登录(1) 发送短信验证码① 手机号格式后端校验② 生成短信验证码 (2) 短信验证码登录、注册(3) 登录验证① 通过 SpringMVC 定义拦截器② ThreadLocal (4) 集群 Session 不共享问题 二、基于 Redis 实现共享 session 登录(1) 登录之后&#xff0c;缓…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启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&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...