如何动态的创建、配置、启动一个直播流?
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
这个模块可以被用来进行直播流和播放列表的控制,www.wowza.cn,通过它可以动态的从一个静态媒体文件或一个直播源创建、配置、启动一个直播流,以及向一个已有的直播流添加视频源。 这个模块采用了一个基于Flash的客户端工具来作为管理界面。

你也可以用这个模块并结合StreamPublisher以提供更多的控制。

注意:
  • 一起使用ModuleStreamControlStreamPublisher时,你一定要小心。这两个模块的任何一个发生变化时可能会导致另一个无法正常工作

  • 这个模块使用内部应用实例的参数来存储对流和播放列表的引用。请注意,stream的名字和playlist的名字不能相同。如果相同,会导致意外的结果,因为定义在参数中的最后一个对象(stream 或playlist)会覆盖前面的定义。
Wowza Modules Collection中有已经编译好的版本。

配置


要启用这个模块,你需要在你的应用中添加这个它。请参考Configure modules以了解更多。

模块名字
介绍
完整的Java类包名
ModuleStreamControl Controls Stream class streams and playlists. com.wowza.wms.plugin.collection.module.ModuleStreamControl

基于Flash客户端的管理界面例子程序


下面的Actionscript 3 代码展示了Flash客户端侧与这个模块交互的方法。
Code:
public function addNewStream():void
{
	nc.call("addNewStream",null,streamName.text);			
}
public function addNewPlaylist():void
{
	nc.call("addNewPlaylist",null,playlist.text);
}

public function stopStream():void
{
	nc.call("stopStream",null,streamName.text);			
}

public function openPlaylistOnStream():void
{
	nc.call("openPlaylistOnStream",null,streamName.text,playlist.text);
}
public function nextItem():void
{
	nc.call("playNextPlaylistItem",null,streamName.text);
}
public function addItemToPlaylist():void
{
	var obj:Object = new Object();
	obj.playListName = playlist.text;
	obj.itemName = itemName.text;
	obj.itemStart = itemStart.text;
	obj.itemDuration = itemDuration.text;
	nc.call("addItemToPlaylist",null,obj);
}
下面是一个被修改后的Wowza 直播播放器的例子,它已经加上了这些功能。

使用它,很简单,根据按钮上的文字提示操作就行了。

  1. 输入一个流名字(例如: StreamNew), 点击add stream.

  2. 输入一个playlist (例如: playlistNew), 然后点击 add playlist.

  3. 至少添加一个item到playlist中(例如: mp4:sample.mp4start=0length=-1), 然后点击add Item to playlist.

  4. 点击 open playlist on stream.

  5. 在播放器的Stream Name 文本框中,输入流名 StreamNew, 然后在点击Play.


注意:
  • 向一个playlist添加一个新的item时,输入新的视频名字以及startlength,然后在点击add item to playlist. 注意,只有当这个playlist被一个流打开时,这个流才会被更新。

  • 要改变一个流上的playlist或者要更新playlist中的视频流,输入流的名字和playlist 的名字,然后再点击open playlist on stream。这将会重置这个流并加载新的playlist。

  • 这个直播流控制的模块和客户端没有提供任何界面操作响应以及视频流列表。 如果你正在使用StreamPublisher,你必须要知道当前使用的流名和playlist的名字

  • 要向playlist中添加一个直播流,将start参数设置为-2。你可以把直播流和静态媒体文件混合在一起。

  • 最好设置播放器的Buffer为0。在视频源的切换时,Buffer的时长会影响用户的观看体验。