博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
srs提供的rtmp客户端srs-librtmp
阅读量:4167 次
发布时间:2019-05-26

本文共 2001 字,大约阅读时间需要 6 分钟。

1、RTMP握手协议

    查看链接 :

2、下载srs-master.zip版本

    下载地址:

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 
#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;}

 

转载地址:http://vjqxi.baihongyu.com/

你可能感兴趣的文章
vim编程常用命令(随时补充更新)
查看>>
一个简单的makefile示例及其注释
查看>>
python mysql
查看>>
高效人士的八个习惯
查看>>
mysql 赋给用户权限 grant all privileges on
查看>>
读取文件的几种方法
查看>>
yast 创建本地数据源
查看>>
vim 编码方式(encoding、fileencoding、fileencodings、termencoding介绍)
查看>>
程序员的十层楼
查看>>
windows 下php支持curl
查看>>
获取文件夹文件(C++)
查看>>
判断文件夹是否存在
查看>>
快速的内存分配器
查看>>
java中super 的两种用法
查看>>
bdb及其在php下扩展的安装
查看>>
bdb及其在php下扩展的安装
查看>>
android 小问题
查看>>
BerkeleyDB安装及配置
查看>>
标准的Activity Actions
查看>>
关于Android requires .class compatibility set to 5.0. Please fix project properties.的错误
查看>>