ffmpeg + crtmpserver实现直播推流
搭建服务器crtmpservercrtmpserver是开源的直播服务器,地址:https://github.com/j0sh/crtmpserver环境:虚拟机+ubuntu16.04gcc5.4在虚拟机中打开终端,执行下面操作:sudo apt-get updatesudo apt-get installcmakeasudo pt-get install li...
·
搭建服务器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,然后安装。
- 先打开vlc,左上角 媒体,打开网路串流,输入上面推流的地址:rtmp://192.168.32.129/live/test1,点击打开
- 推流,执行上面的命令ffmpeg -i test2.mp4 -f flv rtmp://192.168.32.129/live/test1
更多推荐
已为社区贡献1条内容
所有评论(0)