直播系统搭建中的音视频数据是如何采集的

  用directshow写了一个采集本地音视频数据的库AVCap. 获取音视频采集设备, 指定设备并开始采集后, 给上层应用返回采集的音视频数据.

  接下来的工作有两个:

  1. 添加一个预览采集到的视频的接口, AVCap是不涉及界面的东西的, 所以不需要MFC的支持, 也不需要用到windows界面相关的API, windows消息机制等, 暂时的想法是上层给它一个句柄就能预览视频了.

  2. 对音视频进行网络传输前的编码工作, 暂时还没有定下格式. 

 

  下面简单说一下dshow采集音视频的步骤.大部分内容在dshow SDK帮助文档中Audio Capture, Video Capture两大章节中都有, 只是我按帮助文档中的步骤最后使用ISampleGrabber时没能成功. 只能再次求助SDK中的例子拉. 我的核心代码大部分来自于samples中editing下stillcap这个示例, 实际上你也完全可以通过学习stillcap示例了解采集过程而跳过下面的内容.

  1. 初始化(或者说建立对象? COM的知识懂的不多)IGraphBuilder, ICaptureGraphBuilder2

  2. 获取音视频采集设备

  3. 获取音视频采集filter

  4. 初始化ISampleGrabber, 由于stillcap只采集视频, 这里说下音频的格式.

AM_MEDIA_TYPE mt;

mt.majortype = MEDIATYPE_Audio;//MEDIATYPE_Video

mt.subtype = MEDIASUBTYPE_PCM;//MEDIASUBTYPE_RGB24

mt.formattype = FORMAT_WaveFormatEx;//视频采集时没设置这一项

 

hr = pGrabber->SetMediaType(&mt);

  5. 使用PIN_CATEGORY_PREVIEW链接capture filter -> grab filter -> null filter.

  6. 设置ISampleGrabber的回调

  7. IMediaControl run().

 

  PS:封装完AVCap后, 如果暂时不考虑观看视频, dshow应该就告一段落了, oyeah!

一、prometheus简介 Prometheus是一个开源的系统监控和告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,prometheus支持多种exporter采集数据,还支持通过pushgateway进行数据上报,Prometheus再性能上可支撑上万台规模的集群。 二、prometheus架构图 三、prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据。 2.Client Library: 客户端库,检测应用程序代码,当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。 3.Exporters: prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端 4.Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉, slack等。 5.Grafana:监控仪表盘 6.pushgateway: 各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。 四、课程亮点 五、效果图展示 六、讲师简介 先超(lucky):高级运维工程师、资深DevOps工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作 主要研究方向: 1.云计算方向:容器 (kubernetes、docker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等2.系统/运维方向:linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等 七、课程大纲
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页