ffmpeg+nginx+video实现rtsp流转hls流,通过H5查看监控视频
一、FFmpeg下载:http://ffmpeg.zeranoe.com/builds/
下载并解压FFmpeg文件夹,配置环境变量:在“Path”变量原有变量值内容上加上d:\ffmpeg\bin,验证:ffmpeg -version 出现版本号则成功。
二、官网下载windows Stable version版Nginx安装nginx服务器,配置:config和mime.types。
1.在nginx\conf\nginx.conf中:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
access_log off;
server {
修改:
listen 20000;
server_name localhost;
修改:
location / {
root html;
index index.html index.htm;
}
为了能访问到hls流协议新增:
location /hls {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root html;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
2.在nginx\conf\mime.types中
为了支持hls流协议新增:
application/x-mpegURL m3u8;
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
3.在命令行中输入即可转换:也可写成脚本的形式运行。
ffmpeg -i "rtsp://admin:ajb123456@192.168.10.36" -c copy -f hls -hls_time 2.0 -hls_list_size 0 -hls_wrap 15 C:/wjanzhuang/nginx/html/hls/test.m3u8
三、在H5中查看:
1.引进:
<link href="videolive/css/video.css" rel="stylesheet">
<script src="videolive/js/video.js"></script>
<script src="videolive/js/videojs-live.js"></script>
2.使用video则可以在pc机浏览器上查看视频:
<video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="500" height="500"
data-setup='{}'>
<source src="http://192.168.10.245:20000/hls/test.m3u8" type="application/x-mpegURL">
</video>
三、在JAVA代码中查看方法
List<String> commend = new ArrayList<String>();
commend.add("ffmpeg");
commend.add("-i");
commend.add("\""+"rtsp://admin:ajb123456@192.168.10.36"+"\"");
commend.add("-c");
commend.add("copy");
commend.add("-f");
commend.add("hls");
commend.add("-hls_time");
commend.add("2.0");
commend.add("-hls_list_size");
commend.add("0");
commend.add("-hls_wrap");
commend.add("15");
commend.add("C:/wjanzhuang/nginx/html/hls/hls1/test.m3u8");
try {
ProcessBuilder builder = new ProcessBuilder(); //创建系统进程
builder.command(commend);
builder.start();//启动进程
} catch (Exception e) {
e.printStackTrace();
}
ffmpeg+nginx+video实现rtsp流转hls流,通过H5查看监控视频的更多相关文章
- 【Android】 修复ijkPlayer进行m3u8 hls流播放时seek进度条拖动不准确的问题
项目中使用的播放器是ijkPlayer,发现播放切片特点的hls流(m3u8格式的视频)拖动seekBar的时候会莫名的跳转或者seek不到准确的位置,发现网友也遇到了同样的问题,ijk的开发者也说明 ...
- EasyPlayer Android基于ffmpeg实现播放(RTSP/RTMP/HTTP/HLS)同步录像功能
之前有博客专门介绍了EasyPlayer的本地录像的功能,简单来说,EasyPlayer是一款RTSP播放器,它将RTSP流里的音视频媒体帧解析出来,并用安卓系统提供的MediaMuxer类进行录像. ...
- 使用 ffmpeg nginx rtmp 搭建实时流处理平台
环境: ubuntu 16.04 问题引入: 使用 opencv 获取摄像头数据帧, 进行处理之后(如进行 keypoint 识别), 将 opencv 中图像的 Mat类型转化为 ffmpeg 的 ...
- rtsp/rtmp/hls/onvif测试源以及ffmpeg在流媒体方面的应用
一.rtsp/rtmp/hls/onvif测试源 1. rtsp rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov 2.rtmp rtmp://l ...
- ffmpeg处理rtmp/文件/rtsp的推流和拉流
ffmpeg处理rtmp/文件/rtsp的推流和拉流 本demo演示了利用ffmpeg从服务器拉流或本地文件读取流,更改流url或文件类型名称发送回服务器或存到本地的作用. 由于本程序只写了3个小 ...
- ffmpeg+nginx 实现rtsp转rtmp并通过nginx转发
Windows安装 ffmpeg ffmpeg windows版下载地址https://ffmpeg.zeranoe.com/builds/ static版本就行 配置环境变量:下载的压缩包解压后的路 ...
- Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流
Windows10环境下 Nginx+ffmpeg自搭服务器制作RTMP直播流学习笔记 所需条件: nginx-rtmp-module(带rtmp模块) ,链接:https://link.jiansh ...
- IOS(苹果手机)使用video播放HLS流,实现在内部播放及全屏播放(即非全屏和全屏播放)。
需求: 实现PC及移动端播放HLS流,并且可以自动播放,在页面内部播放及全屏播放功能. 初步:PC及安卓机使用hls.js实现hls流自动播放及全屏非全屏播放 首先使用了hls.js插件,可以实现在P ...
- windows下搭建ffmpeg+nginx+rtmp-module搭建实时视频环境
下载ffmpeg的Windows静态版: https://ffmpeg.zeranoe.com/builds/win64/static/下载nginx-rtmp-windows版:https://gi ...
随机推荐
- Vim编程常用命令
1.全文覆盖 程序发布到测试.开发环境后,经常需要远程登录Linux更改代码.平时在IDE中直接Ctrl+A.Ctrl+V覆盖整个文档,在vim中需要这样做 vim filename gg --跳到首 ...
- 2015-9-13 NOIP模拟赛 by hzwer
好老的题了,但是还是很有做头的. 总结 不吸氧看来确实是没法用stl的啊(set常数太大了,开O2也没过) SPFA没认真学,觉得有堆优化Dijkstra就天下无敌了,今天负边权教我做人 于是苦逼的只 ...
- C# typeof 与GetType()的区别
C#中Type类的介绍:https://msdn.microsoft.com/zh-cn/library/system.type(VS.80).aspx C#中任何对象都具有GetType()方法,它 ...
- MySQL 5.7.17 Windows安装和启动
1.在官网http://dev.mysql.com/downloads/下载 MySQL Community Server 2.解压后是这个样子(5.7.18解压后没有my-default.ini文件 ...
- Intel Omin-Path Architecture 搭建调优与测试
OPA在Centos上的搭建 1. 首先确认Omni-Path Host Fabric Interfaces (HFIs) # yum install –y pciutils # lspci -vv ...
- TensorFlow实现FM
看了网上的一些用tf实现的FM,很多都没有考虑FM实际使用中数据样本稀疏的问题. 我在实现的时候使用 embedding_lookup_sparse来解决这个问题. 对于二阶部分,由于embeddin ...
- angular的路由和监听路由的变化和用户超时的监听
先看两篇博客:http://camnpr.com/javascript/1652.html 这一篇博客是重点中的重点: http://www.tuicool.com ...
- 微信分享签名Java代码实现
最近写了一个小微信签名功能,记录一下希望用到的朋友可以参考下. RestController @RequestMapping("/api/wx") public class Wei ...
- PHP处理Ajax请求与Ajax跨域
PHP判断是否为Ajax请求 我们知道,在发送ajax请求的时候,可以通过XMLHttpRequest这个对象,创建自定义的header头信息, 在jquery框架中,对于通过它的$.ajax, $. ...
- hdu4565矩阵快速幂
这题太坑了...刚开始以为可以用|a+sqrt(b) 1|水过...结果tle,还一直想明明我logn的做法怎么可能tle.. | 0 1| 实在无奈看的题解 (a+sqr ...