安卓基于SRS的Webrtc推拉流

文章目录

  • 安卓基于SRS的Webrtc推拉流
    • Https必须需要域名
    • httpx-static 配置 https 代理
    • 基于SRS 配置文件支持 https
    • Android 推拉webrtc流到srs

服务端:SRS (Simple Realtime Server,支持RTMP、HTTP-FLV、HLS、WebRTC)
SRS V4 Webrtc Wiki
推流端:ffmpeg 、 OBS
拉流端:ffplay 、 VLC 、 srs播放器
在线表秒 https://miaobiao.bmcx.com/
本文首发地址:https://blog.csdn.net/CSqingchen/article/details/120830028
最新更新地址:https://gitee.com/chenjim/chenjimblog

Https必须需要域名

  • 如果没有域名,用 https://192.*.*.* 访问,会有类似 你的连接不是专用连接 提示页面,地址栏也有 不安全 提示
  • 如果没有域名,出现以上不安全提问,可以在页面空白地方输入 thisisunsafe,或者按页面提示点击,可以继续访问,但是地址栏会有 不安全 提示
  • 如果没有域名,出现以上不安全提问,在 EDGE 或者 Chrome 启动命令后加 " --test-type --ignore-certificate-errors",可以继续访问,但是地址栏会有 不安全 提示
  • 终极完美解决方案是配置域名,如果不在意地址栏提示,也是可以直接用IP的,包括后面提到的推拉流
  • 本文使用 阿里云域名 ,配置域名 s.h89.cn 指向IP 192.168.31.110 , 申请了免费一年有效期证书,下载 apache 证书
  • 环境变量 ~/.bashrc 中添加 export CANDIDATE=s.h89.cn

httpx-static 配置 https 代理

webrtc 推拉流失败 80% 是 https 配置的异常
winlin 介绍 httpx-static 配置 SRS Https 代理的 视频@Bilibili
相关总结步骤如下

  1. 安装 go
    sudo apt install golang-go
  2. 配置Go环境变量,在 .bashrc 添加以下
    export GOPATH=~/go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOBIN
    
  3. 下载 httpx-static
    go get github.com/ossrs/go-oryx/httpx-static
    默认源码在目录 $GOPATH/src/httpx-static 在目录 $GOPATH/bin
    配置代理命令
    sudo $GOBIN/httpx-static -https 443 -ssk key/s.h89.cn.key -ssc key/s.h89.cn.crt -p http://s.h89.cn:1985/rtc -p http://s.h89.cn:8080

    • 80443 端口需要 sudo
    • 代理 http://s.h89.cn:1985/rtchttps://s.h89.cn/rtc
  4. 启动srs
    ./objs/srs -c conf/rtc.conf
  5. webrtc推流、拉流
    地址 webrtc://s.h89.cn/live/livestream
    webrtc推流 https://s.h89.cn/players/rtc_publisher.html
    webrtc拉流 https://s.h89.cn/players/rtc_player.html
    控制台 https 无法连接,需要用 http 地址

基于SRS 配置文件支持 https

  1. http_serverhttp_api 配置 https 相关,参考如下

     listen              1935;max_connections     1000;daemon              off;srs_log_tank        console;http_server {enabled         on;listen          8080;dir             ./objs/nginx/html;https {enabled on;listen  8088;key ./key/s.h89.cn.key;cert ./key/s.h89.cn.crt;}}http_api {enabled         on;listen          1985;https {enabled on;listen 443;key ./key/s.h89.cn.key;cert ./key/s.h89.cn.crt;}}stats {network         0;}rtc_server {enabled on;listen 8000;candidate $CANDIDATE;}vhost __defaultVhost__ {rtc {enabled     on;rtc_to_rtmp on;}http_remux {enabled     on;mount       [vhost]/[app]/[stream].flv;}dvr {enabled      on;dvr_path     ./objs/nginx/html/[app]/[stream].[timestamp].flv;dvr_plan     session;}}
  2. 启动SRS
    用到 443端口,注意加 sudo

  3. webrtc 推流地址
    https://s.h89.cn:8088/players/rtc_publisher.html?autostart=true&app=live&stream=camera&server=s.h89.cn&port=8088&vhost=s.h89.cn&schema=https
    webrtc 拉流地址
    https://s.h89.cn:8088/players/rtc_player.html?autostart=true&app=live&stream=camera&server=s.h89.cn&port=8088&vhost=s.h89.cn&schema=https
    控制台地址
    https://s.h89.cn:8088/console/ng_index.html#/summaries?port=443&schema=https&host=s.h89.cn
    webrtc 地址
    webrtc://s.h89.cn/live/camera


Android 推拉webrtc流到srs

Demo示例 https://github.com/shenbengit/WebRTC-SRS
冬季穿短裤 博文传送门如下

  • Android端从SRS服务器拉取WebRTC流
  • Android端向SRS服务器推送WebRTC流

其它相关文档

  • 安卓webrtc在ubuntu 2004下编译使用
    https://blog.csdn.net/CSqingchen/article/details/120016697

  • Android 断点调试 webrtc、 medieasoup
    https://blog.csdn.net/CSqingchen/article/details/120156900

  • 安卓增加 mediasoup webrtc 日志输出
    https://blog.csdn.net/CSqingchen/article/details/120156669

  • 安卓 webrtc 开启h264 软编解码
    https://blog.csdn.net/CSqingchen/article/details/120199702

安卓基于SRS的Webrtc推拉流相关推荐

  1. SRS流媒体服务器——WebRTC推拉流演示

    SRS流媒体服务器--WebRTC推拉流 目录 WebRTC推拉流配置 WebRTC拉流演示 WebRTC推流演示 SRS官方WebRTC文档:https://github.com/ossrs/srs ...

  2. Linux(ubuntu)搭建基于nginx-http-flv-module的视频推拉流服务器

    前言 上篇说到基于MacOS的服务器搭建,是自己在本地电脑上的小尝试,真正用的时候还是要上linuxOS 的,下面来看下ubuntu系统的搭建过程. 正文 环境准备 操作系统: Ubuntu 16.0 ...

  3. 开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

    开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享 一.优秀的流媒体博客资源 1.1 EasyNVR:专注于安防视频互联网化的技术 1 ...

  4. 视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方式已经被越来越多的用户逐渐接受.特别是最近这几年,视频直播已经不仅仅被运用在传统的秀场.游戏类板块,更是作为电商的一种新模式得到 ...

  5. video、webgl canvas推拉流及多媒体流协议

    video.webgl canvas推拉流及多媒体流协议 不经常接触智慧城市项目,直播项目,安全项目的人,可能了解的不够多!做这些项目的也会根据公司技术深度学到更深的的知识! 先看一张图片! 下图所使 ...

  6. 一个小时开发的直播推拉流软件来了

    一.简介 目前市面上直播推流的软件有很多,拉流也很常见.近期因为业务需要,需要搭建一整套服务端推流,客户端拉流的程序.随即进行了展开研究,花了一个小时做了个基于winfrom桌面版的推拉流软件.另外稍 ...

  7. Nginx搭建RTMP推拉流服务器

    如题,今天就来实现一个推拉流服务器,模拟下推流后被客户端拉流看到效果. 详细步骤如下 - 安装Nginx - 安装FFmpeg - 安装VLC客户端 安装Nginx 在Mac上有一个很好用的包管理插件 ...

  8. 详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写

    详细说明如何配置蜻蜓Q系统的直播功能完美实现直播和观赏直播,推拉流配置完整说明一颗优雅草科技伊凡写 一.登录后台找到直播配置 依次在站点配置-直播配置 ​ 编辑切换为居中 添加图片注释,不超过 140 ...

  9. 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等

    本文由蘑菇街前端开发工程师"三体"分享,原题"蘑菇街云端直播探索--启航篇",有修订. 1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方 ...

最新文章

  1. C中文件操作的文本模式和二进制模式,到底有啥区别?
  2. 黄聪:VS2010开发T4模版引擎之基础入门
  3. Oracle免安装绿色版-PLSQL连接报12154
  4. 深入理解分布式技术 - ZooKeeper数据一致性解读
  5. Amazon S3数据存储
  6. SAP内部订单使用实例
  7. 变分自编码器:球面上的VAE(vMF-VAE)
  8. YbtOJ#883-最大的割【带修线性基】
  9. SpringBoot-视图解析与模板引擎
  10. 【JUC】第四章 JUC 辅助类、读写锁
  11. echarts 折线图阴影颜色渐变
  12. 2016年物联网行业十大并购事件
  13. 实验三 密码破解技术 201521410010
  14. Ubuntu 配置 SFTP 服务器
  15. 宏碁传奇14 Swift 指纹模块失效解决
  16. phpstudy安装yar扩展
  17. 计算机组成原理第三章笔记---计算机功能与互联
  18. position有几种属性?
  19. 吉林大学软件学院C语言期末试题,吉林大学软件学院C语言0资料.ppt
  20. 《企业管理学》——组织与组织文化(企业文化)知识点总结

热门文章

  1. 4面字节跳动拿到2-2Offer,入职就是30K16薪,全靠这份PDF
  2. 对比Excel学openpyxl系列之设置excel数字和条件格式
  3. count(*) count(1)与count(字段)的区别
  4. 无人机集群作战仿真研究现状及在城市作战中的应用前景(附最新无人集群项目内容)
  5. 【读书笔记】软件需求第3版
  6. 材料数据科学:描述符和机器学习
  7. 实验四 Shell编程
  8. 3T硬盘安装win10
  9. 老盖走了,微软,一路走好
  10. linux命令 查看文件行号的几种方式