转载请注明出处:https://blog.csdn.net/impingo
项目地址:https://github.com/pingostack/pingos
项目官网:https://pingos.io

目录

  • 描述
  • 部署
  • 修改配置
  • QQ交流群:697773082
  • 微信(cczjp1989)

描述

在浏览器上,https网页是不能引用http连接的,这也给很多人在网页上引用http-flv、hls和hls+直播地址带来困难。甚至使用srs实现https-flv的时候还需要配置反向代理。
这里介绍一种方案,直接通过修改pingos配置快速实现https-flv、https-ts以及hls、hls+的https服务。

部署

# 快速安装
git clone https://github.com/pingostack/pingos.git
cd pingos
./release.sh -i

修改配置

只需给nginx配置好https服务即可,如下:

listen 443 ssl;
ssl_certificate     /usr/local/pingos/cert/full_chain.pem; # 替换成你自己的公钥
ssl_certificate_key /usr/local/pingos/cert/privkey.pem; # 替换成你自己的私钥

完整的配置模板

user  root;
daemon on;
master_process on;
worker_processes  1;
#worker_rlimit 4g;
#working_directory /usr/local/openresty/nginx/logs;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
error_log  logs/error.log  info;worker_rlimit_nofile 102400;
worker_rlimit_core   2G;
working_directory    /tmp;pid        logs/nginx.pid;events {use epoll;worker_connections  1024;multi_listen unix:/tmp/http 80;multi_listen unix:/tmp/rtmp 1935;dynamic_refresh_interval 10m;dynamic_domain_buckets   1001;resolver 114.114.114.114  valid=1m;resolver_timeout 30s;
}stream_zone buckets=1024 streams=4096;dynamic_conf conf/nginx_dynamic.conf 10;
dynamic_log logs/dynamic.log info;rtmp {log_format log_bandwidth '{"app":"$app","name":"$name","bitrate":$bitrate,"args":"$args","timestamp":$ntp,"ts":"$time_local","type":"$command","remote_addr":"$remote_addr","domain":"$domain"}';access_log logs/bandwidth.log log_bandwidth trunc=60s;server {listen 1935;serverid 000;out_queue 2048;server_name live.pingos.io;rtmp_auto_pull on;rtmp_auto_pull_port unix:/tmp/rtmp;application push {live on;push rtmp://127.0.0.1/live app=live;}application live {
#       pull http://222.186.34.242/live/stream app=live;live_record off;live_record_path /tmp/record;#           oclp_play http://127.0.0.1:9980/callBack stage=start,update,done;
#            recorder r1{
#                record all;
#                record_path /tmp/record;
#            }#            exec_publish bash -c "ffmepg -i rtmp://127.0.0.1/live/$name -c copy /tmp/mp4/$name-$starttime.mp4";
#       oclp_play http://127.0.0.1:999 stage=start args=ip=$remote_host;
#            exec_pull bash -c "ffmpeg -i rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov -c copy -f flv rtmp://127.0.0.1/live/1";live on;hls on;hls_path /tmp/hls;hls_fragment 4000ms;
#            hls_max_fragment 10000ms;hls_playlist_length 12000ms;hls_type live;hls2memory on;mpegts_cache_time 20s;hls2_fragment 4000ms;hls2_max_fragment 5000ms;hls2_playlist_length 12000ms;wait_key on;wait_video on;cache_time 1s;send_all on;low_latency off;fix_timestamp 2s;
# h265 codecid, default 12hevc_codecid  12;}}
}http {include       mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_X-Forwarded-For" "$http_X-Real-IP" "$host"';access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#reset_server_name www.test1.com www.test2.com;#gzip  on;server {listen 80;listen 443 ssl;ssl_certificate     /usr/local/pingos/cert/full_chain.pem;ssl_certificate_key /usr/local/pingos/cert/privkey.pem;location /rtmp_stat {rtmp_stat all;rtmp_stat_stylesheet /stat.xsl;}location /xstat {rtmp_stat all;}location /sys_stat {sys_stat;}location ~ .mp4$ {root html;#mp4;}location /control {rtmp_control all;}location /flv {flv_live 1935 app=live;add_header 'Access-Control-Allow-Origin' '*';add_header "Access-Control-Allow-Credentials" "true";add_header "Access-Control-Allow-Methods" "*";add_header "Access-Control-Allow-Headers" "Content-Type,Access-Token";add_header "Access-Control-Expose-Headers" "*";}location /ts {ts_live 1935 app=live;expires -1;add_header 'Access-Control-Allow-Origin' '*';add_header "Access-Control-Allow-Credentials" "true";add_header "Access-Control-Allow-Methods" "*";add_header "Access-Control-Allow-Headers" "Content-Type,Access-Token";add_header "Access-Control-Expose-Headers" "*";}location /hls {# Serve HLS fragmentstypes {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root /tmp;expires -1;add_header Cache-Control no-cache;add_header 'Access-Control-Allow-Origin' '*';add_header "Access-Control-Allow-Credentials" "true";add_header "Access-Control-Allow-Methods" "*";add_header "Access-Control-Allow-Headers" "Content-Type,Access-Token";add_header "Access-Control-Expose-Headers" "*";}location /hls2 {hls2_live 1935 app=live;add_header 'Access-Control-Allow-Origin' '*';add_header Cache-Control no-cache;add_header "Access-Control-Allow-Credentials" "true";add_header "Access-Control-Allow-Methods" "*";add_header "Access-Control-Allow-Headers" "Content-Type,Access-Token";add_header "Access-Control-Expose-Headers" "*";}location / {chunked_transfer_encoding on;root html/;}}
}

QQ交流群:697773082

微信(cczjp1989)

直播支持https连接相关推荐

  1. http工具类(支持https,连接池和失败重试)

    在实际项目中,经常会遇到调用外部(第三方)的接口,如果调用量较大的话,可能需要考虑连接池.失败重试.SSL证书等问题,以提升性能和稳定性. 以下代码是封装的小组件,供大家参考. maven依赖 < ...

  2. 各浏览器版本对HTTPS连接的TLS1.1版本的支持情况

    各浏览器版本对HTTPS连接的TLS1.1.TLS1.2.TLS1.3版本的支持情况,参考如下: User agent TLS 1.3 TLS 1.2 TLS 1.1 SNI Forward Secr ...

  3. 即构抓娃娃H5方案全球首家支持HTTPS,抓娃娃先从安全抓起!

    2017年11月6日,即构科技正式宣布推出全球首个在线抓娃娃一站式解决方案. 2017年11月23日,在原生App抓娃娃方案的基础上,即构全球首个推出在线抓娃娃H5方案. 如今,即构团队又给大家带来了 ...

  4. java ssl https 连接详解 生成证书

    我们在关于Java EE安全的系列文章中,有一篇也详细介绍了如何在Java EE应用中创建SSL连接和证书.正如前面文章提到的,SSL(Secure Sockets Layer,安全套接层)/TLS( ...

  5. https连接java_如何从Java应用程序设置Https连接

    我使用 java创建桌面应用程序,此应用程序使用API​​.为了保证与API的通信,我们得到了他们支持使用HTTPS的通知.请指导我如何从 Java客户端设置https连接. API具有此功能,表明它 ...

  6. NetworkComms V3 之支持TCP连接和UDP连接

    NetworkComms V3 无缝的支持TCP连接和UDP连接. 您可以很容易的创建这两种连接 //创建一个连接信息对象 ConnectionInfo connInfo = new Connecti ...

  7. SSIS 错误代码 DTS_E_OLEDB_EXCEL_NOT_SUPPORTED 没有可用的 OLE DB 访问接口 SSIS 的 64 位版本中不支持 Excel 连接管理器...

    在Server 2008 R2的系统中,使用SQL安装包的BIDS(vs 08 shell)开发SSIS,按例子建好一个后,提示" SSIS 错误代码 DTS_E_OLEDB_EXCEL_N ...

  8. 【Spring】Spring Boot 支持 Https

    1.美图 2.概述 https 现在已经越来越普及了,特别是做一些小程序或者公众号开发的时候,https 基本上都是刚需了. 不过一个 https 证书还是挺费钱的,个人开发者可以在各个云服务提供商那 ...

  9. fiddler证书 iphone_【详细】Mac使用Fiddler实现IPhone抓包(支持https)

    [详细]Mac使用Fiddler实现IPhone抓包(支持https) > Windows 同理 1. 下载 安装 注册具体步骤不过多赘述 2. 打开Fiddler 设置界面,按照下图设置HTT ...

最新文章

  1. 你们都是怎么学 Python 的?
  2. apicloud开发目标
  3. SpringBoot @Valid各种注解使用说明
  4. Bugku—MISC题总结
  5. 系统架构设计师考试大纲
  6. 背完这442句英语,你的口语绝对不成问题了
  7. CRM WebClient UI的浏览器打印实现
  8. linux sh 编程,Linux shell 编程入门
  9. phpcms v9宽字节注入问题
  10. 并发编程总结一,进程
  11. 几维安全:千锤百炼,锻造移动游戏安全防护黄金铠甲
  12. MYSQL的简单命令
  13. win10 office2007,excel2007,word2007等每次打开都要配置进度
  14. erp5 企业开源大数据和机器学习管理平台
  15. BZOJ3993 星际战争
  16. MT6737芯片功能介绍+MT6737芯片资料分享
  17. python基础------文件读写操作、re、os和sys模块
  18. PyCharm 快速批量注释及取消注释
  19. 【网安神器篇】——Sqlmap详解
  20. iOS-获取当前网页的 url 和 title 和 html

热门文章

  1. oracle数据迁移及全库迁移方案
  2. vmware16无法拖曳以及复制win11本机文件到ubuntu下的解决方案
  3. sql中nvl和nvl2的区别
  4. 结对第一次作业--原型设计
  5. 调用opencv3.x 库,在MFC中显示图片
  6. 第三方支付接口,银行接口(附下载),third party bank interface
  7. 英语 | Day 29、30 x 句句真研每日一句(断开)
  8. 生鲜农产品外贸供应链如何管理更高效
  9. 详解如何使用HiPush的API推送消息到微信|微信消息推送开发文档
  10. VUE实现一个简单的登录加密和后端(JAVA)解密功能