原文:GStreamer基础教程08 - 多线程

摘要 GStreamer框架会自动处理多线程的逻辑,但在某些情况下,我们仍然需要根据实际的情况自己将部分Pipeline在单独的线程中执行,本文将介绍如何处理这种情况。 GStreamer多线程 GStreamer框架是一个支持多线程的框架,线程会根据Pipeline的需要自动创建和销毁,例如,将媒体流与应用线程解耦,应用线程不会被GStreamer的处理阻塞。而且,GStreamer的插件还可以 ...

2019-09-29 16:17 0 1194 推荐指数:

查看详情

C++多线程基础教程

目录 1 什么是C++多线程? 2 C++多线程基础知识 2.1 创建线程 2.2 互斥量使用 lock()与unlock(): lock_guard(): unique_lock ...

Fri Aug 21 03:21:00 CST 2020 0 4791
GStreamer基础教程13 - 调试Pipeline

摘要   在很多情况下,我们需要对GStreamer创建的Pipeline进行调试,来了解其运行机制以解决所遇到的问题。为此,GStreamer提供了相应的调试机制,方便我们快速定位问题。 查看调试日志 使用GST_DEBUG环境变量查看日志   GStreamer框架以及其插件提供 ...

Wed Jan 22 23:44:00 CST 2020 15 4536
Gstreamer基础教程10 - Streaming

摘要   我们把直接从网络播放一个媒体文件的方式称为在线播放(Online Streaming),我们已经在以往的例子中体验了GStreamer的在线播放功能,当我们指定播放URI为 http:// 时,GStreamer内部会自动通过网络获取媒体数据。在今天的示例中,我们将进一步了解如何处理 ...

Wed Oct 30 18:14:00 CST 2019 0 810
GStreamer基础教程01 - Hello World

摘要 在面对一个新的软件库时,第一步通常实现一个“hello world”程序,来了解库的用法。对于GStreamer,我们可以实现一个极简的播放器,来了解GStreamer的使用。 环境配置 为了快速掌握Gstreamer相关的知识,我们优先选择Ubuntu作为我们的开发环境 ...

Wed Jun 12 19:04:00 CST 2019 0 4524
GStreamer基础教程02 - 基本概念

摘要 在 Gstreamer基础教程01 - Hello World中,我们介绍了如何快速的通过一个字符串创建一个简单的pipeline。为了能够更好的控制pipline中的element,我们需要单独创建element,然后再构造pipeline,下面将介绍GStreamer的一些基本概念 ...

Mon Jun 17 23:23:00 CST 2019 0 2759
GStreamer基础教程09 - Appsrc及Appsink

摘要 在我们前面的文章中,我们的Pipline都是使用GStreamer自带的插件去产生/消费数据。在实际的情况中,我们的数据源可能没有相应的gstreamer插件,但我们又需要将数据发送到GStreamer Pipeline中。GStreamer为我们提供了Appsrc以及Appsink插件 ...

Mon Sep 30 18:48:00 CST 2019 0 2873
GStreamer基础教程11 - 与QT集成

摘要   通常我们的播放引擎需要和GUI进行集成,在使用GStreamer时,GStreamre会负责媒体的播放及控制,GUI会负责处理用户的交互操作以及创建显示的窗口。本例中我们将结合QT介绍如何指定GStreamer将视频输出到指定窗口,以及如何利用GStreamer上报的信息去更新GUI ...

Thu Oct 31 23:16:00 CST 2019 5 1593
Python基础教程多线程运行带多个参数的函数

在python中经常会到用多线程处理某个函数来缩短运行时间。 运行上面的程序就会多线程处理并打印出输入x的计算结果。 但是这个函数仅允许函数的输入变量为1,如果函数需要多个参数输入,那个就无法用上面的程序。比如: 遇到这种情况我们有一下几种处理方法: 1).用partial函数提取 ...

Sat Apr 03 00:12:00 CST 2021 0 231
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM