Cutter

CDN+P2P在大规模直播&实时直播的技术实践

僤鯓⒐⒋嵵緔 提交于 2021-01-06 18:34:02
摘要:本次分享将介绍爱奇艺多类型的直播业务现状,以及直播整体技术架构和客户端直播网络模块Livenet的实现。回顾直播技术顺应业务多样化的演进过程,包括从偏P2P架构发展到结合CDN&P2P混合架构,为多端适配而实现的多协议支持和切换等演变,直播P2P和直播推流SDK的技术实现等。 演讲 / 周志伟 整理 / LiveVideoStack 大家好,我是爱奇艺的周志伟,今天会跟大家分享爱奇艺的HCDN直播,可能大家对爱奇艺比较了解,但是HCDN可能不是太清楚。HCDN在我们内部是一个部门的名称,也是一种技术方式,它是通过庞大的CDN网络和P2P网络为公司所有的产品提供视频服务,主要包括点播和直播两大部分,今天主要跟大家分享直播这一部分。我的分享大概由四大部分组成,首先是直播背景,接着会介绍大规模直播,也就是我们现在主要的直播方式,以及实时直播,最后做一些展望。 直播背景 1.直播类型 首先说一下我们的直播类型,爱奇艺主要是以娱乐为主,因为创始人、CEO龚宇在爱奇艺的大会上也表达过,我们要做一家以科技创新为驱动的娱乐公司,所以在类型上主要包括晚会盛宴,像每年的春晚我们都是有直播的以及演唱会;第二个是体育赛事,比如说澳网、法网这种赛事;商业发布,像小米发布会、华为手机发布会等等;电视轮播,主要是在PC上面,有单独的轮播台,会轮番播放一些大片、动画、电影等等,就像电视台一样

kubernetes concepts -- Pod Overview

百般思念 提交于 2020-12-12 21:26:30
This page provides an overview of Pod , the smallest deployable object in the Kubernetes object model. Pod是Kubernetes 对象模型中最小的可部署对象。 Understanding Pods A Pod is the basic building block of Kubernetes–the smallest and simplest unit in the Kubernetes object model that you create or deploy. A Pod represents a running process on your cluster. A Pod encapsulates an application container (or, in some cases, multiple containers), storage resources, a unique network IP, and options that govern how the container(s) should run. A Pod represents a unit of deployment: a single instance of an application

单元测试C代码[关闭]

十年热恋 提交于 2019-12-18 13:45:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今年夏天,我用直接C编写了一个嵌入式系统。这是我工作的公司接管的现有项目。 我已经习惯于使用JUnit在Java中编写单元测试,但是对于为现有代码(需要重构)编写单元测试的最佳方法以及添加到系统中的新代码感到茫然。 是否有任何项目使单元测试普通C代码与使用JUnit进行单元测试Java代码一样简单? 任何专门针对嵌入式开发(交叉编译到arm-linux平台)的见解都将非常感激。 #1楼 我个人喜欢 Google Test框架 。 测试C代码的真正困难在于打破了对外部模块的依赖性,因此您可以将代码单独隔离。 当您尝试围绕遗留代码进行测试时,这可能会特别成问题。 在这种情况下,我经常发现自己使用链接器在测试中使用存根函数。 这是人们在谈论“ 接缝 ”时所指的。 在C中,您唯一的选择就是使用预处理器或链接器来模拟您的依赖项。 我的一个C项目中的典型测试套件可能如下所示: #include "myimplementationfile.c" #include <gtest/gtest.h> // Mock out external dependency on mylogger.o void Logger_log(...){} TEST(FactorialTest, Zero) { EXPECT_EQ(1,