好久没更新博客了,中间被调到其他项目组,也一直没搞这个。现在花点时间再重新写一下,继续准备把关于Red5的点播和直播写完吧。
关于Red5的点播,我只做一个简单的介绍吧,至于要做成大项目,还要根据公司项目的需要不同来说,因公司而异吧。基本的实现如下:
我们把red5-server-1.0.10-M4.tar.gz,解压后的目录。如果是在windows环境下,直接点击red5.bat运行正常即可,如果有报错,请检查jdk或者留言。
如果是在Linux环境下,建议用命令nohup /root/red5-server/red5.sh &
运行,这样就可避免一直打印日志。nohup命令不熟悉的,请自行百度。
点开webapps目录,如下图:
简单说下,我们都知道做javaweb的开发,最终项目会部署到webapp下。下图是Red5解压后自带的目录,我们在这里也可以新建一个目录,例如:MyProject,
然后将oflaDemo内的文件全部复制过来,至于为啥全部要复制,我在下面简单讲一下吧。
打开oflaDemo目录,看下里面的几个文件夹。
①.streams文件夹,主要用于存放你点播的视频和图片。图片可以是你视频的截图,这样可以让别人先大概知道视频的内容吗,也可以是任意的图片。
②. WEB-INF文件夹,这个文件夹内我们主要关注一下red5-web.properties这个文件。如果你前有新建文件夹,例如:MyProject,那么这个文件也
需要做对应的修改。webapp.contextPath的值就则改为MyProject。
其中webapp.contextPath用于指定项目的目录名,webapp.virtualHosts用于指定监控的IP,默认为*表示监控所有ip,也可根据项目需要设置,
如:webapp.virtualHosts=192.168.2.28,如果要设置多个ip,用逗号隔开。
webapp文件夹内,文件red5-web.xml是用来指定该应用程序在webapps目录下加载的程序集以及相关的beans。
③index.html文件,我们做点播的web界面默认是指定访问这个文件的,这个待会后面再重点讲解。
④jwplayer.js和player.swf,这两个是web点播界面的视频播放插件所需的。Red5做视频点播,web界面默认用的嵌入的插件就是jwplayer。
上面讲了这么多,下面开始真正聊聊关于点播的事情了。
windows环境下,我们点击red5.bat正常启动后。
可以直接http://localhost:5080/oflaDemo/index.html去访问index文件,如下所示,可以直接点播视频。
下面我们重点看下这个index.html文件的内容,看下它里面关于jwplayer的一些配置参数。
用文档编辑工具打开index.html,我们着重关注下面的代码:
<div id='mediaspace'>This text will be replaced</div>
<script type='text/javascript'>
jwplayer('mediaspace').setup({
'flashplayer': 'player.swf',
'file': '2a929300-0b5b-45cd-a278-b95ea4f31df3.mp4',
'streamer': 'rtmpt://localhost:5080/oflaDemo',
'image':'http://localhost:8080/red5-server/a33758d6-415b-4788-b60b-aa31477534f6.JPG',
'controlbar': 'bottom',
'width': '720',
'height': '480'
});
</script>
div模块,如果你想有多个点播视频,记得id不要重复哦。
下面是script脚本的部分,jwplayer就是在这里配置的:
⑴flashplayer用于指定视频播放的插件,这里就是oflaDemo文件夹下的player.swf,如果你将player.swf放到其他文件夹,记得要指定路径。
⑵file用于指定我们播放的视频文件。需要注意的是,这个文件是放在oflaDemo文件下的streams文件夹里。当然,值得一提是,这个文件可以通过接口去指定,这样可以避免源文件的暴露。文件的来源,我们可以在项目中
做视频的上传功能,然后放在指定目录里,做开发的小伙伴们,你们懂得。
⑶streamer 用于指定流媒体播放的协议地址。这里是写死的,其实我们也可以用接口做,动态获取它,本人已在项目中测试过。
⑷image用于指定点播视频框的图片,如果不指定默认就是黑框。这个也可以在项目中,上传图片然后通过接口去获取,如:'image':'http://localhost:8080/red5-server/a33758d6-415b-4788-b60b-aa31477534f6.JPG',这个图片也是放在streams文件夹里的,不然会获取不到。
还有关于jwplayer的宽高设置等,如果还需其他配置参数,读者可以去了解一下jwplayer的相关资料。
好了,到此关于点播的简单说明就到这。至于你说想做成想爱奇艺、搜狐视频那样的点播界面呢,不是不可以,那就是web前端开发的事咯,这里只做简单的讲解。
下一章会具体讲讲直播的开发事情,相对于点播,直播要复杂一些。点播只是从做拉流的工作,而直播不仅涉及拉流,还有推流。
本人的博客更新有点慢,项目忙,各位大神谅解一下哈。如果本博客有什么不对的地方,或是需要改进的地方,欢迎吐槽或是留言。本博客原创,转载请注明出去。