ffmpeg + crtmpserver实现直播推流

搭建服务器crtmpserver

crtmpserver是开源的直播服务器,地址:https://github.com/j0sh/crtmpserver

环境:

虚拟机+ubuntu16.04

gcc5.4

在虚拟机中打开终端,执行下面操作:

sudo apt-get update
sudo apt-get install  cmake
asudo pt-get install libssl-dev
wget https://codeload.github.com/j0sh/crtmpserver/zip/centosinit
unzip centosinit
cd builders/cmake
cmake . 
make
./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua

之前是用的ubuntu18.04 , 由于版本太高,make的时候出现了一些警告,然后编译把这些警告当错误对待,不往下编译了,需要忽略这些错误,查看issue:

没办法,对cmake的配置不是很熟悉,不知如何配置 -wno-literal-suffix 忽略这些警告,便换回ubuntu16.04,就没错误了。

成功打开服务器:

ffmpeg推流

在win10下载下来ffmpeg的ffmpeg-3.2-win64-shared,然后在bin目录下找到了 ffmpeg.exe。不想麻烦去配置环境变量,拷贝了视频test2.mp4到该目录就在该目录下,将这个视频推流带服务器,然后通过网络访问推流的视频执行:

// 将mp4 解封装,然后解码,再封装为flv格式,会压缩,变模糊
ffmpeg -i test2.mp4  -f flv rtmp://192.168.32.129/live/test1

// -c copy 将mp4 解封装,直接拷贝到服务器,再封装为flv格式,速度会很快不用解码
ffmpeg -i test2.mp4  -c copy -f flv rtmp://192.168.32.129/live/test1

这里的rtmp是推流服务器地址,这里ip为服务器ip, 因为我服务器是虚拟机中,我最初是在win10 通过ipconfig获取虚拟机ip,一直推流失败,然后就去虚拟机获取ip,方法:

ifconfig -a

vlc播放

下载vlc,然后安装。

  1. 先打开vlc,左上角 媒体,打开网路串流,输入上面推流的地址:rtmp://192.168.32.129/live/test1,点击打开
  2. 推流,执行上面的命令ffmpeg -i test2.mp4  -f flv rtmp://192.168.32.129/live/test1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值