当前位置: 首页 > news >正文

深入解析:SRS流媒体服务器二次开发-实现媒体流采集服务

一 概述

        该文章是通过研究srs开源服务,在此基础上,实现一个简化的媒体流采集服务.媒体流可以是实时流,也可以是文件 .本质上该采集服务是使用ffmpeg命令将输入的媒体流,输出到rtmp服务器上。rtmp服务器可以是srs服务器或其它支持rtmp协议推流的媒体流服务器。

二 实现流程

        1. 定义一个配置文件 ;

采集实时流配置文件 :ingest.rtsp.conf   

vhost __defaultVhost__ {ingest {enabled      on;input {type    stream;url     rtsp://admin:admin12345@192.168.22.42:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif;}ffmpeg      /usr/local/ffmpeg/bin/ffmpeg;engine {enabled          on;perfile {rtsp_transport tcp;}vcodec copy;acodec copy;output          rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream;}}
}

    采集文件流配置文件 : ingest.conf

vhost __defaultVhost__ {ingest livestream {enabled      on;input {type    file;url     ./doc/source.200kbps.768x320.flv;}ffmpeg      /usr/local/ffmpeg/bin/ffmpeg;engine {enabled          off;output          rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream;}}
}

        2. 实现一个配置文件解析类;

        实现CustomConf.h CustomConf.cpp ,解析配置文件 ingest.conf和ingest.rtsp.conf ,实现对配置信息的获取,以便程序中使用.

        3. 实现一个采集服务类;

        实现IngestServer.cpp IngestServer.h ,该类实现的功能有:初始化,采集服务启动,采集服务停止 ,定时器功能.

        4. 参考srs中的采集流程实现服务.

三 自定义类实现

        1.配置文件解析类 CustomConf

CustomConf.h

#ifndef PARSECONF_CUSTOMCONF_H
#define PARSECONF_CUSTOMCONF_H
#include 
#include 
#include 
#include 
class CustomConf {
public:static CustomConf* getInstance();SrsCplxError *init(int argc, char *argv[]);
private:CustomConf();
private:static CustomConf* _instance;
};
#endif //PARSECONF_CUSTOMCONF_H

CustomConf.cpp

#include "CustomConf.h"
#include 
#inclu
http://www.jsqmd.com/news/375173/

相关文章:

  • 2026主管护师3个月极限上岸:这份详细备考拆解方案,现在看完全来得及! - 医考机构品牌测评专家
  • 【Azure APIM】为何APIM自建网关中的cache-lookup-value策略无法正常工作?
  • 我用 GLM-5 做了个 AI 女友,能发自拍、发语音、还能帮我干活!
  • 基于元胞自动机的动态再结晶与晶粒长大模拟程序功能说明
  • 2026主管护师3个月通关攻略:来得及!这份高效备考安排请收好 - 医考机构品牌测评专家
  • P10719 [GESP202406 五级] 黑白格 二维前缀和
  • 告别无效刷题:2026主管护师备考APP高分榜最新出炉,这三款杀出重围 - 医考机构品牌测评专家
  • 速通秘籍!提示工程架构师的提示系统用户反馈机制设计
  • 2026主管护师备考:5款主流刷题APP功能特征梳理与选择参考 - 医考机构品牌测评专家
  • FPGA 工程师如何提升自己?
  • 科学刷题方法论:2026主管护师考前冲刺怎么刷题?三阶段适配方案与刷题资源解析 - 医考机构品牌测评专家
  • 2026主管护师考前冲刺怎么高效刷题?3阶刷题法+4款实测,这份测评值得收藏 - 医考机构品牌测评专家
  • 2026执医考试哪个机构押题准?3大热门机构硬核对比,综合实力TOP1是它 - 医考机构品牌测评专家
  • 如何下载、安装whisper、faster_whisper?深度解析:原理、实战与踩坑记录
  • 怎么查看SSL证书还有多久到期?
  • 哪个机构执业医师面授班好?请收好这份选择指南 - 医考机构品牌测评专家
  • 主管护师考试押题卷横向测评与优选推荐 - 医考机构品牌测评专家
  • 安装快、组网易:ADL400N-CT,让防逆流系统部署不再“拖泥带水”
  • Calibre中文版下载安装教程:2026最新电子书管理软件,支持EPUB/MOBI/PDF互转 - xiema
  • 2026年知名的阳光板温室大棚建设,连栋温室大棚建设,智能温室大棚建设厂家选购参考榜 - 品牌鉴赏师
  • 主流主治考试冲刺卷维度测评,助力医师睿智择优 - 医考机构品牌测评专家
  • 差动保护+光纤环网:解密AM6-PW的“硬核”科技力
  • 软硬一体,全程陪伴:安科瑞如何打通零碳园区“最后一公里”?
  • 延迟低至30ms,甚至能鼠标控iPhone:这款新的的国产投屏神器,让我卸载了所有同类
  • 主治医师考试高口碑讲师推荐 - 医考机构品牌测评专家
  • 详细介绍:记录自己第一次将React 编写的前端部署到服务器,实现外网访问
  • 降本、合规、增效:EMS3.0一站式破解园区“碳”锁难题
  • 企业如何有效开展豆包推广?四大核心策略 - 品牌2025
  • 2026年抗裂砂浆行业盘点:十大供应商排名,谁将引领市场新格
  • 平顶山汝州工业互联网信息化物联网仪器仪表机电自动化控制系统无线传感器供应商厂家-河南云科测仪