流媒体之推流和拉流
推流:将直播内容推送至服务器的过程
拉流:为服务器已有直播内容,用指定地址进行拉取的过程
什么是推流?
推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。
要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于手机直播这种实时性要求非常高的场景,RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。
在直播场景中,网络不稳定是非常常见的,这时就需要Qos来保证网络不稳情况下的用户观看直播的体验,通常是通过主播端和播放端设置缓存,让码率均匀。另外,针对实时变化的网络状况,动态码率和帧率也是最常用的策略。
直播中使用广泛的“推流协议”一般是RTMP(Real Time Messaging Protocol——实时消息传输协议)。该协议是一个基于TCP的协议族,是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
什么是拉流?
拉流是指服务器已有直播内容,根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据,进行拉取的过程。拉流端的核心处理在播放器端的解码和渲染,在互动直播中还需集成聊天室、点赞和礼物系统等功能。
拉流端现在支持RTMP、HLS、HDL(HTTP-FLV)三种协议,其中,在网络稳定的情况下,对于HDL协议的延时控制可达1s,完全满足互动直播的业务需求。RTMP是Adobe的专利协议,开源软件和开源库都支持的比较好,延时一般在1-3秒。HLS是苹果提出的基于HTTP的流媒体传输协议,优先是跨平台性比较好,HTML5可以直接打开播放,移动端兼容性良好,但是缺点是延迟比较高。
推流码:
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。
一种设计用来进行实时数据通信的网络协议。
每一个推流码地址唯一指向单个的直播活动。它由rtmp://开头,包含了上传服务器地址,上传目录名和上传节点,三部分组成。所有的rtmp地址都是这种结构组成,基本同一个平台不同直播的地址前两部分是不变的。
相关文章:

流媒体之推流和拉流
推流:将直播内容推送至服务器的过程 拉流:为服务器已有直播内容,用指定地址进行拉取的过程 什么是推流? 推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”…...

浏览器中怎样查看前后端传值
路径:F12–>Network -->Fetch/XHR,选择一个接口地址。 在payload里面是前端发送给后端的参数。也即客户端发送给服务端的请求数据,即接口地址入参。 Preview和Response里都是后端返回给前端的。Preview是格式化过的,比较容易看。Resp…...

计算机竞赛 基于深度学习的人脸表情识别
文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸表情识别 该项目较…...

虹科分享 | MKA:基于先进车载网络安全解决方案的密钥协议
MKA作为MACsec的密钥协议,具有安全、高效、针对性强的特点,为您的汽车ECU通讯创建了一个安全的通信平台,可以助力您的各种汽车创新项目! 虹科方案 | 什么是基于MACsec的汽车MKA 一、MACsec在汽车行业的应用 在以往的文章中&#…...

jmeter 常数吞吐量定时器
模拟固定吞吐量的定时器。它可以控制测试计划中各个请求之间的时间间隔,以达到预期的吞吐量。 参数包括: Target Throughput:目标吞吐量(每分钟请求数)Calculate Throughput based on:吞吐量计算基准&…...

【大数据Hive】hive 加载数据常用方案使用详解
目录 一、前言 二、load 命令使用 2.1 load 概述 2.1.1 load 语法规则 2.1.2 load语法规则重要参数说明 2.2 load 数据加载操作演示 2.2.1 前置准备 2.2.2 加载本地数据 2.2.3 HDFS加载数据 2.2.4 从HDFS加载数据到分区表中并指定分区 2.3 hive3.0 load 命令新特性 …...

计及电池储能寿命损耗的微电网经济调度(matlab代码)
目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《考虑寿命损耗的微网电池储能容量优化配置》模型,以购售电成本、燃料成本和储能寿命损耗成本三者之和为目标函数,创新考虑储能寿命损耗约束、放电深度约束和储能循环次…...

DP读书:鲲鹏处理器 架构与编程(十四)ACPI与软件架构具体调优
一分钟速通ACPI和鲲鹏软件移植 操作系统内核鲲鹏软件移植鲲鹏软件移植流程 编译工具选择编译参数移植案例源码修改案例鲲鹏分析扫描工具 Dependency Advisor鲲鹏代码迁移工具 Porting Advisor 鲲鹏软件性能调优鲲鹏软件性能调优流程CPU与内存子系统性能调优网络子系统性能调优磁…...

4.正则提取html中的img标签的src内容
我们以百度贴吧的1吧举例 目录 1 把网页搞下来 2 收集url 3 处理url 4 空的src 5 容错 6 不使用数字作为文件名 7 并不是所有的图片都用img标签表示 8 img标签中src请求下来不一定正确 9 分页 1 把网页搞下来 搞下来之后,双击打开是这样的 2 收…...

安装对应版本pytorch和torchvision
遇见报错: ERROR: Could not find a version that satisfies the requirement torch (from versions: none) ERROR: No matching distribution found for torch 解决方法: 1、网站找到对应torch和torchvision版本,cp对应python版本ÿ…...

酷克数据与华为合作更进一步 携手推出云数仓联合解决方案
在一起,共迎新机遇!8月25-26日,2023华为数据存储用户精英论坛在西宁召开。酷克数据作为国内云原生数据仓库的代表企业,也是华为重要的生态合作伙伴,受邀参与本次论坛,并展示了云数仓领域最新前沿技术以及联…...

若依 MyBatis改为MyBatis-Plus
主要内容:升级成mybatis-plus,代码生成也是mybatis-plus版本 跟着我一步一步来,就可完成升级! 检查:启动程序,先保证若依能启动 第一步:添加依赖 这里需要在两个地方添加,一个是最…...

docker-ubuntu
docker ps docker images 拉取ubuntu镜像 docker pull ubuntu 启动 docker start podid docker run -itd -e TZAsia/Shanghai --name ubuntu-test -v /share:/shared -d ubuntu:latest 进入bash界面 docker exec -it podid /bin/bash 安装sudo apt-get install sudo …...

Mock 基本使用
mock解决的问题 开发时,后端还没完成数据输出,前端只好写静态模拟数据。数据太长了,将数据写在js文件里,完成后挨个改url。某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼。想要尽可能还原真实的数据,…...

MySql学习笔记08——事务介绍
事务 基本概念 事务是一个完整的业务逻辑,是一个最小的工作单元,不可再分。 一个完整的业务逻辑包括一系列的操作,这些操作是整个业务逻辑中的最小单元,这些操作要么同时成功,要么同时失败。 由于只有DML语句中才会…...

AMEYA360:思瑞浦推出汽车级超低静态功耗高压LDO—TPL8031Q
聚焦高性能模拟芯片和嵌入式处理器创新研发的半导体公司——思瑞浦3PEAK(股票代码:688536),推出全新一代汽车级超低静态功耗高压线性稳压器——TPL8031Q。 TPL8031Q拥有支持3V~42V宽输入电压范围、3μA超低静态功耗、多种封装可选等性能优势,…...

保留 N 条数据功能 实现方案
需求:用户浏览某信息后 就插入一条浏览记录,该浏览记录限制只保留 N 条。 实现方案: 1. 插入记录 2. 查询总记录 3. 判断:总记录 是否大于 阈值 3.1 如果大于:总记录 - 阈值 获取到超出数量,将对超出数…...

SOME/IP TTL 在各种Entry 中各是什么意思?有什么限制?
1 服务发现 SOME/IP SD 服务发现主要用于 定位服务实例检测服务实例状态是否在运行发布/订阅行为管理SOME/IP SD 也是 SOME/IP 消息,遵循 SOME/IP 消息格式,有固定的 Message ID、Request ID 以及 Message Type 等。并对 SOME/IP Payload 进行了详细的定义。 SOME/IP SD …...

CSS中如何实现元素的旋转和缩放效果?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 元素的旋转和缩放效果⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏…...

Unity通过偏移UV播放序列帧动画
大家好,我是阿赵。 在Unity引擎里面用shader播放序列图,估计很多人都有用到了,我自己而已写过好几个版本。这里大概介绍一下。 一、原理 先说目的,我现在有一张这样的图片: 这张图片上面,有9个格子&a…...

无涯教程-Android - List fragments函数
框架的ListFragment的静态库支持版本,用于编写在Android 3.0之前的平台上运行的应用程序,在Android 3.0或更高版本上运行时,仍使用此实现。 List fragment 的基本实现是用于创建fragment中的项目列表 List in Fragments 示例 本示例将向您说明如何基于…...

【图解RabbitMQ-3】消息队列RabbitMQ介绍及核心流程
🧑💻作者名称:DaenCode 🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开…...

jmeter源码二次开发
本文以jmeter5.5为例,扩展“TCP Socket支持定长的返回字节流”功能。 一、 源码本地编译运行 1、在jmeter官网下载源码:jmeter各版本源码地址 2、在idea中用gradle导入jmeter源码,idea中要配置jdk,gradle,我用的是j…...

深入实现 MyBatis 底层机制的任务阶段4 - 开发 Mapper 接口和 Mapper.xml
😀前言 在我们的自定义 MyBatis 底层机制实现过程中,我们已经深入研究了多个任务阶段,包括配置文件的读取、数据库连接的建立、执行器的编写,以及 SqlSession 的封装。每个任务阶段都为我们揭示了 MyBatis 内部工作原理的一部分&a…...

分享一下在微信上有哪些微信活动可以做
微信营销活动是吸引更多用户和提高品牌知名度的有效策略。下面是一些微信营销活动的做法: 抽奖活动:通过设置奖品和参与条件,吸引用户参与抽奖活动。例如,可以设置关注公众号、转发活动页面等条件,吸引更多用户参与抽奖…...

视频监控/视频汇聚/视频云存储EasyCVR平台接入国标GB协议后出现断流情况,该如何解决?
视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。安防监控平台EasyCVR既具备传统安防视频监控的能…...

没有软件怎么管理固定资产
在当今数字化的世界中,我们已经习惯了使用各种软件来管理我们的日常生活和工作。然而,当我们面临一个看似简单的问题——如何管理固定资产时,我们可能会感到困惑。那么,如果没有软件,我们该如何进行资产管理呢…...

几种反序列化漏洞
1.PHP魔术方法 <?php class c {private $name hacker;function __construct() { // 构造方法,new时调用echo construct<br>;}function __serialize() { // 序列化时调用echo serialize<br>;return [hack];}function __unserialize($data) { // 反…...

华为OD机试 - 找出符合要求的字符串子串(Java 2023 B卷 100分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》…...

深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
文章目录 第一步:安装anaconda第二步:安装虚拟环境第三步:安装torch和torchvision第四步: 安装mmcv-full第五步: 安装mmdetection第六步:测试环境第七步:训练-目标检测7.1 准备数据集7.2 检查数据集7.3 训练网络 第一步…...