1、RTMP握手协议

查看链接 : https://github.com/ossrs/srs/wiki/v1_CN_RTMPHandshake

2、下载srs-master.zip版本

下载地址:https://github.com/ossrs/srs/tree/master

3、SRS可以直接导出一个srs-librtmp的project,编译成.h和.a使用。或者导出为.h和.cpp,一个大文件,具体的过程如下:

3.1、  SRS在2.0提供了导出srs-librtmp的编译选项,可以将srs-librtmp单独导出为project,单独编译生成.h和.a,方便在linux和windows平台编译。

(1)下载srs后,解压,进入目录

(2)SRS将srs-librtmp导出为独立可以make的项目,生成.a静态库和.h头文件,以及生成了srs-librtmp的所有实例。

dir=/home/test/srs-librtmp &&
rm -rf $dir &&
./configure --export-librtmp-project=$dir &&
cd $dir && make &&
./objs/research/librtmp/srs_play rtmp://ossrs.net/live/livestream说明:
//执行该命令在相应的目录
//dir 为自己定义,生成的目录

(3)结果

3.2 直接导出为一个文件,提供了简单的使用实例,运行实例

(1)操作命令:

dir=/home/TEST/srs-librtmp &&
rm -rf $dir &&
./configure --export-librtmp-single=$dir &&
cd $dir && gcc example.c srs_librtmp.cpp -g -O0 -lstdc++ -o example &&
strip example && ./example说明:
//example 为一个简单的运行demo

(2)结果

4.Windows下编译srs-librtmp

srs-librtmp可以只依赖于c++和socket,可以在windows下编译。

先使用SRS导出srs-librtmp(srs_librtmp.cpp和  srs_librtmp.h)如结果(2),将.h和cpp添加在自己的工程,然后在vs中编译,修改遇到的编译错误问题即可。

5.Windows下测试

#include <stdio.h>
#include "srs_librtmp.h"
int main(int argc, char** argv)
{srs_rtmp_t rtmp;printf("Example for srs-librtmp\n");printf("SRS(ossrs) client librtmp library.\n");printf("version: %d.%d.%d\n", srs_version_major(), srs_version_minor(), srs_version_revision());rtmp = srs_rtmp_create("rtmp://192.168.151.46:1935/live/livestream");srs_human_trace("create rtmp success");/*test*/int avx_success = -1;avx_success = srs_rtmp_handshake(rtmp);printf("srs_rtmp_handshake ,avx_success = %d\n", avx_success);if (avx_success != 0){srs_human_trace("1 ortmp simple handshake fail");}srs_human_trace("1 ortmp simple handshake success");avx_success = srs_rtmp_connect_app(rtmp);if (avx_success != 0){srs_human_trace("2 ortmp connect vhost/app fail");}srs_human_trace("2 ortmp connect vhost/app success");avx_success = srs_rtmp_publish_stream(rtmp);if (avx_success != 0){srs_human_trace("3 ortmp publish stream fail");}srs_human_trace("3 ortmp publish stream success");while (1){//send data}    srs_rtmp_destroy(rtmp);return 0;
}

srs提供的rtmp客户端srs-librtmp相关推荐

  1. SRS提供的librtmp

    librtmp是一个客户端库,好像是rtmpdump提供的一个客户端RTMP库. 应用场景 librtmp的主要应用场景包括: 播放RTMP流:譬如rtmpdump,将服务器的流读取后保存为flv文件 ...

  2. SRS流媒体服务器——RTMP推流、拉流创建连接

    SRS流媒体服务器--RTMP推流.拉流创建连接 目录 识别客户端,然后获取或者创建SrsLiveSource 启动推流 启动拉流 SRS安装部署相关内容: SRS流媒体服务器--单机环境搭建和源码目 ...

  3. 搭建srs服务器(rtmp)

    搭建srs服务器(rtmp) 目录: 1.下载srs源码(从码云上): 2. 切换到srs.oschina: 3. 这里使用3.0版本: 4. 切换到trunk: 5. 编译: 6. 启动: 7.查看 ...

  4. srs流媒体服务器windows_基于SRS构建的直播平台的监控系统的搭建思路与实现方法...

    市面直播平台百家争鸣,直播监控系统是判断一个直播平台是否完善的必要条件.文章简要介绍了笔者搭建的一套基于SRS的直播平台,并从设计思路.实现方法与实现过程等方面重点介绍了针对此直播平台建设的监控系统, ...

  5. srs直播 java开发,使用 SRS/OBS/VLC 快速搭建直播服务系统

    环境准备 推流服务器 我用 SRS 运行在 Debian/Jessie 下 v2.0.209 . 编译安装 ./configure --prefix=/opt/srs --with-stat --wi ...

  6. srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

    1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...

  7. linux srs安装教程,linux中srs流媒体服务器安装配置教程

    流媒体服务器,用过red5和crtmp,srs red5安装简单,性能一般,集群配置无文档,用户量大的话,就不要用了. crtmp安装简单,性能良好,集群配置简单,但是配置集群时需要指定从服务器的rt ...

  8. 流媒体分析之rtmp协议srs服务器数据收发

    根据上篇文章,rtmp 推流处理publishing .do_publishing 处理SrsLiveSource及传入收发SrsPublishRecvThread协程. srs_error_t Sr ...

  9. srs直播 java开发,通过srs实现直播

    通过srs实现直播 最终效果 效果图 环境配置 服务器:centos:7, nodejs:10.16.3 客户端:windows10 推流服务器 通过SRS实现流媒体, 它支持RTMP/HLS/Web ...

最新文章

  1. RedHat Enterprise 5.1下OpenLDAP的配置及PAMNSS的配置
  2. 卷积神经网络--CNN
  3. model.fit以及model.fit_generator区别及用法
  4. Java: 复制文件最快、高效率的方法
  5. 利用gulp对项目html,js,css,图片进行压缩
  6. 一文聊“图”,从图数据库到知识图谱
  7. eclipse中简单实现自己的工具类打包成jar包并在项目中使用
  8. Understanding Linux CPU Load - when should you be worried?
  9. Linux 服务器做网关
  10. efficientNet论文心得
  11. ESP8266开发之旅 阿里云物联网平台篇⑥ LED智能灯控制系统 全面讲解,上手一个小项目(MQTT客户端直连 + Web配网 + WebSocket局域网通信)
  12. Android 10.0 recovery prompt_and_wait 跳过弹窗 自动 WIPE_DATA(出厂设置)
  13. 神的战争god无法显示服务器,神的战争GOD
  14. python3 print函数格式化输出
  15. 测试开发工程师成长日记011 - linux常用命令day03
  16. VSCode使用chrom调试
  17. CV:无人驾驶/自动驾驶汽车中涉及的软硬件技术(摄像头、雷达、激光雷达)、计算机视觉技术(检测、分类、跟踪、语义分割)的简介
  18. 基于直方图的图像全局二值化算法原理、实现--基于谷底最小值的阈值
  19. 广州一机房上冰块制冷,法国一数据中心烧成废墟……
  20. Long Names Are Long

热门文章

  1. 使用QQEM创建效果
  2. linux 无线网卡驱动 centrino 6200 agn,联想Thinkpad无线网卡驱动(Intel Centrino Advanced-N 6200)...
  3. PnP解算及SolvePnp用法
  4. BS资产管理系统_BS资产管理系统方案
  5. python中的zip()方法
  6. C - Anu Has a Function
  7. 查找地名的字谜(以GB为单位)
  8. Python实现模拟按键刷搜狗拼音输入法字数
  9. 成都大数据技术学习:饿了么元数据管理实践之路
  10. 区块链技术架构 java_《区块链底层设计Java实战》之第二章区块链架构