1
00:00:01,200 --> 00:00:06,200
《12. 使用HLS将实时视频流传输到设备
在过去，我们只能使用Adobe的RTMP流媒体将实时视频流到Flash。

2
00:00:06,200 --> 00:00:10,200
同时，RTMP也适用于支持Flash的设备。

3
00:00:10,200 --> 00:00:13,200
苹果设备上的任何人都不能观看你的直播。

4
00:00:13,200 --> 00:00:17,200
你必须使用额外的服务器为他们编码一个特殊的流

5
00:00:17,200 --> 00:00:19,200
和编码软件。

6
00:00:19,200 --> 00:00:23,200
现在，flashmediaserver4.5通过获取单个实时流来解决这个问题

7
00:00:23,200 --> 00:00:28,200
并为HLS和HDS交付实时打包。

8
00:00:28,200 --> 00:00:30,200
让我们看看这是怎么做到的。

9
00:00:30,200 --> 00:00:34,200
实时打包实时流的工作流与按需打包略有不同。

10
00:00:34,200 --> 00:00:37,200
没有要上传的文件，就像按需上传一样。

11
00:00:37,200 --> 00:00:42,200
FMS上的livepackager服务接受您传入的livestream并转换

12
00:00:42,200 --> 00:00:47,200
它可以根据客户的要求转换为HLS和HDS格式。

13
00:00:47,200 --> 00:00:50,200
正如您所想象的，这确实会在流运行时增加几秒钟的延迟

14
00:00:50,200 --> 00:00:53,200
被包装成新的格式。

15
00:00:53,200 --> 00:00:58,200
就像按需播放一样，您可以使用特殊的URL路径请求实时流。

16
00:00:58,200 --> 00:01:02,200
livestreams的URL要比on-demand复杂一些。

17
00:01:02,200 --> 00:01:07,200
对于iOS，它看起来像这样，对于电脑或Android设备上的Flash，

18
00:01:07,200 --> 00:01:09,200
它看起来像这样。

19
00:01:09,200 --> 00:01:13,200
让我们把这个URL分开，这样您就可以了解这个请求中发生了什么。

20
00:01:13,200 --> 00:01:20,200
正如按需，要求hls-vod和hds视频点播，这里我们要求

21
00:01:20,200 --> 00:01:24,200
hls live和hds live。

22
00:01:24,200 --> 00:01:28,200
然后我们调用一个实时打包服务，它将打包到

23
00:01:28,200 --> 00:01:29,200
我们指定的格式。

24
00:01:29,200 --> 00:01:33,200
接下来，我们将告诉FMS我们要访问哪个实时事件。

25
00:01:33,200 --> 00:01:38,200
事件是通过HTTP进行实时流式传输所需的额外元素。

26
00:01:38,200 --> 00:01:41,200
您可以设置具有特定设置和

27
00:01:41,200 --> 00:01:42,200
关联的元数据。

28
00:01:42,200 --> 00:01:47,200
这些信息存储在事件.xmlFMS上的文件。

29
00:01:47,200 --> 00:01:51,200
在大多数情况下，您可以使用名为liveevent的预构建默认事件

30
00:01:51,200 --> 00:01:55,200
将在我们即将进行的练习中使用此默认事件。

31
00:01:55,200 --> 00:01:59,200
最后，我们要求提供实时视频流，在这种情况下，它是

32
00:01:59,200 --> 00:02:00,200
简单地说就是livestream。

33
00:02:00,200 --> 00:02:07,200
我们标记适当的文件扩展名，iOS为m3u8，Flash为f4m。

34
00:02:07,200 --> 00:02:12,200
当客户端请求此URL时，将调用Live Packager执行操作。

35
00:02:12,200 --> 00:02:16,200
它在Live Packager应用程序文件夹中创建一个名为

36
00:02:16,200 --> 00:02:18,200
一条或多条小溪的。

37
00:02:18,200 --> 00:02:22,200
然后在该文件夹中创建各种片段和清单文件

38
00:02:22,200 --> 00:02:24,200
它将需要流式直播视频。

39
00:02:24,200 --> 00:02:28,200
Adobe对实时视频编码有具体的建议。

40
00:02:28,200 --> 00:02:31,200
我们将在练习中使用这些设置，但是如果您想调整

41
00:02:31,200 --> 00:02:36,200
对于特定设备的编码，我建议阅读简单的移动视频

42
00:02:36,200 --> 00:02:40,200
我在课程前面提到的推荐文章，或者更高级的

43
00:02:40,200 --> 00:02:45,200
编码器可以参考视频编码食谱及其移动附录。

44
00:02:45,200 --> 00:02:48,200
当你打包的时候，你已经看到了幕后发生的事情

45
00:02:48,200 --> 00:02:52,200
FMS上的实时视频，对设备的编码有一定的指导。

46
00:02:52,200 --> 00:02:52,200
接下来，让我们设置编码软件并开始广播。

