原文:Gstreamer基础教程10 - Streaming

摘要 我们把直接从网络播放一个媒体文件的方式称为在线播放 Online Streaming ,我们已经在以往的例子中体验了GStreamer的在线播放功能,当我们指定播放URI为 http: 时,GStreamer内部会自动通过网络获取媒体数据。在今天的示例中,我们将进一步了解如何处理由网络问题导致的视频缓冲及时钟丢失的问题。 在线播放 在我们进行在线播放时,我们会将收到的媒体数据立即进行解码并送 ...

2019-10-30 10:14 0 810 推荐指数:

查看详情

GStreamer基础教程13 - 调试Pipeline

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

Wed Jan 22 23:44:00 CST 2020 15 4536
GStreamer基础教程08 - 多线程

摘要   GStreamer框架会自动处理多线程的逻辑,但在某些情况下,我们仍然需要根据实际的情况自己将部分Pipeline在单独的线程中执行,本文将介绍如何处理这种情况。 GStreamer多线程   GStreamer框架是一个支持多线程的框架,线程会根据Pipeline的需要自动创建 ...

Mon Sep 30 00:17:00 CST 2019 0 1194
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
GStreamer基础教程07 - 播放速率控制

摘要   在常见的媒体播放器中,通常可以看到快进,快退,慢放等功能,这部分功能被称为“特技模式(Trick Mode)”,这些模式有个共同点:都通过修改播放的速率来达到相应的目的。 本文将介绍如何通过GStreamer去实现快进,快退,慢放以及单帧播放。 GStreamer Seek ...

Sat Aug 24 02:06:00 CST 2019 0 1170
GStreamer基础教程04 - 动态连接Pipeline

摘要 在以前的文章中,我们了解到了2种播放文件的方式:一种是在知道了文件的类型及编码方式后,手动创建所需Element并构造Pipeline;另一种是直接使用playbin,由playbin内部动态 ...

Tue Jul 16 21:06:00 CST 2019 0 1859
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM