SRS源码——UDP】的更多相关文章

srs_app_server.cpp  int SrsServer::listen() { int ret = ERROR_SUCCESS; if ((ret = listen_rtmp()) != ERROR_SUCCESS) { return ret; } if ((ret = listen_http_api()) != ERROR_SUCCESS) { return ret; } if ((ret = listen_http_stream()) != ERROR_SUCCESS) { re…
SRS源码中的Thread是一层套一层,最终的Thread类是在 srs_app_thread.cpp 的 SrsThread 类 这里我们暂且先放下协程的概念,把它当线程来看,其逻辑如下: 1. 在start() 方法中创建线程: int SrsThread::start() { int ret = ERROR_SUCCESS; if(tid) { srs_info("thread %s already running.", _name); return ret; } :), ))…
在SRS的Ingest功能中,会调用本地FFmpeg进行拉流转码, 调用的核心代码在srs_app_ffmpeg.cpp 的 SrsFFMPEG::start() 中: // memory leak in child process, it's ok. ]; ; i < (int)params.size(); i++) { std::string& p = params[i]; charpv_params[i] = (char*)p.data(); } // EOF: NULL charpv…
1. 整理了一下Listener相关的UML类图:…
一.背景 搭建流媒体服务的方式一般会采用nginx+rtmp和srs服务两种,前者是nginx加上插件所用,而后者是专门为了为了流媒体而生,在这一节中我们将从头搭建srs流媒体服务 二. 运行环境 为了此服务后期部署到生产环境中,笔者采用docker方式来搭建此服务,docker目前属于基础性软件了,在本文中就不再细述如何安装,大家可以去www.docker.com下载安装包安装即可:一般正式的生产环境中我们通常使用Linux系统作为服务器,所以我本文中同样使用了Linux系统,不过我选择了我比…
下载代码 地址:https://github.com/ossrs/srs-gb28181 https://github.com/ossrs/srs-gb28181.git 注意:使用的是含有gb28181的GitHub仓库地址.若是使用其他的仓库地址,比如:https://github.com/ossrs/srs.git,这种在编译过程中不确定configure命令是否含有./configure --with-gb28181参数,没有的话则不能使用这个仓库的源码 我这边是直接在线下载的一个zip…
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方面的内容,也有做过一些Demo(包括整理出来的.可供学习使用的简单通信框架).具体可以参见以下博客: http://www.cnblogs.com/xiaozhi_5638/p/4244797.html(清晰易懂TCP通信原理解析) http://www.cnblogs.com/xiaozhi_56…
源码分析 在茫茫的源码中,看到了几个好像挺熟悉的名字(socket/UDP/shmem).那就来看看这个文件吧!从简单的开始~~~ src/os/unix/Ngx_socket.h&Ngx_socket.c 源码如下(可用Source Insight来看源码,不错的选择): /* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SOCKET_H_INCLUDED_ #define _NGX_SOCKE…
C#UDP(接收和发送源码)源码完整 最近做了一个UDP的服务接收和发送的东西.希望能对初学的朋友一点帮助. 源码如下: 一.逻辑--UdpServer.cs using System;using System.Net;using System.Net.Sockets;using System.Threading;using System.Diagnostics;using System.Windows.Forms;using System.Collections.Generic;using S…
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做SRS的流媒体服务器,比较活跃,而且据说这个流媒体服务器的性能和功能都强大不少,但遗憾的是没有HLS加密功能.问原作者没有回复,所以还是自己动手,丰衣足食吧,花了几个晚上的时间自己参考nginx-rtmp实现了一下.代码放到了github上. 功能介绍 几个新添加的参数配置项 hls_keys on…