实现简单网页rtmp直播:nginx+ckplayer+linux
一、安装nginx
安装带有rtmp模块的nginx服务器(其它支持rtmp协议的流媒体服务器像easydarwin、srs等+Apache等web服务器也可以),此处使用nginx服务器,简单方便。
安装请参考我的CSDN:nginx安装,经过多次安装实践,此方法适用于rhel和centos系统,ubuntu可能会不适用,如果安装过程中出现大量错误,请另行百度安装方法。
不一定非要使用云服务器,可以自己使用vmware虚拟一个linux系统,就可以在同一台电脑上实现整套流程,不过是局域网,和广域网可能还有部分差异,但是大同小异,流程都是差不多的,简单使用的话,用vmware的方式就够了。注意需要关闭防火墙或者通行相关端口。
二、推流
推流在此我使用的是ffmpeg,ffmpeg虽然是一个开源软件,但是功能很多也很强大(一般开源软件性能都不是很强,只是让你入门学习使用),此处用它绰绰有余。ffmpeg官网有不用自己编译的版本,也可以自己动手编译下,锻炼下自己动手的能力,此处就不放windows版本的了,之前自己动手编译过一个linux版本的,不想自己动手的可以去这里CSND下载。
windows版本推流命令:
while() { .\ffmpeg.exe -re -i F:\ChengTongPan\MangZhong.mp4 -vcodec copy -acodec copy -f flv rtmp://x.x.x.x:xxxx/live/room }
linux版本推流命令:
while true; do ./ffmpeg -re -i ./MangZhong.mp4 -vcodec copy -acodec copy -f flv rtmp://x.x.x.x:xxxx/live/room; done
ffmpeg自带的循环推流在这里不能使用,只能使用一个简陋的循环推流。
三、选择播放方式
这里使用ckplayer的方式,此方式会依赖flash,过后我会尝试寻找不依赖flash的方式,据了解,html5已经可以不依赖falsh实现rtmp协议视频播放,待以后探索。。
编辑index.html:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>ckplayer</title> <style type="text/css">
body {
margin: 0;
padding: 0px;
font-family: "Microsoft YaHei", YaHei, "微软雅黑", SimHei, "黑体";
font-size: 18px;
}
p{
padding-left: 2em;
}
</style> </head> <body>
<div id="video" style="width: 100%; height: 400px;max-width: 600px;">
</div>
<script type="text/javascript" src="ckplayer/ckplayer.js" charset="UTF-8"></script>
<script type="text/javascript">
var videoObject = {
container: '#video', //容器的ID或className
variable: 'player', //播放函数名称
//loop: true, //播放结束是否循环播放
autoplay: true,//是否自动播放
poster: 'material/poster.jpg', //封面图片
preview: { //预览图片
file: ['material/mydream_en1800_1010_01.png', 'material/mydream_en1800_1010_02.png'],
scale: 2
},
//flashplayer:true,
//live:true,
//debug:true,
//video:'rtmp://58.200.131.2:1935/livetv/hunantv' 此链接是网络流,可以测试使用,可以替换为你自己的rtmp流地址
video:'rtmp://ip+port/live/room'
};
var player = new ckplayer(videoObject);
</script>
</body> </html>
下载ckplayer,百度一大堆,好像没找到上传附件的方式,此处就先不放了。。。
下载解压ckplayer到nginx的根目录下,应该是在/usr/local/nginx/html下面,不是在这里的自己找一下自己的根目录在哪就好了。
四、播放测试:
找到一个带有flash插件的浏览器,打开nginx下的html文件即可播放,我的是http://x.x.x.x/ckplayer,打开后如下:
至此,rtmp协议的简单直播服务就搭建完成了。
最新文章
- WIFI功率修改
- 使用U盘代替光盘来刻录ISO镜像文件的方法
- 编译hadoop eclipse的插件(hadoop1.0)
- UESTC 2016 Summer Training #1 Div.2
- oracle组件
- Android实现发短信与打电话的功能
- Android开发技巧——实现在图标文本底部导航栏(更新)
- Ch1. Intro to Programming
- Arcgis Engine axMapControl1.get_layer(index)中index意义
- hdu 1540 Tunnel Warfare(Treap)
- LeetCode(84): 柱状图中最大的矩形
- JS通过键盘点击事件实现div移动
- Tomcat的配置文件详解
- jsonp封装成promise
- Dede文章标题长度修改
- Asp.net core 2.0.1 Razor 的使用学习笔记(六)
- 【转】【Python】Python多进程与多线程
- sql server中的大数据的批量操作(批量插入,批量删除)
- 笨办法学Python - 习题6-7: Strings and Text &; More Printing
- ElasticSearch中如何让query should等同于filter should