SRS流媒體服務器之RTC播放環境搭建

環境概述

srs版本

commit 44f0c36b61bc7c3a1d51cb60be0ec184c840f09d
Author: winlin <winlin@vip.126.com>
Date:   Wed Aug 2 10:34:41 2023 +0800Release 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-candidatecandidate $CANDIDATE;
}vhost __defaultVhost__ {rtc {enabled     on;# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtcrtmp_to_rtc on;# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmprtc_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

?

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/HLSmount [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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81235.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81235.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81235.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

清山垃圾的3個問題

與一群驢友進山&#xff0c;同步撿拾一路的垃圾&#xff1a;清山行動。 關于垃圾&#xff0c;大家提了3個問題。記錄于此&#xff0c;勤于思考&#xff1a;為什么&#xff0c;如何做 問題 - 山里的垃圾有哪些&#xff1f; - 垃圾是誰丟的&#xff1f; - 他們為…

redis集合類型

練習命令使用&#xff0c;具體如下&#xff1a; 練習無序集合類型命令 sadd smembers scard srem sinter sunion sdiff sismember srandmember spop 練習有序集合類型命令 無序集合中的每個元素都是不同的&#xff0c;且沒有順序 創建/追加/刪除/查看 127.0.0.1:6379>…

JAVA 包管理

一 、關鍵點 包聲明規則&#xff1a; 每個類首行的package聲明必須與文件路徑完全匹配com.example.math對應路徑com/example/mathorg.demo.greeting對應路徑org/demo/greeting 編譯參數&#xff1a; -d ./build&#xff1a;指定編譯輸出目錄編譯器會自動根據包聲明創建對應…

Linux中的文件系統和軟硬連接

磁盤的訪問方式 CHS&#xff08;柱面&#xff0c;磁頭&#xff0c;扇區&#xff09; 法&#xff08;磁盤硬件查找&#xff09;&#xff1a; 確定柱面&#xff08;C&#xff09; 磁頭臂移動到對應的柱面位置。例如&#xff0c;柱面號為 5&#xff0c;則磁頭移動到第 5 個磁道組…

whisper相關的開源項目 (asr)

基于 Whisper&#xff08;OpenAI 的開源語音識別模型&#xff09;的開源項目有很多&#xff0c;涵蓋了不同應用場景和優化方向。以下是一些值得關注的項目&#xff1a; 1. 核心工具 & 增強版 Whisper OpenAI Whisper 由 OpenAI 開源的通用語音識別模型&#xff0c;支持多語…

深入解析Spring Boot與JUnit 5集成測試的最佳實踐

深入解析Spring Boot與JUnit 5集成測試的最佳實踐 引言 在現代軟件開發中&#xff0c;單元測試和集成測試是確保代碼質量的重要手段。Spring Boot作為當前最流行的Java Web框架之一&#xff0c;提供了豐富的測試支持。而JUnit 5作為最新的JUnit版本&#xff0c;引入了許多新特…

gitlab占用內存 優化

優化 GitLab 配置 GitLab 的配置文件可以對內存使用進行優化。 以下是一些優化配置的方法&#xff1a; 1.1 調整 Unicorn&#xff08;或 Puma&#xff09;配置 GitLab 使用 Unicorn&#xff08;舊版&#xff09;或 Puma&#xff08;新版本&#xff09;作為其 Web 服務器。可以…

視覺語言模型(Vision-Language Model, VLM)的簡單介紹

目錄 1. 起源與歷史 2. 核心技術與原理 3. 優勢 4. 應用領域 5. 技術難點與挑戰 6. 學習方法與路徑 7. 未來發展方向 8. 總結 1. 起源與歷史 起源&#xff1a; 視覺語言模型&#xff08;VLM&#xff09;的起源可以追溯到多模態機器學習的研究。早期的計算機視覺&#…

關于PHP的詳細介紹,結合其核心特點、應用場景及2025年的技術發展趨勢,以清晰的結構呈現:

一、PHP的核心特點 動態腳本語言 語法靈活&#xff1a;支持過程式與面向對象編程&#xff0c;類似C/Java的語法結構&#xff0c;但動態類型特性更接近Python。即時編譯&#xff1a;PHP 8.x的JIT&#xff08;Just-In-Time&#xff09;編譯器顯著提升性能&#xff0c;尤其在數學…

MCP、MCPHub、A2A、AG-UI概述

MCP Model Context Protocol&#xff0c;模型上下文協議&#xff0c;Anthropic于2024年開源的標準協議&#xff0c;旨在統一AI模型與數據源的交互方式&#xff0c;提升數據訪問的便捷性和可靠性&#xff0c;提供標準化的工具調用、資源管理和提示詞功能。 MCP的基本定義&…

[學習]淺談C++異常處理(代碼示例)

淺談C異常處理 文章目錄 淺談C異常處理一、異常處理基礎1.異常的概念與作用2.C異常處理機制&#xff08;try、catch、throw&#xff09;3.基本語法示例 二、標準異常類1.常見標準異常類&#xff1a;2.自定義異常類的實現 三、異常安全與最佳實踐1. RAII&#xff08;資源獲取即初…

PHP學習筆記(十)

extends 一個類可以在聲明中用extends關鍵字繼承另一個類的方法和屬性。PHP不支持多重繼承&#xff0c;一個類只能繼承一個基類。 被繼承的方法和屬性可以通過同樣的名字重新聲明被覆蓋&#xff0c;但是如果父類定義或者常量時是使用類final&#xff0c;則不可被覆蓋&#xff…

rt-linux里的泛rtmutex鎖的調用鏈整體分析

一、背景 linux系統里有非常多的鎖種類&#xff0c;除了spinlock&#xff0c;mutex&#xff0c;rwlock&#xff0c;rwsem&#xff0c;還有rcu及順序鎖&#xff0c;這里面還有不少鎖變種&#xff0c;比如spinlock的帶bh或者irq字樣的lock/unlock&#xff0c;還有nmi里可以用的順…

LLM多平臺統一調用系統-LiteLLM概述

概述 在當今快速發展的AI領域&#xff0c;大語言模型(LLM)已成為技術創新的核心驅動力。然而&#xff0c;隨著市場上涌現出越來越多的LLM提供商&#xff08;如OpenAI、Anthropic、Google Gemini、AWS Bedrock等&#xff09;&#xff0c;開發者面臨著一個日益復雜的問題&#x…

C#實現MCP Client 與 LLM 連接,抓取網頁內容功能!

該專欄優先在飛書發布&#xff0c;歡迎收藏關注&#xff01; https://www.feishu.cn/community/article?id7507084665509904403 前面的課程&#xff0c;我們已經用C#實現了&#xff0c;自己的MCP Client。 下面我們一起來實現&#xff0c;MCP Client與LLM 對接。 一、添加依…

并發編程(6)

指令重排序 指令重排序是指在程序執行過程中&#xff0c;為了提高性能&#xff0c;編譯器或處理器會對指令的執行順序進行重新排列。 指令重排序導致可見性消失 在多線程環境下&#xff0c;每個線程都有自己的工作內存&#xff0c;線程對變量的操作是在工作內存中進行的&…

鴻蒙倉頡開發語言實戰教程:頁面跳轉和傳參

前兩天分別實現了商城應用的首頁和商品詳情頁面&#xff0c;今天要分享新的內容&#xff0c;就是這兩個頁面之間的相互跳轉和傳遞參數。 首先我們需要兩個頁面。如果你的項目中還沒有第二個頁面&#xff0c;可以右鍵cangjie文件夾新建倉頡文件&#xff1a; 新建的文件里面沒什…

Java 學習筆記:注解、泛型與 IO 流

目錄 課程目標 Java 注解(Annotation) 1. 概念與作用 2. 自定義注解示例 3. JDK 內置注解 4.注釋 Java 泛型(Generics) 1. 基本語法 2. 通配符與上下限 3. 常見應用場景 Java IO 流 1. 流的分類1.File文件類 2. 字節流與字符流 3. 經典示例:文件拷貝 總結與…

git倉庫代碼操作

1、從gitee下載代碼提交到本地github倉庫&#xff0c;保留提交記錄 # 查看當前分支 git branch# 查看當前遠程倉庫 git remote -v# 確保所有更改已提交 git add . git commit -m "準備提交到GitLab"# 添加GitLab遠程倉庫 git remote add gitlab https://gitlab.com/…

Thinkphp6使用token+Validate驗證防止表單重復提交

htm頁面加 <input type"hidden" name"__token__" value"{:token()}" /> Validate 官方文檔 ThinkPHP官方手冊