• 欢迎光临国盛科技!
  • 设为首页 设为首页 收藏 收藏本站
  • 首页
  • 业界聚焦
  • 互联网络
  • 国盛专题
  • 科技前沿
  • 风云人物
  • 媒体动态
  • 产业经济
  • 移动通信
  • 数码电子
  • 主页 > 媒体动态 >
  • GStreamer根本教程03 - 媒体类型取Pad

  • 发布时间:2019-09-10 03:58
  •   正在上一篇文章中,我们引见了若何将多个element毗连起来构制一个pipline,进行数据传输。那么GStreamer是通过何种体例element之间能一般的进行数据传输?今天就将引见GStreamer是若何操纵Pad来节制数据的传输。

      我们晓得,pad是element之间的数据的接口,一个src pad只能取一个sink pad相连。每个element能够通过pad过滤数据,领受本人支撑的数据类型。Pad通过Pad Capabilities(简称为Pad Caps)来描述支撑的数据类型。例如:

      一个Pad能够支撑多品种型的Caps(好比一个video sink能够同时支撑RGB或YUV格局的数据),同时能够指定Caps支撑的数据范畴(好比一个audio sink能够支撑1~48k的采样率)。可是,正在一个Pipeline中,Pad之间所传输的数据类型必需是独一的。GStreamer正在进行element毗连时,会通过协商(negotiation)的体例选择一个两边都支撑的类型。

      因而,为了能使两个Element可以或许准确的毗连,两边的Pad Caps之间必需有交集,从而正在协商阶段选择不异的数据类型,这就是Pad Caps的次要感化。正在现实利用中,我们能够通过gst-inspect东西查看Element所支撑的Pad Caps,从而才能晓得正在毗连犯错时若何处置。

      因为Pad Template属于Element工场,所以我们能够间接利用gst-inspect查看其属性,但Element现实的Pad会按照Element所处的分歧形态来进行实例化,具体的Pad Caps会正在协商后才会被确定。

      只要我们从mp4文件中读取数据时,我们才能晓得这个文件中包含几多音频,视频,字幕,所以这些src pad都是sometimes pad。

      当我们需要将统一视频流同时进行显示和存储,这时候我们就需要用到tee,正在建立tee element的时候,我们不晓得pipeline需要几多个src pad,需要后续element来请求一个src pad。

      形态从NULL转到READY时,GStreamer会获取音频输出设备所支撑的所有类型,这里能够看到sink pad caps列出了输出设备所能支撑的类型。

      形态从READY转到PAUSED时,GStreamer会协商一个所有element都支撑的类型。当进入PLAYING形态时,sink会采用协商后的类型进行数据传输。

    上一篇:媒体查询拜访的类型和根基方式
    下一篇:自媒体赔本若何做到月收入上万
  • 首页 | 免责声明 | 业界聚焦 | 互联网络 | 国盛专题 | 科技前沿 | 风云人物 | 媒体动态 | 产业经济 | 移动通信 | 数码电子 |
  • 2008-2019 国盛科技 版权所有