linux下编译与运行crtmpserver

目录

前言

环境准备及编译

测试


前言

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。——摘录自百度。 如果大家想对RTMP有更深的认识,可以参看这篇文章:《带你吃透RTMP》。

本文要处理的是:用crtmpserver搭建服务器,用来做推拉流的中转。也就是ffmpeg推流到crtmpserver服务器,然后VLC从服务器拉流播放。那么这个服务器怎么搭建呢,下面就详细的记录一下。

环境准备及编译

1、win10上,装VMWare Workstation, 然后安装Ubuntu16.04

2、准备各种工具,看看是否需要更新。

// 如果没有cmake, 那就安装
apt-get install wget cmake

// 如果没有libssl-dev , 通信用到的库, 就先安装
apt-get install libssl-dev 

3、 准备文件并编译

// 新建一个文件夹
mkdir crtmp

// 进入这个文件夹
cd ctrmp

// 然后下载文件:
wget https://codeload.github.com/j0sh/crtmpserver/zip/centosinit

// 解压
unzip centosinit

// 得到 crtmpserver-centosinit, 进入这个文件夹
cd crtmpserver-centosinit

// 进入到builder
cd builders

// 进入到cmake
cd cmake

// 可以看到这里有Makefile文件,执行
cmake
make

// 编译完之后,执行下面这句话,就可以执行了
./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua

// 在上面那句话执行的过程中,不要中断,就可以进行测试了。
// 如果想要结束,直接ctrl+c ,就能中断

测试

方式一:

准备好我们下载的ffmpeg—shared版本,进入bin,找到 ffmpeg.exe, 在这个文件中放一个flv文件。

然后在这个文件夹的目录栏中,输入 cmd, 进入命令行:

ffmpeg  -i China.flv  -f flv rtmp://192.168.87.6/live/test1

打开VLC, 媒体——>打开网络串流,输入:rtmp://192.168.87.6/live/test1, 播放。

可以看到推流的文件,进行播放了。

 

方式二:

准备好ffmpeg-dev版本,建一个win32的控制台工程,将include lib dll等,都包含进去。然后写代码,把文件读入,进行推流。拉流依然用VLC。

播放文件推流:推流端需要控制进度、速度。根据文件的fps进行控制。这一部分,还是需要特别注意的。

《代码》

猜你喜欢

转载自blog.csdn.net/qq_34732729/article/details/106795724