多协议、性能稳定、丰富API的流媒体服务器软件
如何用Wowza MediaCache技术扩展VOD系统的规模?
Media Cache是一个能让你的VOD系统扩展处理规模的机制。这篇文章介绍如何在Wowza Streaming Engine中配置Media Cache 功能。

目录



Wowza Streaming Engine
Media Cache 的配置
启用Media Cache
禁用Media Cache
Media Cache 的缓存(Store)配置
添加 Store
删除 Store
Media Cache 的源(Source)的配置
添加 File 源(Source)
添加 HTTP 源(Source)
添加 S3-Style 源(Source)
删除 源(Source)
Media Cache 属性参数配置
Application 的配置
播放
Playback using File Source
Playback using HTTP Source
Playback using Amazon S3 Source


相关文章
Wowza相关技术文档中查看Wowza Streaming Engine MediaCache技术白皮书

在Wowza Streaming Engine Manager配置Media Cache



注意:
  • 需要Wowza Streaming Engine™ 4.0 及以上版本

  • 登录Wowza Streaming Engine Manager 时需要认证,这个用户名和密码设置在[install-dir]/conf/admin.password 文件中。
默认情况下,你可以通过下面的URL来访问Streaming Engine manager:
http://[wowza-ip-address]:8088/enginemanager
		
当你登录Streaming Engine manager后,在管理界面的顶部点击Server Tab页,然后选择Media Cache菜单. 下图是默认的状态。
Wowza Streaming Engine 4

启用Media Cache

你可以通过点击Enable Media Cache来启用Media Cache 功能。

如果你要再次启用Media Cache, 将会出现下面的提示:

Wowza Streaming Engine 4
你可以看到,现金Media Cache 功能是启用状态了。然而,在你的修改生效前,你必须点击Restart Now来重新启动Server。系统可能会化几秒钟来重启服务,这个过程中Media Cache 会在界面上继续提示需要重启服务来让完成整个操作。

禁用 Media Cache

你可以通过点击Disable Media Cache进来禁用Media Cache功能。

注意:保持Media Cache 为启用状态不会给服务器带来任何不利的性能影响,因此建议就是让它保持启用状态,除非你有特殊的原因要禁用它。 如果你决定禁用Media Cache,下面的提示会出现:

wowza streaming Engine
你现在可以看到,Media Cache处于禁用状态了。然而,在你的修改生效前,你必须点击Restart Now来重新启动Server, 系统可能会化几秒钟来重启服务,这个过程中Media Cache 会在界面上继续提示需要重启服务来让完成整个操作。

Media Cache 的缓存(Store)配置

Media Cache默认有一个缓存文件的存放位置,它在[install-dir] 下的mediacache目录下。 这个文件夹的最大存储容量被限制为10GB,同时写入速率被限制在最大16MB/秒, a bucket rate of 64MB. 这个默认的配置仅仅适用于基本的功能测试,它的效能较低;因此,在一个正式的商用环境下可能需要更大的空间和资源。

要查看这些设置,点击Stores tab页, 再点击default条目的右侧的铅笔图标。

Wowza Streaming Engine 4

路径(path)的设置允许使用Wowza Streaming Engine 的变量。例如${com.wowza.wms.context.ServerConfigHome}/mediacache 表示在服务器配置根目录下的mediacache目录。 你可以修改这个目录。如果你指定的目录不存在,Wowza Streaming Engine 将尝试创建它——前提是Streaming Engine manager 必须有相应的权限。

如果你点击Properties tab页,你可以看到这个缓存点的一些默认参数设置。他们控制着当缓存媒体文件时文件夹目录结构。 这里还定义了一些写入缓存文件时的参数。

Wowza Streaming Engine 4
这里的参数,不建议你做任何修改,除非你已经非常了解它们并特定的需求要做修改。此外,你不能删除这个默认的缓存点(store)。

添加 Media Cache Store

你可以添加多个Media Cache Store(缓存点)。但在大多数场景下,这是不需要的。要添加时,请点击Stores tab页,在点击添加Media Cache Store,接着会出现下面的界面:

Wowza Streaming Engine 4
Path, Maximum Size, Write Rate, 以及 Write Rate Bucket Size 已经被填上了默认值,但是Store Name 是必须的并且要唯一。 描述信息是可选的。当你输入这个新的缓存点(store)的相关信息后,请点击Add 然后你会看到下面的界面:

Wowza Streaming Engine 4
和前面的一样,你可以查看这个新的缓存点(store)的相关信息;同时,你还能看到一个垃圾桶的图标,点击它可以删除这个新的缓存点(store)。

删除 Media Cache Store

你可以删除任何你添加的Media Cache store ,除了默认的default store。 要删除一个store, 点击垃圾桶的图标,你会看到下面的提示:
Wowza Streaming Engine 4
如果你点击OK, 这个store将被删除,然后你会看到下面的界面:

Wowza Streaming Engine 4
注意: 为了让这个store被删除并且不能再被使用,Wowza Streaming Engine 需要重新启动。如果你没重启服务,这个store 将一直保留在下次Wowza重启时。

Media Cache 源(Source)的配置

Media Cache 功能允许Wowza从三种不同的源获取内容文件,这三种源如下:

  • File – 从本地文件系统获取内容
  • HTTP – 采用HTTP从一个web服务器获取内容
  • S3 HTTP – 采用HTTP从Amazon S3获取内容

点击SourcesTab页,你会看到+ Add Media Cache Source 按钮,如下所示:

Wowza Streaming Engine 4
一个默认的source已经被设置好了。这个Media Cache source 是不能被删除的;

如果你点击Add Media Cache Source, 你会看到下面的界面:

Wowza Streaming Engine 4

Source Name 是要求唯一的名字。Description 允许你对这个source做一些细节的描述,你可以空着它。

添加 File Source

一个Media Cache 的File Source 允许你从本地文件系统读取内容,并将其缓存到Media Cache store中。 这个source type 用于你将本地磁盘(比如一个大容量存储设备、NAS、NFS文件系统)做为内容源,与之相关的选项如下:

Wowza Streaming Engine 4
Source Name, Prefix, Base Path, Minimum Time To Live, 以及Maximum Time To Live 都是必须的。 Source NamePrefix 在所有source中必须唯一。

Prefix是用户访问这个内容源的内容时播放URL的一部分。Base Path 就是访问内容源的绝对路径。 Prefix的默认值是path1/,当你更新这个source的相关信息时, Validate Configuration 会自动做出相应改变。 这个字段代表了完整的文件访问路径,以便让你检查并保证文件确实可以访问到。Minimum Time To Live 控制着在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——要考虑缓存点(Store)的剩余磁盘空间。Maximum Time To Live也是一样的功能,也控制在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——但它不考虑缓存点(Store)的剩余磁盘空间。

添加 HTTP Source

一个Media Cache 的HTTP Source 允许你通过HTTP 1.1 协议从一个web服务器读取内容,并将其缓存到Media Cache store中。 这个source type 用于你从web服务读取内容,便于你可以在Wowza Streaming Engine外部管理内容。

Wowza Streaming Engine 4
Source Name, Prefix, Base Path, Minimum Time To Live, 和 Maximum Time To Live 都是必须的。 Source NamePrefix 在所有source中必须唯一。

Prefix是用户访问这个内容源的内容时播放URL的一部分。Base Path是访问内容源的Http Url。Prefix的默认值是path1/,当你更新这个source的相关信息时,Validate Configuration会自动做出相应改变。 这个字段代表了完整的文件访问路径,以便让你检查并保证文件确实可以被访问到。Minimum Time To Live 控制着在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——要考虑缓存点(Store)的剩余磁盘空间。 Maximum Time To Live 也是一样的功能,也控制在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——但它不考虑缓存点(Store)的剩余磁盘空间。

添加 S3-Style Source

一个Media Cache的S3 HTTP Source 允许你通过HTTP 1.1 协议从一个web服务器读取内容,并将其缓存到Media Cache store中。 这个source type 用于你使用Amazon S3风格的认证技术将从一个web 服务器加上获取内容,便于叫你可以在Wowza Streaming Engine外部管理内容。

Wowza Streaming Engine 4
Source Name, Prefix, Base Path, Minimum Time To Live, 以及Maximum Time To Live 都是必须的。 Source NamePrefix 在所有source中必须唯一。

Prefix是用户访问这个内容源的内容时播放URL的一部分。Base Path是访问内容源的Http Url。Prefix的默认值是amazons3/Base Path的默认值为http://s3.amazonaws.com/。 To access an S3 bucket, you must specify the AWS Access Key ID and the AWS Secret Access Key; 否则,Media Cache将无法通过认证。当你更新这个source的相关信息时,Validate Configuration 会自动做出相应改变。 这个字段代表了完整的文件访问路径,以便让你检查并保证文件确实可以被访问到。Minimum Time To Live 控制着在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——要考虑缓存点(Store)的剩余磁盘空间。 Maximum Time To Live也是一样的功能,也控制在缓存点(store)中,多长时间久没有播放请求访问时就会删除掉这个内容的缓存文件——但它不考虑缓存点(Store)的剩余磁盘空间。

删除一个 Source

要删除一个Media Cache source,请在Media Cache页面点击Sources Tab页,在点击你要删除的Source的右边垃圾桶图标。

Wowza Streaming Engine 4
当你要删除你选择的Source时,界面会出现如下提示:

Wowza Streaming Engine 4

当你点击了OK确认你的删除动作后,你会回到之前的Source列表界面,但被删除的source已经没有了。 要让删除完全生效,你要重启服务器。

Media Cache 的属性参数配置

Media Cache功能有一些属性参数配置,修改它们将改变Media Cache的默认特性。 你点击Propertiestab页后,出现下面的界面:

Wowza Streaming Engine 4

你可以根据你的特定需求修改这些参数:
注意e: 除非你对这些参数非常熟悉,否则不要修改它们。

Application 的配置

要在一个application中使用Media Cache功能,你首先要选择正确的application类型:VOD Edge,如下图所示:

Wowza Streaming Engine 4

在选择争取的application类型后,你可以设置一个应用名。 在这篇文章中,我们采用mediacache这个名字。在这之后,请点击Add,你会看到下面的信息:

Wowza Streaming Engine 4

现在你可以访问这些你定义的Media Cache source上的内容了。 默认情况下,一个Application可以访问所有的source。你做了任何改变后,要点击Save 然后重启服务,之后修改才能生效。

播放


播放File Source的内容

要播放File Source的内容:

  • 使用应用名mediacache.
  • 使用File source的前缀path1.
  • 使用sample.mp4作为例子文件.

播放时使用下面的URL:

RTMP Player

Server: rtmp://[wowza-address]/mediacache
Stream: mp4:path1/sample.mp4
		

HLS (Cupertino/Apple HTTP Live Streaming)

http://[wowza-ip-address]:1935/mediacache/_definst_/mp4:path1/sample.mp44/playlist.m3u8
		

RTSP/RTP player or device

rtsp://[wowza-ip-address]:1935/mediacache/_definst_/mp4:path1/sample.mp4
		

播放HTTP Source上的内容

要播放HTTP Source上的内容:

  • 使用应用名mediacache.
  • 使用http Source的前缀http.
  • 使用http server上的sample.mp4作为例子文件.

播放时使用下面的URL:

RTMP Player

Server: rtmp://[wowza-address]/mediacache
Stream: mp4:http/sample.mp4
		

HLS (Cupertino/Apple HTTP Live Streaming)

http://[wowza-ip-address]:1935/mediacache/_definst_/mp4:http/sample.mp44/playlist.m3u8
		

RTSP/RTP player or device

rtsp://[wowza-ip-address]:1935/mediacache/_definst_/mp4:http/sample.mp4
		

播放S3 Source上的内容

要播放S3 Sjource上的内容:

  • 使用应用名mediacache.
  • 使用S3 Source 的前缀amazons3.
  • 使用S3服务器上的文件sample.mp4.

播放时使用的URL:

RTMP Player

Server: rtmp://[wowza-address]/mediacache
Stream: mp4:amazons3/sample.mp4
		

HLS (Cupertino/Apple HTTP Live Streaming)

http://[wowza-ip-address]:1935/mediacache/_definst_/mp4:amazons3/sample.mp44/playlist.m3u8
		

RTSP/RTP 播放器

rtsp://[wowza-ip-address]:1935/mediacache/_definst_/mp4:amazons3/sample.mp4