流媒体技术世界——分享技术,增值服务
如何从一个流切换到另一个流?
通过建立一个server-side媒体流,你可以创建一个媒体流列表,当一个实时输入流不可用时,可以用这个列表里的视频流来替换这个实时输入流。 为了实现这个目标,你必须创建一个server-side媒体流,它会用来替代意外中断的实时输入流。ModuleLoopUntilLive 模块被用来检测这个实时输入流,当它恢复为可用时就会从你创建的服务端媒体流切换到这个实时输入流上,当它中断后,又会切换回你创建的媒体流。
www.ttstream.com
这篇文章介绍如何配置这个模块。

作为配置的一部分,在Application中至少要配置一个服务端(server-side)媒体流。 有好几种方法可以做到这一点,在这篇文章中向您介绍了如何根据如何为Wowza Stream Engine 4的直播业务配置类似电视台的节目编排表?的介绍,使用一个自定义媒体流来实现这个功能。

你也可以用StreamsAPI来创建一个服务端(server-side)媒体流。请参考如何用Stream类实现一个最基本直播流发布?

注意:
  • 这篇文章在09-25-2013被整个重写了一边,介绍了ModuleLoopUntilLive模块中的新功能,包括对多个媒体流以及playlist item的支持,并可以和MediaCaster配合使用。

  • 这个模块用了一个应用实例级别的参数来说明每一个用Stream Publisher创建的服务端(Server-side)媒体流,如果你使用Streams API 来创建一个服务端(server-side)媒体流, 么在你的实现中,必须在媒体流被创建时创建这个参数,在媒体流被关闭时删除这个参数。
    Code:
    Name: <name of the server side stream>
    Value: <The Stream class instance>
    Type: com.wowza.wms.stream.publish.Stream
Wowza Module Collection有一个这个模块已经编译好的版本。

模块的配置



要启动这个模块,请在你的应用中添加以下Moudle定义。请参考Configure modules以了解更多。

Name
Description
完整的Java类包名
ModuleLoopUntilLive Loops filler video until live video is available. com.wowza.wms.plugin.collection.module.ModuleLoopUntilLive

参数设置



在启用这个模块后,你可以在应用中添加以下参数来调整这个模块的一些默认设置。请参考参数配置以了解更多。


必须设置的参数

Path
Name
Type
Value
Notes
Root/Application loopUntilLiveSourceStreams String myStream See note below. This is the list of live source streams that are published to the application. The source can be a single stream name or a comma-separated list of names (for example: myStream, myOtherStream) (default: myStream).
Root/Application loopUntilLiveOutputStreams String Stream1 See note below. This is the list of server-side streams created by the Stream Publisher. The source can be a single stream name or a comma-separated list of names (for example: Stream1, Stream2) (default: Stream1).
注意: loopUntilLiveSourceStreams and loopUntilLiveOutputStreams must include the same number of names in each list. The first name in each list will map to the first name in the other list; the second will map to the second, and so on. This allows you to configure multiple source and output streams for an application.
可选的参数配置

配置路径
名称
类型
参数值
备注
Root/Application loopUntilLiveReloadEntirePlaylist Boolean true 如果这个服务端(server-side)媒体流有多个item,请将loopUntilLiveReloadEntirePlaylist 设置为 true 来确保所有item可以被加载,并从这个列表中的下一个item开始播放。如果它被设置为false, 只有当实时输入流开始启动时加载的item会被播放(默认: true).
Root/Application loopUntilLiveHandleMediaCasters Boolean true 当这个实时输入流是MediaCaster流时,要特别小心,要确保当MediaCaster已经准备好了开始接收输入流时,它可以在正确的时间切换。请将loopUntilLiveHandleMediaCasters 设置为 true 来确保这个功能的实现。如果loopUntilLiveHandleMediaCasters 被设置为 false,这个切换会发生在当MediaCaster被创建时以及它被destroy时(默认: true)。

Stream Publisher 的配置



Stream Publisher会使用下面的SMIL文件,正如How to do scheduled streaming with Wowza Streaming Engine (StreamPublisher)中的介绍,创建一个输出流Stream1。它会循环播放sample.mp4。 如果前面的输入媒体流使用了ModuleLoopUntilLive和上面默认的设置。当实时输入流(myStream)进入后,输出流将被切换到这个实时输入流。
Code:
<smil>
    <head>
    </head>
    <body>

        <stream name="Stream1"></stream>
        
        <playlist name="pl1" playOnStream="Stream1" repeat="true" scheduled="2009-12-11 16:00:00">
            <video src="mp4:sample.mp4" start="0" length="20"/>
        </playlist>
    </body>
</smil>
匿名用户
评论

我们的地址


北京市朝阳区管庄西里建基商务楼423室


邮编:100024

关于我们


北京联方信科信息技术有限责任公司


官网:www.ttstream.com

联系我们


王经理:phone


柳经理:phone

京ICP备14033868号-2