在线视频技术可以算作较为专业的领域,本书重在给出技术的线索、问题背景、认知脉络以及技术之间的联系,而非描述每一技术的细节,旨在帮助视频公司的技术人员构建包括音视频技术和各类通用技术在内的,较为完整的技术图景。
本书前半部分着重介绍在线视频行业的基础——音视频技术,从行业的历史、文件格式、标准组织开始,依次介绍了音视频技术的框架、编码、流媒体、播放等知识,并讨论了最近几年一流视频公司所关注的许多前沿技术。后半部分逐一谈及技术体系中的其他重要环节和它们在视频服务中的应用,包括服务与数据、算法、推荐与广告、整体架构,乃至技术团队建设等话题。
本书适合已具备基本研发技能的工程师、项目经理等读者阅读。希望通过本书可以帮助读者快速建立在线视频领域内所需的知识体系,进一步拓展眼界,上升到新的高度。
1.作者是Hulu资深工程师。Hulu是一家全面算法化的视频网站,在编码、流媒体、数据中心、大数据、推荐以及广告等方面都走在业界前列。
2.系统全面。全面了解在线视频技术,解读最新技术,搭建技术体系架构。
晓成,先后供职于摩托罗拉、微软、RealNetworks等知名企业,现任Hulu首席架构师,负责音视频相关的链路设计、数据服务设计、人工智能算法与平台设计等工作。
作者在工程研发上有近二十年经历,其中超过十三年的音视频经验,在职业生涯中参与并主导过多个具有世界级影响的音视频产品或服务,亦曾领导过服务数亿用户的开源软件社区,近年来注重与人工智能相关的设计与应用,于理念上追求技术深度和梯队培养,所带出的工程师中当前已有多人在一二线互联网公司,软件公司担任音视频或人工智能等团队核心甚至负责人。
第 1章 在线视频行业 1
1.1 概述 1
1.2 视频技术:历史 6
技术与产品驱动 6
服务构建生活 12
中国引领创新 19
形形色色的玩家 23
1.3 常见文件与编码格式 27
上古时代 28
“现代”格式 33
独树一帜 41
1.4 “幕后黑手”:标准组织 43
ISO/IEC MPEG 43
ITU-T VCEG 44
IETF和RFC 45
DASH-IF 46
小结 47
第 2章 音视频技术:框架 50
2.1 太祖长拳和岳家散手:DIRECTSHOW和MEDIAFOUNDATION 50
GraphEdit,DirectShow架构和常见应用的流程 52
应用和组件开发 56
MediaFoundation 58
2.2 全真武功:HELIX 60
产品系列 60
设计架构 63
特色技术 64
2.3 九阴真经:FFMPEG 67
编译与安装 68
FFMpeg工具使用 69
运用FFMpeg进行开发 73
2.4 小无相功:GSTREAMER 74
Gstreamer架构体系 75
Gstreamer的安装与工具使用 78
应用开发 81
插件开发 82
2.5 圆月弯刀:VIDEOLAN 84
附:x264和x265 87
2.6 倚天剑、屠龙刀:ANDROID MEDIA和AVFOUNDATION 88
Android Media 89
AVFoundation 93
第3章 音视频技术:编码 95
3.1 编码技术概述 95
视频编码面临的问题 95
视频编码的思路 99
视频编码的发展 105
音频编码 107
3.2 从图像压缩开始 108
如何表征图像 109
那种格式更好? 111
直接应用 116
3.3 一统江湖:H.264/AVC 117
编码架构和主要技术 118
网络封装 122
出色的实现:x264 124
3.4 全面进化:HEVC/H.265 127
3.5 更高、更快与更强:VP9、AV1与H.266 134
另辟蹊径:VP9 134
最强编码:AV1 136
畅想未来:H.266 140
3.6 赏善罚恶:编码质量评估 142
3.7 难寻敌手:AAC/HE-AAC 149
层层递进的编码配置 149
多样化的封装 151
竞争对手 154
第4章 音视频技术:流媒体 156
4.1 流媒体技术综述 156
4.2 不停歇的列车:MPEG2-TS 165
MPEG-TS协议 165
MPEG-TS的应用 169
4.3 双向多车道:RTSP协议 171
RTSP协议 171
RTP、RTCP与SDP 174
4.4 高速铁路:RTMP协议 177
RTMP协议 178
RTMP的应用 181
4.5 快递物流:HLS、HDS与SMOOTH STREAMING协议 183
HLS协议 183
HDS与Smooth Streaming 189
4.6 菜鸟网络:MPEG-DASH 192
MPEG-DASH协议 194
协议应用 202
4.7 物流中心:流媒体服务器 205
流媒体服务器的功能与挑战 206
高性能服务器技术 212
4.8 物流服务:CDN 220
CDN的基本技术 221
发展趋势 227
4.9 P2P:小农经济还是共享经济? 228
P2P的基本技术 228
流媒体服务的P2P需求与挑战 230
第5章 音视频技术:播放 235
5.1 视频领域的大保镖:DRM 235
加密技术 236
DRM原理与应用 238
5.2 新世界的窗口:字幕 245
字幕的格式 246
字幕服务的设计 252
5.3 播放器技术:鸣锣、开戏! 253
播放器开发 253
广泛使用的播放器技术 258
5.4 播放的关键指标:QOS 260
QOS的常用指标 261
如何提升QOS 265
第6章 音视频技术:前沿 268
6.1 新标准、新技术——见兔而顾犬,未为晚也 268
10Bit视频 268
HDR 269
全景视频 273
点云与光场 277
6.2 编码技术评价——工以利器为助,人以贤友为助 278
PSNR和SSIM的优劣 279
VMAF 281
码率控制、编解码速度与测量技术 283
6.3 编码技术优化——志以成学,学以广才 288
编码器的优化使用 288
编码器改进 293
并行转码 295
6.4 流媒体技术优化——千人千面 297
下载策略优化 297
协议与架构优化 301
6.5 编码与分发,QOS与QOE——不谋全局者,不足谋一城 305
编码与分发 306
从QOS到QOE 312
6.6 使用图像处理技术——君子善假于物 314
图像处理 314
QC与内容审查 320
第7章 通用技术:服务与数据 324
7.1 服务器、虚拟化和云服务:用鸟枪还是排炮? 324
服务器与数据中心 324
虚拟化、容器化 328
使用公有云服务 333
7.2 数据库与缓存技术:巧妇须为有米之炊 336
追本溯源:什么是数据库 336
数据库的常规使用 339
一个打十个的秘笈:使用缓存 342
7.3 大数据技术:征途是星辰大海 347
大数据的缘起 347
大数据体系的常见方案 352
大数据领域的发展和应用 360
7.4 搜索技术:空气和水 363
搜索引擎原理 364
在线视频服务中的搜索 368
7.5 用户画像:知己知彼,百战不殆 372
概念与来源 373
表达与生成 377
如何搭建用户画像体系 380
7.6 数据分析:我思故我在 383
什么是数据分析 384
数据分析方法 385
数据分析的应用 390
第8章 通用技术:算法 392
8.1 降维攻击:机器学习 392
常见的算法和研究分支 393
机器学习应用 401
8.2 点石成金:深度学习 405
常见的算法和研究分支 406
深度学习应用 414
8.3 搭建沟通的桥梁:自然语言处理 416
常见的问题和算法 416
自然语言处理的应用 421
8.4 百闻不如一见:计算机视觉技术 428
常见的问题和算法 428
计算机视觉的应用 435
8.5 垒土为台:视频理解 436
面临的问题和解法 437
视频理解应用 440
视频理解系统设计 444
第9章 通用技术:推荐与广告 449
9.1 推荐技术:天眼窥红尘 449
传统推荐技术:协同过滤 450
第二代技术:矩阵分解 454
推荐效果评估 457
第三代技术:基于深度学习的推荐 460
不同的推荐场景 462
构建推荐系统 468
9.2 在线视频服务中的推荐 471
在线视频服务的推荐体系 471
Netflix和Youtube的推荐系统 476
他山之石,可以攻玉 482
9.3 在线广告技术:身是眼中人 484
在线广告的分类和指标 485
在线广告的价值链条 488
在线广告的关键技术 493
9.4 在线视频广告 497
视频广告的常见形式 498
视频广告的相关技术和标准 499
视频广告的后台架构 504
第 10章 视频公司技术体系 508
10.1 音视频方案设计:确立建队基石 508
选择方案的原则 508
服务设计的挑战 511
直播架构设计 514
CDN方案选择 516
10.2 人工智能体系:打造明星箭头 519
人工智能平台 520
平台的主要服务组件 523
大规模人工智能的挑战 527
10.3 社交网络与内容获取:左右护法 531
社交网络 531
内容获取 537
10.4 视频服务设计:庙算而胜 540
点播服务流程 541
高水平服务 543
微服务 546
完整的服务体系视图 552
10.5 研发体系:一切归因到“人” 554
服务设计与研发体系 555
技术规范 557
服务质量体系 558
安全体系 562
创新 563
第 11章 在线视频的未来 565
在线视频的未来 565