【CDN(Content Delivery Network)】

文章目录

  • CDN(Content Delivery Network)
    • 视频流化服务和CDN:上下文
    • 多媒体: 视频
    • 存储视频的流化服务:
    • 多媒体流化服务:DASH
    • 流式多媒体技术3: DASH

CDN(Content Delivery Network)

视频流化服务和CDN:上下文

  • 视频流量:占据着互联网大部分的带宽
  • 挑战:异构性
    • 不同用户拥有不同的能力(例如:有线接入和移动用户;带宽丰富和受限用户)
  • 解决方案: 分布式的,应用层面的基础设施

多媒体: 视频

  • 视频:固定速度显示的图像序列
  • 网络视频特点:
    • 高码率:>10x于音频,高的网络带宽需求
    • 可以被压缩
    • 90%以上的网络流量是视频
  • 数字化图像:像素的阵列
    • 每个像素被若干bits表示
  • 编码:使用图像内和图像间的冗余来降低编码的比特数
    • 空间冗余(图像内)
    • 时间冗余(相邻的图像间)
  • CBR: (constant bit rate): 以固定速率编码
  • VBR: (variable bit rate): 视频编码速率随时间的变化而变化

存储视频的流化服务:

在这里插入图片描述

多媒体流化服务:DASH

  • DASH: Dynamic, Adaptive Streaming over HTTP
  • 服务器:
    • 将视频文件分割成多个块
    • 每个块独立存储,编码于不同码率(8-10种)
    • 告示文件(manifest file): 提供不同块的URL
  • 客户端:
    • 先获取告示文件
    • 周期性地测量服务器到客户端的带宽
    • 查询告示文件,在一个时刻请求一个块,HTTP头部指字节范围
    • 如果带宽足够,选择最大码率的视频块
    • 会话中的不同时刻,可以切换请求不同的编码块 (取决于当时的可用带宽)

流式多媒体技术3: DASH

  • “智能”客户端: 客户端自适应决定
    • 什么时候去请求块 (不至于缓存挨饿,或者溢出)
    • 请求什么编码速率的视频块 (当带宽够用时,请求高质量的视频块)
    • 哪里去请求块 (可以向离自己近的服务器发送URL,或者向高可用带宽的服务器请求)

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

js基础知识+练习

一,JavaScript简单了解 1.什么是JavaScript JavaScript简称JS,是较为流行的一种前端编程语言,是一种脚本语言,通过解释器运行,主要在客户端(浏览器)上运行,现在也可以基于node.js在服…

LRUCache原理及源码实现

目录 LRUCache简介: LRUCache的实现: LinkedHashMap方法实现: 自己实现链表: 前言: 有需要本文章源码的友友请前往:LRUCache源码 LRUCache简介: LRU是Least Recently Used的缩写&#xf…

VMware安装Red Hat7.9

1、下载Red Hat Enterprise Linux7.9版本 【百度网盘下载】 链接:https://pan.baidu.com/s/1567NfZRF48PBXfUqxumvDA 提取码:bm7u 2、在虚拟机中创建Red Hat7.9 【点击创建虚拟机】 【自定义高级】 【选择光盘映像安装】 全名自定义即可 【虚拟机命…

阿里云-Region、VPC、VSwitch、Vrouter

1、Region region是指云资源所在的区域,比如华北3,华东1等等。下图的华北3(张家口)就是 2、VPC VPC:Virtual Private Cloud,简称VPC。基于阿里云创建的自定义私有网络, 不同的专有网络之间二层逻辑隔离,可以在自己创…

Nginx健康检查

Nginx健康检查nginx_upstream_check_module nginx健康检查介绍: ​ 主动健康检查,nignx定时主动地去ping后端的服务列表,当发现某服务出现异常时,把该服务从健康列表中移除,当发现某服务恢复时,又能够将该服务加回健…

图解二叉树遍历方法-前序遍历、中序遍历、后序遍历

一、几个概念 二叉树(binary tree):是 n(n > 0)个结点(每个结点最多只有2棵子树)的有限集合,该集合可为空集(称为空二叉树),或由一个根节点和…

使用Redis实现用户最近浏览记录

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Redis是一个key-va…

使用VBA巧妙获取图表数据源区域

在日常工作中,使用VBA操作Excel图表是经验遇到的工作创建。 示例图表如下: 使用如下代码可以更新图表的数据源区域,增加一个数据系列。 Sub UpdateChart()ActiveSheet.ChartObjects(1).ActivateActiveChart.SetSourceData Source:Range(&qu…

牛客研究生复试刷题(1)

KY30进制转换 1.最开始没有考虑到大数问题,可以说是没考虑完全,输入类型使用的是int64_t,只ac了一半测试用例。所以在数很大找不到合适的数据类型存储时,要考虑使用string来存放。 2.使用string存放数字的时候就要考虑:字符和数字之间的转换。字符转换成数字:str[i]-0,…

从 0 搭建公司Jenkins服务 Centos7

从 0 搭建公司Jenkins服务 Centos7 安装 (运维人员) 安装环境 配置DNS安装JDK17安装Jenkins安装Docker安装GIT安装Ansible启动Jenkins安装插件配置凭据配置共享库配置 (开发经理)使用 (开发、测试人员) 安装 (运维人员) 安装环境 配置DNS 新安装系统的服务器无法解析域名&a…

CMake 学习笔记2

其他很好的总结 CMake教程系列-01-最小配置示例 - 知乎 CMake 保姆级教程(上) | 爱编程的大丙 10-补充(完结)_哔哩哔哩_bilibili 1、基本关键字 SET命令的补充 (1)SET命令设置执行标准 #增加-stdc11 set(CMAKE_CXX_STANDARD…

二、Flask会话技术和模板语言

Cookie Session # views.py: 路由 + 视图函数 import datetimefrom flask import Blueprint, render_template, request, redirect, session from .models import *# 蓝图 blue = Blueprint(user, __name__)# 首页 可以写两个路由,都是访问同一个函数 @blue.route(/) @blue.ro…