当下流行的直播技术demo演示

nginx-http-flv-module(更新不是很频繁)
SRS: https://ossrs.net/lts/zh-cn/(独立官网,目前最新稳定版version5)

基于SRS搭建直播demo演示:

一、搭建流媒体服务器

参见官网:https://ossrs.net/lts/zh-cn/docs/v6/doc/getting-started
vmware12 虚拟机一台**centos7服务器,内网ip:192.168.1.4**
运行SRS服务器:

#docker 启动并进去容器观看log启动日志
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
# ctrl + p + q 不杀死方式退出容器

docker ps 查看启动成功:
在这里插入图片描述
云服务器注意放开涉及到的端口。

二 、模拟推流

使用ffmpeg推流模拟,演示环境windows10,下载ffmpeg6.0
ffmpeg:https://github.com/BtbN/FFmpeg-Builds/releases
视频文件:dajiang.mp4
cenos7的ip:192.168.1.4
在这里插入图片描述

# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffmpeg.exe -re -i dajiang.mp4 -vcodec libx264 -acodec aac -f flv rtmp://192.168.1.4/live/livestream

三 、模拟拉流

rtmp协议浏览器flash播放,flash已经是过去式,我们使用ffplay.exe播放测试。
flv、hls(m3u8)均使用ffplay.exe播放测试。

  • 实际项目使用浏览器端哔哩哔哩开源的flv.js支持flv播放
  • 实际项目使用hls.js支持m3u8播放

rtmp协议播放测试(先开启推流,同时开启拉流):

# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe -x 500 rtmp://192.168.1.4/live/livestream

flv协议播放测试(先开启推流,同时开启拉流):

# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe  -x 500 http://192.168.1.4:8080/live/livestream.m3u8

hls(m3u8)协议播放测试(先开启推流,同时开启拉流):

# livestream是你自己命名的字符串,也就是直播间的id
# 192.168.1.4替换成你自己的服务器ip,云服务器注意开放相关端口
# -x 500 表示500像素的窗口播放
P:\ffmpeg\ffmpeg-2023-09-04-git-f8503b4c33-full_build\bin>ffplay.exe  -x 500 http://192.168.1.4:8080/live/livestream.flv

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/292080.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海康威视对讲广播系统 RCE漏洞复现(CVE-2023-6895)

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

开关柜无线测温装置安装的重要性有哪些?

随着工业4.0的逐步推进,现代电力工业不断向着大容量和高电压的迅速发展,对电力系统供电可靠性的要求越来越高,电力系统的稳定运行已经成为首要目标。在电力系统中,温度是衡量电力设备是否正常运行的重要标准之一。随着工业用电负荷的不断增长,为了避免电…

JavaOOP篇----第十篇

系列文章目录 文章目录 系列文章目录前言一、构造方法能不能显式调用?二、什么是方法重载?三、构造方法能不能重写?能不能重载?四、内部类与静态内部类的区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,…

CSS新手入门笔记整理:CSS3弹性盒模型

特点 子元素宽度之和小于父元素宽度,所有子元素最终的宽度就是原来定义的宽度。子元素宽度之和大于父元素宽度,子元素会按比例来划分宽度。在使用弹性盒子模型之前,必须为父元素定义“display:flex;”或“display:inline-flex;”。 弹性盒子…

鸿萌推荐:数据库恢复软件 Systools SQL Server Recovery Manager

Systools SQL Server Recovery Manager 支持恢复和导出SQL数据库 MDF、NDF和BAK文件,是 SQL Server 数据库恢复的一款优质软件。 Systools SQL Server Recovery Manager 性能 分析 SQL Server LOG 数据库事务将 MDF、LDF 和 BAK 文件导出到位于网络上的 SQL Serve…

【YOLOv8新玩法】姿态评估解锁找圆心位置

前言 Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个自定义的圆检测与圆心定位预测模型 制作数据集 本人从网络上随便找到了个工业工件…

Map集合体系

Map集合的概述 Map集合是一种双列集合,每个元素包含两个数据。 Map集合的每个元素的格式:keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合的完整格式:{key1value1 , key2value2 , key3value3 , ...} Map集合的使用场景…

基于Java SSM框架实现咖啡馆管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现咖啡馆管理系统演示 摘要 2021是网络科技的时代 ,众多的软件被开发出来,给客户带来了很大的选择余地,而且客户越来越追求更个性的需求。在这种时代背景下,客户对咖啡馆管理系统越来越重视,使更好…

【ARM 安全系列介绍 3.4 -- 安全证书介绍】

文章目录 安全证书安全证书的主要组成部分安全证书的应用场景证书使用举例 证书格式PEM (Privacy Enhanced Mail)DER (Distinguished Encoding Rules)PKCS#7/P7B (Public Key Cryptography Standards #7)PKCS#12/PFX (Public Key Cryptography Standards #12)P7B 和 PFX/P12 的…

展馆漫游可视化与智慧展厅:开启未来展览新篇章

随着科技的飞速发展,展馆行业也在不断寻求创新和突破。展馆漫游可视化和智慧展厅的出现,为展馆行业带来了全新的发展机遇。本文将围绕这两个主题,探讨它们如何改变传统展览模式,开启未来展览新篇章。 一、展馆漫游可视化&#xff…

Polygon zkEVM Spearbit审计报告解读(2022年12月版本)

1. 引言 前序博客: Polygon zkEVM Hexens审计报告解读(2022年12月至2023年2月版本) 主要见: Polygon zkEVM Security Review: December 2022 Engagement Polygon zkEVM为提供(opcode层面兼容的)EVM等价…

Python自动化测试系列[v1.0.0][常见页面操作处理]

[智能等待] # 用于实现智能等待页面元素的出现 # encoding utf-8 """ __title__ __author__ davieyang __mtime__ 2018/4/21 """ from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait …