Nginx配置视频服务器

 server
{
listen ;
server_name localhost;
location /hls{
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias /data/hls;
expires -;
add_header Cache-Control no-cache;
}
access_log off;
}
}

FFmpeg拉流转码

ffmpeg -re  -rtsp_transport tcp -i 'rtsp://{IP}:9090/dss/monitor/params?cameraid={设备ID}${管道}&substream={码流}' \
        -c copy -map 0 -f segment -segment_list /data/hlstest.m3u8 -segment_list_flags +live -segment_time 10 -hls_list_size 20 /data/hls/output%03d.ts
-segment_list 配置输出的列表文件名
-segment_time 切片时长
-hls_list_size 保存最后切片数量

FFmpeg拉流推送HLS服务

ffmpeg -re  -rtsp_transport tcp -i 'rtsp://112.85.138.10:9090/dss/monitor/params?cameraid=1000401$0&substream=1' \
-vcodec copy  -vprofile baseline  -f flv -s 1280x720 -segment_list_flags +live -segment_time 10 -hls_list_size 20 'rtmp://192.168.200.31:28099/hls/test2'
-segment_list 配置输出的列表文件名
-segment_time 切片时长
-hls_list_size 保存最后切片数量

HLS服务Nginx服务器

1下载nginx-rtmp-module

yum install git

git clone https://github.com/arut/nginx-rtmp-module.git  

2下载编译nginx

yum -y install pcre-devel openssl openssl-devel gcc gcc-c++ 
wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install
3修改nginx.conf

worker_processes 8;

events {
worker_connections 1024;
}
rtmp {

server {

listen 28011;
chunk_size 4000;
# TV mode: one publisher, many subscribers
application mylive {
# enable live streaming
live on;
}
application hls {
live on;
hls on;
hls_path /data/hls;
hls_fragment 5s;
}
}
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 28012;
server_name localhost;

location /hls{
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
alias /data/hls;
expires -1;
add_header Cache-Control no-cache;
}

}

access_log off;
}


相关技术推荐 视频拉流 Linux安装FFmpeg
海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术
广告植入
C:\>ffmpeg.exe.lnk -i C:\Users\Administrator\Desktop\视频\zhgd.mp4 -c:v libx264
-c:a aac -strict - -hls_list_size -t : -hls_time -f hls c:/test.m3u8
												

ffmpeg+HLS实现直播与回放的更多相关文章

  1. 收藏:视频网站(JavaEE+FFmpeg)/Nginx+ffmpeg实现流媒体直播点播系统

    FFmpeg安装(windows环境)http://www.cnblogs.com/xiezhidong/p/6924775.html 最简单的视频网站(JavaEE+FFmpeg)http://bl ...

  2. hls&flv直播请求过程

    hls&flv直播请求过程 直播类产品层出不穷,从各方面塑造了我们的生活方式.直播产品中,延时是决定用户体验的关键因素,它也将间接决定直播产品的成败.这其间,对延时影响较大的就是直播架构中选择 ...

  3. 【原创+史上最全】Nginx+ffmpeg实现流媒体直播点播系统

    #centos6.6安装搭建nginx+ffmpeg流媒体服务器 #此系统实现了视频文件的直播及缓存点播,并支持移动端播放(支持Apple和Android端) #系统需要自行安装,流媒体服务器配置完成 ...

  4. ffmpeg推送直播流的技术进展

    首先安装好NGINX并打开服务 然后安装好ffmpeg 然后参考:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=2879051 ...

  5. RTMP HLS HTTP 直播协议一次看个够

    直播从2016年一路火到了2017年,如今要在自己的App里加入直播功能,只要找一个现成的SDK就行了,什么拍摄.美颜.推流,一条龙服务.不过作为直播身后最重要的部分:推流协议,很多人并不是很清楚.如 ...

  6. 流媒体技术学习笔记之(十)HLS协议直播延时优化(35s到10S)

    1.首先要了解HLS延时的机制,也就是为什么会延时,延时主要发生在什么地方. HTTP Live Streaming 并不是一个真正实时的流媒体系统,这是因为对应于媒体分段的大小和持续时间有一定潜在的 ...

  7. 使用ffmpeg进行网络直播

    一.采集:使用python调用摄像头采集,原设想是使用树莓派摄像头采集,但是经费紧张买不起,先用摄像头凑合下,反正很简单.                   原理就是先录一小段视频,然后循环播放,用 ...

  8. EasyDSS流媒体解决方案实现的RTMP/HLS视频直播、直播鉴权(如何完美将EasyDSS过渡到新版)

    上一篇博文介绍了EasyDSS点播功能,然后作为RTMP流媒体服务器,接受RTMP推流.进行实时的直播流分发又是自身一大核心功能. 需求背景: 写本篇博文的一个目的是向大家介绍一下EasyDSS新版的 ...

  9. HLS视频点播&直播初探

    前端可选的视频直播协议大致只有两种: RTMP(Real Time Messaging Protocol) HLS(HTTP Live Streaming) 其中RTMP是Adobe开发的协议,无法在 ...

随机推荐

  1. Bootstrap学习2--组件-列表组

    备注:最新Bootstrap手册:http://www.jqhtml.com/bootstraps-syntaxhigh/index.html 1.列表组 列表组是Bootstrap框架新增的一个组件 ...

  2. C#练习DataReader

    SQL代码: create database ThreeDb go USE ThreeDb; GO CREATE TABLE classify --分类表 ( id ,), name ) not nu ...

  3. Linux与Windows编译器的区别

    移植工作開始后的第一步就是在目标平台Linux上进行编译,并链接源码.因为须要移植的软件通常并未在Linux平台上编译过,编译的过程可能会遇到非常大的困难.普通情况下,由类型声明引起的编译错误是比較e ...

  4. 动态添加select的option

    动态给select标签添加option,结合前人经验以及自己经验,现在总结三种方法供大家参考,一起交流学习! 首先是定义的select元素: //根据ID获得select元素var mySelect ...

  5. CSS3响应式侧边菜单

    在线演示 本地下载

  6. Android系统篇之—-编写简单的驱动程序并且将其编译到内核源码中【转】

    本文转载自:大神 通过之前的一篇文章,我们了解了 Android中的Binder机制和远程服务调用 在这篇文章中主要介绍了Android中的应用在调用一些系统服务的时候的原理,那么接下来就继续来介绍一 ...

  7. 算法(Algorithms)第4版 练习 1.4.6

    (1)sum = N + N/2 + N/4 +  …… + 1 假设N是2的倍数(N = 2q),则sum = N -1 ~ N (2)sum = 1+2+……N/2 同(1)分析,sum = N/ ...

  8. ML一(概念学习和一般到特殊序)

    概念学习和一般到特殊序 Concept Learning and the General-To-Specific Ordering 1 简介 1.1 定义 概念学习(Concept Learning) ...

  9. cocos2dx 中 string 转json

    string jsonData = warriors.toStyledString().c_str(); Json::Value parseData; Json::Reader reader; rea ...

  10. hibernate复习第(4)天

    1.hibernate的映射类型.hbm.xml中property中的type属性.这个type属性是表示持久化类中的属性对应数据库中的什么数据类型,用来构建一种映射type的可选值:hibernat ...