ffmpeg + RED5 RTSP转换RTMP

前言

在实际的项目开发中,需要网站平台接入实时视频流,实现远程监控。使用海康的摄像机器;传送的是rtsp格式的视频流。之前采用flv网络插件,但是chrome与ff升级之后,对vlc插件的支持不理想,于是想用ffmpeg的转码技术将rtsp码流转换成rtmp。

技术路线

1、安装red5服务器(当然,因为red5是基于java的,所以需要首先安装和配置jdk,这里不再说明)。
注意:在安装过程中需要输入ip地址和端口号,之前我输入127.0.0.1,但是安装完毕后启动失败,后来用0.0.0.0代替,能够正常访问;端口号随意输入,这里我用的是默认的端口5080。

2、安装成功后,需要配置环境变量:

RED5_HOME://添加red5的安装地址
path:%RED5_HOME%\boot.jar;%RED5_HOME%\lib

3、启动red5服务,点击red5安装目录中的red5.bat,

red5.bat启动成功

出现如图字样,才是启动成功,在这之前不能关闭此命令行界面,这也是造成启动失败的一个原因。
4、至此,red5 就安装好了,访问http://localhost:5080会出现red5的主页,说明部署成功。
red5 本地主页

5、red5提供了很多demo,访问http://localhost:5080/installer/,可以选择安装demo。
localhost:5080/installer

6、安装ffmpeg,官网上下载的是免安装版本,只要解压到指定的文件夹就可以。然后在环境变量里添加path的配置

PATH:/你的ffmpeg安装目录/bin

7、cmd打开命令行,输入 ffmpeg -version 成功显示版本信息,则表示安装成功


ffmpeg -version

8、以上,流媒体转换器和流媒体的服务器都安装好了,接下来就是转转转啦。
在命令行里输入

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 文件,将jwplay的文件属性更改成hello,访问http://localhost:5080/oflaDemo/index.html,将会出现连接摄像头的视频信号。

红框中更改成hello

注意:

1、oflademo文件夹是在installer界面安装的demo程序
2、ffmpeg参数参考http://blog.csdn.net/leixiaohua1020/article/details/12751349
3、转换成功后,明显会有丢帧的情况,原因研究中

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容