SRS流媒体服务器之RTC播放环境搭建

环境概述

srs版本

复制代码
commit 44f0c36b61bc7c3a1d51cb60be0ec184c840f09d
Author: winlin <winlin@vip.126.com>
Date:   Wed Aug 2 10:34:41 2023 +0800

    Release v4.0-r5, 4.0 release5, v4.0.271, 145574 lines.

rtc.conf

复制代码
# WebRTC streaming config for SRS.
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

http_api {
    enabled         on;
    listen          1985;
}
stats {
    network         0;
}
rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
    candidate $CANDIDATE;
}

vhost __defaultVhost__ {
    rtc {
        enabled     on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
        rtmp_to_rtc on;
        # @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
        rtc_to_rtmp on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    play {
        mw_latency 100;
        mw_msgs 4;
        queue_length 10;
        send_min_interval 10.0;
        reduce_sequence_header on;
    }

}

srs内置推流文件

srs源代码是自带测试文件的,可使用ffmpeg进行推流尝试。

复制代码
ffmpeg -re -i ./doc/source.200kbps.768x320.flv -c copy -f flv rtmp://192.168.126.129/live/livestream

RTC播放器问题

由于是早期版本,rtc和rtmp播放地址不同。

rtmp播放地址:

复制代码
http://192.168.126.129:8080/players/srs_player.html
http://192.168.126.129:8080/players/rtc_publisher.html

webrtc拉流播放地址:

复制代码
http://192.168.126.129:8080/players/rtc_player.html

webrtc拉流播放问题

在使⽤Chrome浏览器推流时会报:TypeError: Cannot read property 'getUserMedia' of undefined 错误,这个错误主要是https证书问题。

解决办法:先把chrome完全退出,右击桌⾯上chrome的快捷键,点击属性,在⽬标⼀栏添加如下内容, 记着有个英⽂空格,IP换成⾃⼰的。

复制代码
"C:\Program Files\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors --allow-running-insecure-content --unsafely-treat-insecure-origin-as-secure=http://192.168.126.129:8080"

vlc如何播放?

问题:由于VLC播放器原生不支持WebRTC协议webrtc://协议头),直接使用VLC播放SRS的WebRTC流会遇到兼容性问题。

复制代码
http_server {
    enabled on;
    listen 8080;  # HTTP服务端口
}

vhost __defaultVhost__ {
    http_remux {
        enabled on;   # 启用HTTP-FLV/HLS
        mount [vhost]/[app]/[stream].flv;
    }
}

SRS支持将WebRTC流自动转换为HTTP-FLVHLS协议,可通过VLC直接播放转换后的地址。

获取可播放地址

WebRTC流地址 webrtc://192.168.126.129/live/livestream

对应以下协议地址:

HTTP-FLV: http://192.168.126.129:8080/live/livestream.flv

HLS: http://192.168.126.129:8080/live/livestream.m3u8

学习资料分享

40voice · GitHub

相关推荐
Multipath7122 小时前
多链路聚合 + 宽带自组网 + 卫星便携站,构筑应急通信“铁三角”乾元通多链路聚合路由破局“三断”绝境,重构应急通信生命线
网络·5g·安全·智能路由器·实时音视频
Byron Loong21 小时前
【视觉】工业相机通讯协议对比GigE Vision、USB3 Vision、CXP、CL、UVC、RTSP、NDI
计算机视觉·视觉检测·实时音视频
FREEDOM_X1 天前
嵌入式 —— RTC/SNVS深入详解 —— i.MX6ULL
单片机·嵌入式硬件·实时音视频
音视频牛哥2 天前
AI浪潮下,实时音视频SDK正在经历怎样的价值重构?
人工智能·音视频·实时音视频·rtmp推流·低延迟rtsp播放器·低延迟rtmp播放器·rtsp转rtmp推流
kaifu4 天前
RTC中采用空域SVC与超分的抗弱网技术适配
实时音视频·超分·svc·抗弱网
美狐美颜SDK开放平台5 天前
从采集到渲染:直播APP开发中视频美颜SDK工作原理详解
人工智能·音视频·实时音视频·美颜sdk·视频美颜sdk·美颜api
hz567895 天前
手术示教及远程会诊系统一体化方案:赋能医院教学与精准诊疗
安全·音视频·实时音视频·信息与通信
美狐美颜SDK开放平台9 天前
从RTC到AI美颜:直播APP开发中的直播美颜SDK技术架构解析
人工智能·音视频·实时音视频·美颜sdk·视频美颜sdk·美颜api
nopSled11 天前
AlphaAvatar v0.6.4 架构升级:统一实时感知、RTC 解耦与在线 ENV Memory
人工智能·架构·实时音视频·agent·多模态
hz5678912 天前
内网视频会议系统建设方案:适合政企单位的安全会议选择
安全·云计算·音视频·实时音视频·信息与通信