流式存储音频/视频

目录

流式存储音频/视频

[1.1 具有元文件的万维网服务器](#1.1 具有元文件的万维网服务器)

[1.2 媒体服务器](#1.2 媒体服务器)

[1.3 实时流式协议 RTSP](#1.3 实时流式协议 RTSP)

[使用 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 报文。

欢迎一起学习~

相关推荐
Android系统攻城狮33 分钟前
Linux Gstreamer深度解析之gst_audio_decoder_get_parse_state调用流程与实战(四十九)
linux·音视频·gstreamer音视频·gstreamer音视频进阶
勤劳X码农1 小时前
2026年TTS工具音频质量量化评测:MOS评分、延迟与格式兼容性实测
音视频
AI天行健2 小时前
内容工作室 AI 视频量产选型:星宇智算无限画布能解决哪些生产卡点
人工智能·音视频
小猴子爱上树3 小时前
跨马翻译:批量图片翻译+视频字幕+智能抠图一站式工具
python·音视频
火山引擎边缘云4 小时前
从“看见文字”到“读懂画面”:AI MediaKit 如何实现视频字幕无痕擦除
人工智能·音视频
光子物联单片机5 小时前
STM32传感器模块编程实践(二十二)DIY智能WIFI视频控制小车
c语言·stm32·单片机·嵌入式硬件·音视频
特视界说5 小时前
产品参数还没最终确认,能做三维动画吗?可以,但要把不确定性标出来
微信·音视频·传媒·新浪微博·新人首发
画绛集美术6 小时前
用开源AI语音合成做课程口播音频:一间美术教室的技术笔记
人工智能·笔记·音视频
linux_cfan7 小时前
videojs v10 源代码系列解读:32 · Reactor 模型:信号驱动的状态机
前端·javascript·音视频
encoderlee7 小时前
ubuntu server 如何播放视频显示网页
linux·ubuntu·音视频·树莓派·ubuntu server·arm嵌入式