使用FFmpeg+Nginx+VideoJS将摄像头rtsp流转码成rtmp流并播放
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用FFmpeg+Nginx+VideoJS将摄像头rtsp流转码成rtmp流并播放,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2228字,纯文字阅读大概需要4分钟。
内容图文
![使用FFmpeg+Nginx+VideoJS将摄像头rtsp流转码成rtmp流并播放](/upload/InfoBanner/zyjiaocheng/933/1f1964710ec74dc789311d0dc7839c81.jpg)
工具介绍
FFmpeg: FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。github地址:https://github.com/FFmpeg/FFmpeg
Nginx: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
nginx-rtmp 是由俄罗斯人开发的 NGINX 模块,该模块完善了 NGINX 对视频的支持,并且实现了对 HLS 的支持。
VideoJS: Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器。
转流步骤
摄像头IP Camera输出的视频流一般为rtsp流, 系统播放需要先将rtsp流转为rtmp流.
转流可以使用ffmpeg程序, 将摄像头rtsp流转为rtmp流, 推送给nginx-rtmp服务器, 发布出来.
1.启动nginx-rtmp服务器
双击启动nginx.exe, 服务器窗口会一闪而过, 此时查看任务管理器, 如果有两个nginx进程在运行, 则说明启动成功
2.使用FFmpeg转流, 并推送给nginx
win+r打开cmd窗口, 进入FFmpeg服务器所在的目录, 使用如下命令将本地摄像头的rtsp码流转成rtmp码流, 并推送给nginx
ffmpeg -i "rtsp://admin:root123456@10.10.2.74:554/h264/ch1/main/av_stream" -vcodec copy -an -f flv "rtmp://127.0.0.1:1935/live/test"
其中rtsp://admin:root123456@10.10.2.74:554/h264/ch1/main/av_stream为本地摄像头的码流地址, rtmp://127.0.0.1:1935/live/test是nginx推送rtmp的地址(具体端口可以在nginx.conf中修改)
此时rtsp流就通过FFmpeg转码, 并通过nginx服务器发布出来了
3.使用VideoJS播放rtmp视频流
3.1.在web工程中导入VideoJS项目
3.2.配置rtmp地址到VideoJS
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Test</title> <script src="js/video-js-5.19.2/video.js"></script> <link type="text/css" rel="stylesheet" href="js/video-js-5.19.2/video-js.css" /> <!--<script> videojs.options.flash.swf = "video-js.swf"; </script>--> </head> <body> <video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="480" data-setup="{}"> <source src="rtmp://127.0.0.1:1935/live/test" type="rtmp/flv" /> <!--<source src="http://localhost:10080/hls/ipc1/ipc1.m3u8" />--> </video> </body> </html>
3.3.运行播放
如果chrome浏览器无法播放, 则设置启用flash控件
3.4.播放效果
到此, 摄像头rtsp流通过FFmpeg成功转成了rtmp流并在nginx中发布, 并在video.js中播放
测试工程包地址
https://download.csdn.net/download/liu844133828/11175176
内容总结
以上是互联网集市为您收集整理的使用FFmpeg+Nginx+VideoJS将摄像头rtsp流转码成rtmp流并播放全部内容,希望文章能够帮你解决使用FFmpeg+Nginx+VideoJS将摄像头rtsp流转码成rtmp流并播放所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。