搭建web流媒体播放(基于ffmpeg+red5的xp系统)
项目采用HKvision摄像头和xp系统(32位机),需要通过web页面实现远程监控。HKvision摄像头是rtsp格式的视频,无法通过HTML的video标签播放。随即采用ffmpeg进行格式转换,red5作为视频服务器。(所有软件在文章末尾)
一、搭建JDK环境
因为red5是基于java的,所以需要首先安装和配置jdk。因为xp系统不支持JDK8,所以下载的一个编译好的JDK8版本。
然后再配置环境参数。右键我的电脑--》属性—》高级,添加系统变量:
变量:JAVA_HOME 值为:C:\jdk1.8.0_65(即为安装目录)
变量:CLASSPATH 值为:C:\jdk1.8.0_65\lib
添加路径,在path中添加JDK路径:C:\jdk1.8.0_65\bin(注意分号不要掉了)
以上路径根据自己的目录更改
在命令窗口中(win+R --》cmd)输入命令:java -version 可以查看Java版本,则证明JDK环境搭建陈宫
二、搭建red5 流媒体服务器
1、在Red5:http://www.red5.org/downloads/下载1.0.10 Milestone 9版本
下载的压缩包,直接解压,放到安装目录下。我是安装到C盘下。参考资料2中exe文件我下载不了。
2、配置red5环境,添加系统变量red5_home 值为C:\red5-server(即red5的安装目录,根据自己的目录更改)
3、双击“red5.bat”启动red5。
4、验证red5是否部署成功
在浏览器输入localhost:5080(red5默认5080端口),出现如下页面则说明搭建成功
三、ffmpeg 安装
1、ffmpeg官网https://ffmpeg.zeranoe.com/builds/ 中有三个版本可以下载,由于我用的是xp系统,尝试了三个版本都不能成功,报错说动态库kernel32.dll出错,照网上的教程重新安装注册又报错:已加载KERNEL32.dll,但没有找到DllRegisterServer,无法注册这个文件。经过各种办法还是无法解决,或许高版本的系统能够成功安装。后来看到一个帖子给出了支持xp系统的ffmpeg(表示感谢),下载安装成功。http://pan.baidu.com/s/1c0UbOVQ这是个压缩包,解压放到安装目录,并配置环境参数。添加路径path c:\ffmpeg.20160323.for.XP.x86.static
2、验证
cmd打开命令行,输入 ffmpeg -version 成功显示版本信息,则表示安装成功。
如果不成功,把c:\ffmpeg.20160323.for.XP.x86.static\bin也添加到path中
四、转rtsp为rtmp
在命令窗口中输入
ffmpeg -i "rtsp://admin:admin12345@192.168.1.64:554/h264/ch1/main/av_stream" -f flv -r 25 -s 640x480 -ar 44100 "rtmp://localhost/oflaDemo/hello"
在red5目录文件中的webapps\oflaDemo中index.html中
改为:
五、整体运行
1.运行red5 双击red5.bat
2.视频转码 命令窗 ffmpeg -i "rtsp://admin:admin12345@192.168.1.64:554/h264/ch1/main/av_stream" -f flv -r 25 -s 640x480 -ar 44100 "rtmp://localhost/oflaDemo/hello"
3.浏览器输入:http://localhost:5080/oflaDemo/index.html
所有软件下载地址:https://pan.baidu.com/s/16tPoz7gZ8G2omG2Dn27vbg
参考资料1:https://www.jianshu.com/p/e3e90acfd41d
参考资料2:https://www.cnblogs.com/web-easy/p/8377389.html
参考资料3:https://www.cnblogs.com/jacktang/p/4741777.html
参考软件:https://www.cnblogs.com/nlsoft/p/5312467.html