流式存储音频/视频

目录

流式存储音频/视频

1.1 具有元文件的万维网服务器

1.2 媒体服务器 

1.3 实时流式协议 RTSP

使用 RTSP 的媒体服务器的工作过程


流式存储音频/视频

·“存储”音频/视频文件不是实时产生的,而是已经录制好的,通常存储在光盘或硬盘中。

传统浏览器从服务器下载已经录制好的音频/视频文件步骤

1.1 具有元文件的万维网服务器

·元文件就是一种非常小的文件,它描述或指明其他文件的一些重要信息。这里的元文件保存了有关这个音频/视频文件的信息。

1.2 媒体服务器 

·使用两个分开的服务器:万维网服务器,媒体服务器。

·媒体服务器: 流式服务器 (streaming server),支持流式音频和视频的传送。

·媒体播放器与媒体服务器的关系:

        客户与服务器的关系。

        媒体播放器向媒体服务器请求音频/视频文件。

·媒体播放器与媒体服务器之间的交互:采用另外的协议。 

媒体播放器不是向万维网服务器、而是向媒体服务器请求音频/视频文件。

下载时使用 TCP,还是 UDP?

采用 UDP 有以下缺点:

1.由于网络情况多变,接收端的播放器很难做到始终按规定的速率播放。

2.很多单位的防火墙往往阻拦外部 UDP 分组的进入,因而使用 UDP 传送多媒体文件时会被防火墙阻拦掉。

3.使用 UDP 传送流式多媒体文件时,如果在用户端希望能够控制媒体的播放,如进行暂停、快进等操作,还需要使用另外的协议RTP 和 RTSP,增加了成本和复杂性。

·现在,对流式存储音频/视频的播放,如 YouTube 和 Netflix,都是采用 TCP 来传送

使用 TCP 传送流式视频的主要步骤

·如果是观看实况转播,应当首先考虑使用 UDP 来传送

         ·若使用 TCP 传送,当出现网络严重拥塞时,会产生播放暂停。

        ·使用 UDP 传送时,即使因网络拥塞丢失了一些分组,对观看的感觉也会比突然出现暂停要好些。

1.3 实时流式协议 RTSP

·实时流式协议 RTSP (Real-Time Streaming Protocol) :

        ·应用层的多媒体播放控制协议不传送数据

        ·以客户服务器方式工作。

        ·使用户在播放从互联网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。

        ·又称为“互联网录像机遥控协议”。

·RTSP 是有状态的协议,它记录客户机所处于的状态(初始化状态、播放状态或暂停状态)。

·RTSP 控制分组既可在 TCP 上传送,也可在 UDP 上传送。

·RTSP 没有定义音频/视频的压缩方案,也没有规定音频/视频在网络中传送时应如何封装在分组中,没有规定音频/视频流在媒体播放器中应如何缓存。

使用 RTSP 的媒体服务器的工作过程

使用 RTSP 的媒体服务器的工作过程

1.浏览器向万维网服务器请求音频/视频文件。

2.万维网服务器从浏览器发送携带有元文件的响应。

3.浏览器把收到的元文件传送给媒体播放器。

4.RTSP 客户与媒体服务器的 RTSP 服务器建立连接。

5.RTSP 服务器发送响应 RESPONSE 报文。

6.RTSP 客户发送 PLAY 报文,开始下载音频/视频文件。

7.RTSP 服务器发送响应 RESPONSE 报文。

8.RTSP 客户发送 TEARDOWN 报文断开连接。

9.RTSP 服务器发送响应 RESPONSE 报文。

欢迎一起学习~

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

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

相关文章

一个简短的补充------对链表练习题的补充补充

昨天不是写了一篇有关链表的数据结构练习题嘛,其实那篇文章的第二道题还有许多值得我们思考的东西,今天就在这做一个简短的补充。补充一下运用那道题解决另一道题。 给大家看一下绿色让眼睛放松一下。 给定一个链表的头节点 head ,返回链表…

【前端】前端三要素之JavsScript基础

写在前面:本文仅包含JavaScript内容,DOM知识传送门在这里,BOM传送门在这里。 本文内容是假期中刷的黑马Pink老师视频(十分感谢Pink老师),原文保存在个人的GitLab中,如果需要写的网页内容信息等可…

计算机二级C语言的注意事项及相应真题-6-程序修改

目录 51.从整数10到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回52.先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串…

K210基础实验——点亮LED灯

一、目的是点亮K210开发板左下角的LED0和LED1,LED0是红灯,LED1是绿灯,两颗LED灯都是低电平点亮,高电平熄灭。 二、这是原理图上的硬件连接,LED0连接的是IO0,LED1连接的是IO17。 三、在src目录下新建文件夹 …

WSL2配置Linux、Docker、VS Code、zsh、oh my zsh

0. 写在前面 本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 1. 安装WSL2 按照微软官方文档进行操作,当然也可以直接wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是Ubuntu 20.04 LTS 注:WSL默认安装…

【Vulkan Tutorials 01】【环境搭建】三角形例子

Development Environment(开发环境) 1. 安装Vulkan SDK 官网 2. 安装cmake和minGW 2.1 cmake 官网 双击可执行文件,然后直接安装,注意环境变量选择设置,否则需要自己操作。 2.2 minGW 官网 下载如下图所示&am…

2.21数据与结构算法学习日记(最小生成树prim算法)

目录 最小生成树prim 最小生成树算法是一种用来在一个加权连通图中找到最小生成树的算法。最小生成树是一个包含图中所有顶点的树,其总权值最小。 prim算法 洛谷题目示例 P3366 【模板】最小生成树 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题…

K8s ingress-nginx根据请求目录不同将请求转发到不同应用

K8s ingress-nginx根据请求目录不同将请求转发到不同应用 1. 起因 有小伙伴做实验想要实现以下需求: 输入www.pana.com/app1访问app1的svc 输入www.pana.com/app2访问app2的svc 2. 实验 2.1 Dockerfile 先准备Dockerfile FROM nginx:1.20ADD index.html /usr/share/ngin…

还迷糊事务的并发问题以及隔离级别?

还迷糊事务的并发问题以及隔离级别? 事务并发问题 MySQL 服务端是允许多个客户端连接的,这意味着 MySQL 会出现同时处理多个事务的情况。 那么在同时处理多个事务的时候,就可能出现脏读(dirty read)、不可重复读&am…

华清远见作业第四十天——Qt(第二天)

思维导图: 编程: 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为…

碳化硅晶片C面和硅面详解

SiC是一种Si元素和C元素以1:1比例形成的二元化合物,即百分之五十的硅(Si)和百分之五十的碳(C),其基本结构单元为 Si-C 四面体。 举个例子,Si原子直径大,相当于苹果,C原子…

EasyRecovery支持恢复多种类型的文件包括文档、表格、图片、音频、视频等

EasyRecovery易恢复是一款来自美国的数据恢复软件,已有35年(或38年)的历史。它支持不同存储介质的数据恢复,包括电脑系统硬盘、移动硬盘等,并针对不同的数据丢失原因提供了相应的恢复方案。 EasyRecovery易恢复是一款…

开源模型应用落地-工具使用篇-向量数据库(三)

一、前言 通过学习"开源模型应用落地"系列文章,我们成功地建立了一个完整可实施的AI交付流程。现在,我们要引入向量数据库,作为我们AI服务的二级缓存。本文将详细介绍如何使用Milvus Lite来为我们的AI服务部署一个前置缓存。 二、术…

曝光一下不发年终奖的企业

原文连接: 曝光一下不发年终奖的企业 今日热帖,看到网上发布的一篇帖子:请曝光一下不发年终奖的企业! 结果留言上百条,除了私企,还有很多国企,银行等。而且还有一些我们认为应该很赚钱的企业&a…

opengl 学习着色器

一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序:声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数,在main函数中我们处理所有的输入变量,并将结果输出到输出变量中。如下图: #ver…

CVE-2024-24565 CrateDB数据库任意文件读取漏洞

目录 前言 简介 ​编辑 环境搭建 漏洞复现 前言 本次介绍的漏洞不同与以往, 本次洞更多是适用于利用数据库提权。 利用数据库的导入导出数据的功能,我们往往可以将内部的一些敏感文件如/etc/passwd导入到数据库进行查看。也可以将数据导入到一些特…

命令执行讲解和函数

命令执行漏洞简介 命令执行漏洞产生原因 应用未对用户输入做严格得检查过滤,导致用户输入得参数被当成命令来执行 命令执行漏洞的危害 1.继承Web服务程序的权限去执行系统命会或读写文件 2.反弹shell,获得目标服务器的权限 3.进一步内网渗透 远程代…

泛微e-office系统存在敏感信息泄露 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 泛微e-office系统简介 微信公众号搜索:南风漏洞复…

mysql 锁详解

目录 前言 一、全局锁 二、表级锁 三、行锁 前言 为什么要设计锁,锁设计初衷是为了解决多线程下并发问题。出现并发的时候用锁进行数据同步,避免因并发造成了数据错误(数据覆盖)。可见锁的重要性,并不是所有的数据库都有锁。比如Redis&a…

什么是CODESYS开发系统

CODESYS是一种用于工业自动化领域的开发系统软件,提供了一个完整集成的开发环境。该软件由德国CODESYS GmbH(原 3S-Smart Software Solutions GmbH)公司开发,其最新版本为CODESYS V3。 CODESYS开发系统具有多种特性和优点。首先&a…