转载请注明出处: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. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例
  2. 在学习中遇到的第一难点
  3. [QTP] 描述性编程
  4. 通过jquery回显操作(笔记)
  5. C语言之利用,函数的命名及变量的作用域实现两个数之间的交换。
  6. imagestring不支持中文,改用imagettftext
  7. HDFS: The short-circuit local reads feature cannot be used
  8. c++快速读取配置文件
  9. vue scss @font-face 路径问题
  10. matlab查找指定文件夹下文件(附汉字和标点符号读取方法)
  11. flash作业_在线作业产品的基本构成与逻辑分解
  12. git的丰富实用经验
  13. 【Cadence】制作AD630焊盘SOIC_20
  14. 计算机辅助设计与制造实例教程答案,计算机辅助设计实例教程= Example Course of Computer Aided Design...
  15. 青铜时代 —— 相机算法
  16. XP纯净版光盘ISO镜像文件
  17. vue组件eleme 时间选择器问题
  18. .com.cn域名是什么?.com.cn域名有哪些优势?
  19. 先吃奶油还是先吃蛋糕--推迟满足感
  20. 【转载】C语言嵌入式系统编程修炼之二:软件架构篇

热门文章

  1. [论文翻译]RetinaFace: Single-stage Dense Face Localisation in the Wild
  2. 如何处理CAN通讯故障
  3. 复印机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  4. 【AI引领未来】探索人工智能技术的无限潜能
  5. Latex: 修改有序列表的标号形式(例如去掉括号,加上描述)
  6. python06(python语句)
  7. 泰拉瑞亚服务器怎么广播消息,泰拉瑞亚云服务器怎么开mod
  8. 调用opencv3.x 库,在MFC中显示图片
  9. 赖世雄教你学英语语法学习笔记(未完)
  10. 商鼎云|留存家庭回忆,共享欢乐瞬间