C
文章平均质量分 89
X_R*R
菜鸟小白
展开
-
Gstreamer播放教程3: Short-cutting the pipeline (缩短管道)
1.目标1.目标基本教程8:Short-cutting the pipeline展示了应用程序如何使用两个特殊元素appsrc和appsink手动提取或注入数据到管道中。Playbin也允许使用这些元素,但连接它们的方法不同。要链接appsink到playbin,请参见回放教程7:Custom playbin sinks。本教程展示了如何链接appsrc和playbin如何配置appsrc2.A playbin waveform generator3.实现1.code#include.原创 2021-12-30 17:19:36 · 1843 阅读 · 0 评论 -
Gstreamer播放教程2: Subtitle management (字幕管理)
文章目录1.目标2.介绍3.实现1.compile2.code4.解析1.属性设置5.讨论1.目标本教程与前一个非常类似,但我们将使用字幕流之间的不同音频流之间切换。 这将允许我们学习:如何选择字幕流如何增加外部的字幕如何自定义字幕的字体2.介绍我们已经知道(从之前的教程中)容器文件可以容纳多个音频和视频流,我们可以很容易地通过改变playbin的current-audio或current-video属性来选择它们。切换字幕也很简单。值得注意的是,就像音频和视频一样,playbin负责为原创 2021-12-30 17:17:29 · 751 阅读 · 0 评论 -
Gstreamer播放教程1: playbin usage
文章目录1.Goal2.介绍3.实现1.compile2.code4.解析1.数据定义2.函数定义3.flag操作4.playbin属性设置5.处理键盘响应6.main loop7.analyze_streams8.handle_keyboard5.讨论1.Goal展示了如何自定义playbin元素。如何了解在文件中包含多少流,以及如何切换如何收集关于每个流的信息2.介绍更频繁地,可以找到多个音频,视频和字幕流嵌入在一个文件中。 最常见的情况是常规电影,其中包含一个视频,一个音频流(立体声或原创 2021-12-30 17:13:15 · 1148 阅读 · 0 评论 -
Gstreamer播放教程5: Color Balance
文章目录1. Goal2. Introduction3. Color balance example3.1 code3.2 compile4. Analyze4.1 code分析4.2 使用接口参考5. Conclusion1. Goal亮度、对比度、色相和饱和度是常见的视频调整,它们在GStreamer中统称为色彩平衡设置。本教程展示了:如何找到可用的色彩平衡通道如何改变它们2. IntroductionBasic tutorial 5: GUI toolkit integration 已原创 2021-12-30 17:10:30 · 705 阅读 · 0 评论 -
Gstreamer基础教程14:好用的元素
文章目录1. Goal2. Elements2.1 Bins1. playbin2. uridecodebin3. decodebin2.2 File input/output1. filesrc2. filesink2.3 Network1. souphttpsrc2.4 Test media generation1. videotestsrc2. audiotestsrc2.5 Video adapters1. videoconvert2. videorate3. videoscale2.6 Audio原创 2021-06-07 15:51:46 · 1627 阅读 · 0 评论 -
Gstreamer基础教程13:Playback Speed
文章目录1.Goal2.介绍3. A Trick mode player3.1 Compile3.2 Code1.Goal快进、倒放和慢动作都是所谓的技巧模式,它们都有修改正常播放速率的共同之处。本教程展示了如何实现这些效果,并在处理中添加frame-stepping。特别是,它显示如何改变播放速率,比正常速度快或慢,向前或向后如何逐帧推进视频2.介绍快进是一种以高于正常(预期)速度播放媒体的技术;而慢动作使用的速度低于预期的速度。反向回放做同样的事情,只是向后,从流的结尾到开始。所有这些原创 2021-06-07 10:37:10 · 804 阅读 · 0 评论 -
Gstreamer基础教程12: Streamer流
文章目录1. Goal2. Introducion3. A network-resilient example3.1 Compile3.2 Code4.解析5.总结1. Goal直接从Internet播放媒体而不将其存储在本地称为流。 每当我们使用以http://开头的URI时,我们都会在整个教程中这样做。 本教程显示了流媒体时要记住的其他几点。 特别是:如何启用缓冲(缓解网络问题)如何从中断中恢复(时钟丢失)2. Introducion流式传输时,媒体块一旦从网络到达,便会解码并排队等待呈原创 2021-06-07 10:35:07 · 510 阅读 · 0 评论 -
Gstreamer基础教程11: 调试工具
文章目录1. Goal2. Printing debug information2.1 The debug log2.2 Adding your own debug information2.3 Getting pipeline graphs3. 总结1. Goal有时情况无法按预期进行,并且从bus上检索到的错误消息(如果有)只是无法提供足够的信息。 幸运的是,GStreamer附带了大量调试信息,这些信息通常可以提示问题所在。 本教程显示:如何从GStreamer获取更多调试信息如何将自己的调原创 2021-06-07 10:22:28 · 638 阅读 · 0 评论 -
Gstreamer基础教程10: Gstreamer 工具
文章目录1. Goal2. 介绍3. gst-lanuch-1.03.1 Elements3.2 Properties3.3 Named elements3.4 Pads3.5 Caps filters3.6 Examples4. gst-inspect-1.05. gst-discoverer-1.06. Conclusion1. GoalGStreamer附带了一系列工具,从方便到绝对必要。 本教程中没有代码,请坐下来放松身心,我们将教您:如何在不使用C的情况下从命令行构建和运行GStreame原创 2021-06-07 10:21:12 · 1854 阅读 · 3 评论 -
Gstreamer基础教程9: 媒体信息采集
文章目录1.Goal2.介绍3.The GStreamer Discoverer3.1 Compile3.2 Code4.解析5.讨论1.Goal有时您可能想快速找出文件(或URI)包含哪种媒体,或者您是否能够播放所有媒体。 您可以构建一个管道,将其设置为运行,并查看总线消息,但是GStreamer具有一个实用程序可以为您完成此任务。 本教程显示:如何恢复有关URI的信息如何确定URI是否可播放2.介绍GstDiscoverer是在pbutils库(插件基础实用程序)中找到的实用程序对象,该原创 2021-06-07 10:18:53 · 598 阅读 · 0 评论 -
Gstreamer基础教程8: 缩短管道
文章目录1. Goal2. Introductin2.1 Buffer2.2 This tutorial3. Implement3.1 Compile3.2 Code4.解析使用buffer中的所有合并的内存块来填充info。flags描述对内存的期望访问。当flags为GST_MAP_WRITE时,buffer应可写(从gst_buffer_is_writable返回)。当buffer可写但内存不可写时,将自动创建并返回可写副本。buffer memory的只读副本也将被该可写副本替换。使用后,应使用gs原创 2021-06-07 10:08:10 · 556 阅读 · 0 评论 -
Gstreamer基础教程7: 多线程和Pad可用性
文章目录1. Goal2.介绍2.1 多线程2.2 The example pipeline2.3 Request Pads3. Implement3.1 Compile3.2 Code4. 解析5. 讨论1. GoalGStreamer自动处理多线程,但是在某些情况下,您可能需要手动解耦线程。 本教程显示了如何执行此操作,此外,还完成了有关“ Pad Availability”的说明。 更准确地说,此文档说明:如何为pipeline的某些部分创建新的执行线程什么是Pad可用性如何复制流2.原创 2020-12-21 20:16:10 · 583 阅读 · 0 评论 -
Gstreamer基础课程6: 媒体格式和Pad Caps
文章目录1.目标2.介绍2.1 Pads2.2 Pad 模版2.3 功能示例2.4 PS3.Implement3.1 Compile3.2 Code4.解析5.讨论1.目标Pad是Gstreamer的基本元素。本教程主要是what are Pad CapabilitiesHow to retrieve themWhen to retrieve themWhy you need to know about them2.介绍2.1 PadsPads允许数据进入和离开元素。Pad Caps则原创 2020-12-21 20:04:29 · 937 阅读 · 0 评论 -
Gstreamer基础课程4: 时间管理
1.Goal2.Introduce3.Implement3.1. Compile3.2. Code4. 解析4.1. 数据封装4.2. pipeline创建4.3. bus使用4.4. UI界面刷新1.Goal如何使用Gstreamer与时间相关的工具。在pipeline中查询流位置或持续时间之类的消息在流中查找(跳转)到其他位置(时间)2.IntroduceGstQuery机制允许向element或pad询问一条消息。在此是里中,会询问pipeline是.原创 2020-12-18 20:28:05 · 420 阅读 · 1 评论 -
strtok的使用以及字符串指针的使用
strtok函数分解字符串为一组标记串,原型为: extern char *strtok(char *s, char *delim); s 为要分解的字符串, delim 为分隔符字符串。首次调用时, s 必须指向要分解的字符串,随后调用要把 s 设成 NULL 。 strtok 在 s 中查找包含在 delim 中的字符 并用 NULL(‘/0’) 来替换,直到找遍整 个字符串。返回指向目前找到...转载 2019-10-12 14:30:14 · 734 阅读 · 0 评论