标题：视频网站修炼术
内容简介
全书一共分为11章，分别讲述了Flash基础知识绪论、Flash视频技术以及视频网站实战等内容。《视频网站修炼术:基于Flash的视频技术开发与应用》以视频技术及其应用为主线，从录制第一个视频开始，然后将该视频文件转换为Flash视频格式。有了Flash视频文件，接着就是如何播放该视频。有了Flash视频，又知道如何播放，下一步就要将它插入到网页中得到web视频。在《视频网站修炼术:基于Flash的视频技术开发与应用》的第三部分我们以实例的方式，一步步讲述常见的几类视频网站的搭建方法。
《视频网站修炼术:基于Flash的视频技术开发与应用》读者的定位起点很低，不管读者有无编程基础、Flash动画基础，都可以玩转Flash视频。Flash视频技术毕竟是个新技术，大家对它的了解不是很全面，通过《视频网站修炼术:基于Flash的视频技术开发与应用》，你可以发现其实Flash视频技术是很简单的，人人都可以应用它。
目录
第一部分 基础知识绪论第1章 概述 3
1.1 视频的概念 4
1.2 人人喜爱的视听技术—视频 4
1.3 视频与动画的异同 5
1.4 Flash视频的概念 5
1.5 Flash视频的播放环境 6
1.6 Web视频简史 7
1.7 Web视频技术发展历程 7
1.8 Flash视频技术为什么会火 8
1.9 Flash 8新的视频功能 9
1.10 本书知识体系概览 11
第二部分 Flash视频技术第2章 使用Windows Movie Maker和摄像头录制你的第一个视频 15
第3章 获取Flash视频文件 23
3.1 使用格式转换软件将其他格式的视频转换成Flash视频 24
3.1.1 编码软件解决方案 24
3.1.2 “视频导入”向导和Flash Video Encoder支持的视频格式 26
3.1.3 使用“视频导入”向导获取Flash视频 27
3.1.4 使用Flash Video Encoder获取Flash视频文件 34
3.2 Flash视频编码原理与编码设置 39
3.2.1 Sorenson和On2编码解码器 39
3.2.2 Flash Player的版本支持 40
3.2.3 视频参数 41
3.2.4 帧频 42
3.2.5 关键帧 42
3.2.6 高宽比（帧大小） 43
3.2.7 数据速率 45
3.2.8 设置音频编码选项 46
3.2.9 创建高质量视频 46
3.3 提取Flash视频片段 48
3.3.1 创建单个Flash视频剪辑 48
3.3.2 创建多个Flash视频剪辑 49
第4章 用于播放Flash视频的播放组件 53
4.1 Media组件包 54
4.1.1 Media组件包简介 54
4.1.2 MediaDisplay组件 54
4.1.3 MediaController组件 57
4.1.4 MediaController组件与MediaDisplay组件配合播放视频 59
4.1.5 MediaPlayback组件 61
4.2 FLVPlayback组件包 62
4.2.1 FLVPlayback组件及其特点介绍 62
4.2.2 通过“视频导入”向导引入FLVPlayback组件 63
4.2.3 通过“组件”面板引入FLVPlayback组件 66
4.2.4 FLVPlayback组件的参数 69
4.2.5 使用ActionScript脚本动态创建FLVPlayback实例 71
4.2.6 小结三种创建FLVPlayback实例的方法 72
4.2.7 连续播放多个Flash视频 73
4.3 自定义FLVPlayback组件 77
4.3.1 使用FLVPlayback Custom UI实现自定义外观 77
4.3.2 修改FLVPlayback组件外观的图形和颜色 80
4.3.3 自定义独立的外观swf文件 83
4.3.4 加载自定义的外观swf文件 86
第5章 使用ActionScript控制Flash视频播放 89
5.1 使用视频对象（Video）播放Flash视频 90
5.1.1 创建视频（Video）对象 90
5.1.2 视频类Video 93
5.1.3 NetConnection类和NetStream类 95
5.1.4 渐进式下载 98
5.1.5 渐进式下载播放视频时的状态变化 100
5.1.6 动态调整视频播放的尺寸 102
5.1.7 显示渐进式下载的进度 107
5.1.8 制作独立的播放器程序 109
5.2 嵌入式播放视频 113
5.2.1 什么是嵌入式视频 113
5.2.2 将嵌入式视频导入库 114
5.2.3 嵌入式视频导入方法比较 116
5.2.4 视频对象与嵌入式视频对象的异同 117
5.2.5 更改嵌入式视频属性 117
5.2.6 议一议：“库”面板中的视频是元件还是资源 119
5.2.7 编辑嵌入式视频以添加字幕 119
5.2.8 Flash 8提供的用于控制嵌入式视频播放的行为 122
5.2.9 使用行为控制嵌入式视频播放 123
5.2.10 编写ActionScript控制嵌入式视频播放 124
5.2.11 嵌入式视频的局限 126
第6章 Flash视频高级技术 127
6.1 创建Alpha编码的Flash视频 128
6.1.1 什么是Alpha视频 128
6.1.2 使用After Effects创建Alpha通道并导出Flash视频 128
6.2 Flash视频的元数据 133
6.2.1 什么是元数据 133
6.2.2 跟踪Flash视频的元数据信息 133
6.3 提示点 135
6.3.1 提示点的概念与分类 135
6.3.2 使用Flash Video Encoder嵌入提示点 136
6.3.3 跟踪FLV视频文件中的提示点 138
6.3.4 通过FLVPlayback组件创建和使用提示点 140
6.3.5 编写ActionScript添加和禁用提示点 143
6.3.6 通过MediaPlayback创建提示点 144
6.3.7 侦听cuePoint事件 145
6.3.8 导航视频 148
6.3.9 查找提示点 151
6.4 提示点应用 153
6.4.1 提示点应用（一） 154
6.4.2 提示点应用（二） 156
6.4.3 提示点应用（三） 159
第7章 将Flash视频插入网页制作Web视频 163
7.1 制作Web视频网页 164
7.1.1 Web视频的概念与制作方法 164
7.1.2 在Flash 8中直接发布 164
7.1.3 在Dreamweaver中插入swf视频 165
7.1.4 在Dreamweaver中直接插入Flash视频 168
7.1.5 改造视频播放器用于播放Web视频（使用FlashVars技术） 172
7.2 部署Flash视频 175
第三部分 视频网站实战第8章 简单视频网站搭建 179
8.1 简单视频网站的要求 180
8.1.1 什么是视频网站 180
8.1.2 简单视频网站的要求 180
8.2 需求分析与技术架构 181
8.2.1 需求分析 181
8.2.2 技术架构 181
8.2.3 数据库设计 181
8.3 搭建Tomcat Web服务器和MySQL数据库服务器 182
8.3.1 安装Java开发环境 183
8.3.2 安装Tomcat服务器 185
8.3.3 设置环境变量 185
8.3.4 测试Java环境 187
8.3.5 测试Tomcat环境 188
8.3.6 下载与安装MySQL 189
8.3.7 配置MySQL服务器 191
8.3.8 测试MySQL服务器 194
8.3.9 执行数据库脚本命令 195
8.4 页面制作与代码编写 196
8.4.1 创建videosite应用 196
8.4.2 制作视频添加静态页 197
8.4.3 编写上传信息处理程序uploadservlet 199
8.4.4 智能上传组件SmartUpload简介及UploadServlet编译 203
8.4.5 在web.xml里注册UploadServlet 204
8.4.6 编写上传结果显示页面submitInfo.jsp 205
8.4.7 上传视频信息 207
8.4.8 制作首页 208
8.4.9 制作视频展示模板页viewVideo.jsp 212
8.4.10 编写删除视频信息页delVideo.jsp 218
8.4.11 制作修改视频信息页updateVideo.jsp 220
8.4.12 编写视频修改处理程序UpdateServlet 225
8.4.13 编译并注册UpdateServlet 229
第9章 视频分享网站搭建 231
9.1 视频分享网站的概念 232
9.1.1 什么是视频分享网站 232
9.1.2 众说纷纭的web 2.0概念 232
9.1.3 视频博客与播客 232
9.2 编译开源视频转换程序FFmpeg 233
9.2.1 视频分享网站的核心技术 233
9.2.2 FFmpeg开源项目简介 234
9.2.3 下载并安装MSYS 234
9.2.4 安装MinGW 238
9.2.5 安装TortoiseSVN同步下载软件 239
9.2.6 使用TortoiseSVN获取FFmpeg项目源码 240
9.2.7 静态编译FFmpeg 241
9.2.8 初次接触FFmpeg程序 245
9.2.9 FFmpeg的参数介绍 246
9.2.10 开始使用FFmpeg转换视频 248
9.2.11 安装第三方库 250
9.2.12 编译mp3lame库 250
9.2.13 编译zlib库 251
9.2.14 编译xvid库 252
9.2.15 支持3gp格式 253
9.2.16 将上述第三方库编译进FFmpeg里 254
9.3 分享网站实现部分 255
9.3.1 新建sharevideo应用 255
9.3.2 修改发布视频模板broadcastVideo.html 256
9.3.3 实现转换视频和抓取缩略图处理程序TransformFlvServlet 258
9.3.4 编译与登记注册TransFormFlvServlet 262
9.3.5 修改首页index.jsp 263
9.3.6 修改视频显示页viewVideo.jsp 266
9.3.7 页面测试和功能演示 270
第10章 在线录制视频网站的搭建 273
10.1 在线录制视频网站的概念 274
10.1.1 什么是在线录制视频 274
10.1.2 在线录制视频的硬件环境 274
10.1.3 在线录制视频的软件环境 274
10.2 Flash媒体服务器（FMS）的安装与配置 275
10.2.1 FMS简介 275
10.2.2 安装FMS 276
10.2.3 FMS的目录结构 279
10.2.4 启动、停止与卸载FMS 280
10.2.5 通过控制台管理FMS 281
10.3 服务端应用程序的编写方法 284
10.3.1 RTMP协议与流媒体的关系 284
10.3.2 服务端应用的创建方法 285
10.4 设备与设备类 286
10.4.1 摄像头和麦克风设备 286
10.4.2 客户端类之摄像头类Camera 287
10.4.3 使用get方法启动摄像头 289
10.4.4 使用setMode方法设置视频的宽高及帧频 290
10.4.5 使用setQuality方法设置视频的品质 291
10.4.6 运用状态处理器处理用户对“保密性”对话框的选择 292
10.4.7 客户端类之麦克风类Microphone 293
10.4.8 运用get方法启动麦克风工作 294
10.4.9 运用setGain方法调节麦克风音量 296
10.4.10 对网络流对象类NetStream的补充 296
10.5 创建录制视频的Flash应用程序 298
10.5.1 编写服务端应用 298
10.5.2 创建录制视频的Flash应用 301
10.5.3 开始录制视频 304
10.6 实现在线录制的网站应用 306
10.6.1 实现目标 306
10.6.2 需求分析与技术难点 306
10.6.3 修改FMS的应用配置 307
10.6.4 创建videorecord网站应用 308
10.6.5 创建在线录制视频的客户端程序 309
10.6.6 创建视频播放网页openvideo.jsp 311
10.6.7 测试在线录制视频 313
10.6.8 作业：播放流媒体视频 316
10.6.9 Flash视频跨域访问问题与对策 316
第11章 基于流媒体的视频网站制作 319
11.1 通过ActionScript编程实现流式播放Flash视频 320
11.2 通过Dreamweaver软件插入Flash视频实现流式播放 322
11.3 通过FLVPlayback组件实现流式视频播放 325
11.4 MeidaPlayback组件支持流视频的问题 326
11.5 播放实时视频 327
11.6 各种部署方式对比 329
附录A 331
附录A.1 安装QuickTime Player软件 332
附录A.2 Flash Video Encoder常用功能的操作方法 335
附录A.3 FLVPlayback组件类参考 337
附录A.4 Media组件类参考 342
附录A.5 用于流视频的服务端脚本代码main.asc 344