当前您所在的位置:首页>新闻中心>新品发布
新品发布
行业动态
营销活动

如何设计Wowza Media Server的nDVR工作流程?

发布时间:2021/02/19 浏览量:2254

Wowza nDVR 插件可以让你在对直播流进行录制的同时允许用户播放、暂停、倒回或重新回到当前直播点。

 

注意: 需要Wowza Media Server® 3.0.0及以上版本的支持。

 

图片

 

Wowza Media Server 录制功能的多个选择


在Wowza nDVR之外,Wowza Media Server有好多种方式可以对直播流进行录制。两个内建的方式是live-record 的 StreamType 以及 直播流录制功能。 这些方式可以和Wowza nDVR组合起来实现一些下面介绍的更复杂的录制功能。


总的来说,如果你将Wowza nDVR与任何内建的一个录制方式组合起来,那么,你将可以同时对用户提供两个服务: 


Wowza nDVR 插件 
当你希望用户可以对直播流进行播放、暂停、倒回到之前的时刻或者又回到当前的直播点时,你就需要使用Wowza nDVR插件。这些观看体验可以发生在录制正在进行的时刻。当直播流结束时,录制的数据(.m4fa 和 .m4fv 文件)可以通过Wowza Media Server进行播放(你无法无法用一个播放器直接播放这些文件)。 截至目前,还不能将nDVR数据(.m4fa 和 .mp4v 文件)重新组合后生成为.mp4 或 .flv 文件。

 

"live-record" 或 "rtp-live-record" Stream Type 
这是最简单的录制方式,但是它能给你提供的控制也是最少的。 只要编辑Application.xml文件即可完成配置,它是Wowza Media Server内建的功能,无需任何插件或附加模块。当你希望提供下面的服务时,可以选择这个功能: 

 

注意:


直播流录制API 
从Wowza Media Server3.5开始,LiveStreamRecord, 之前的一个免费插件,现在被整合到了服务器中,并提供了API,它可以在你将直播流录制为VOD文件时让你有更多的控制。这个功能可以让你通过一个基于WEB的用户界面、Http url 或者编程的方式对直播流的录制进行控制,同时提供了强大的API可以让你将直播流录制为多个小的MP4(QuickTime® container)文件或FLV (Flash® Videocontainer) 文件,这些小文件的分割点可以依据时长、时钟、或文件大小。
 

Wowza nDVR 的高级配置,可以优化你的录制


当你开始部署你的Wowza nDVR功能时,请对下面介绍的参数进行调优。


streamTimeout 
在nDVR停止录制之前它等待输入流进入的时间。这个超时时间意味编码器从中断连接到重新连接的时间。 

dvrChunkDurationMinimum 
控制nDVR的最小切片大小。你可以增加这个值以让切片文件更大一些,由此来减少DVR存储保存在磁盘上的文件个数。但这里需要有一个权衡,因为HTTP streaming 天生至少有3个切片的延时,大一些的切片将导致播放之间有更多的延时。 

dvrAudioOnlyChunkTargetDuration 
当只有音频时的目标切片时长。它适用于当音频流的场景。如果输入流中既有音频也有视频,这个设置将被忽略,因为在这个场景下是根据关键帧来确定切片大小。 

dvrPacketSortTime 
在音频和视频数据包到达Wowza nDVR之前增加一个packet sorter 。这类似于直播流的packet sorter。 但这将增加对应这个时间的延时. 建议你在Wowza Media Server的上游解决音频和视频的对齐问题,但是当无法这样解决时,你可以用这个设置。 

dvrAllowableAVPacketDelta 
Wowza nDVR 希望输入流的音频和视频是的对齐的。通过这个参数,Wowza nDVR将试着对没有对齐的数据做出补偿,但这不会完全解决问题。在部署到正式商用环境之前解决对齐问题非常重要。增加对这个问题的容忍将导致一些片段没有被录制,这将导致整体质量变得不可接受。 
 

需要做什么可以对nDVR的部署进行扩展?


性能调优
当在正式商业环境运行时,对服务器进行合适的调优是非常重要的。

最佳实践 
仔细阅读WowzanDVR 快速上手指南中的最佳实践章节. 这些建议是设计你的nDVR部署方案的基础。 

管理录制数据 
配置录制的最佳方式是什么呢?许多应用场景有录制长时长文件的需求。同时录制到一个大文件中是很简单的,但更好的方式是将数据录制为可管理的小切片文件。多个小的录制文件比一个大的录制文件更好,原因如下: 


直播流中继(源/边缘)(Origin/Edge) 
这个方式通过配置源(Origin)和边缘(Edge)服务器来扩展你的直播流服务架构。

 

MediaCache
MediaCache 插件使得VOD点播流具有缓存机制。这个功能和直播流中继一起可以被加入到Wowza nDVR 的工作流程中。
 

在Wowza Media Server之外需要做什么?


文件访问 
Wowza nDVR 限制录制数据最长为30小时。 之所以这么设置是因为过长的录制数据会导致大量的目录和文件,会让文件系统在管理这些大量文件之时遇到一些问题。 由于每隔几秒(基于关键帧的大小)就会请求一次播放列表, 因此,一个很大的播放列表对播放器来说会有问题,我们应该避免这样。
针对你的nDVR流程,对应的文件访问的水平需要有足够的硬件处理能力。通过试运行来测试会有多少文件被生成,并测试你的硬件在处理这些文件访问时的能力到底如何。实际证明,多个小录制文件更容易被管理。 

文件管理 
Wowza nDVR WindowDuration 参数控制了录制数据的长度,但是并不会管理之前的录制存储。例如,当你设置WindowDuration 为3小时,录制的数据将会是3个小时。随时时间的继续,当超过3小时但仍然小于30小时时,录制数据将会只有最近3小时的数据,其它更早的录制数据将被删除。如果ArchiveStrategy 被设置为 delete, 如果之前有一个同名的录制存储,它将被删除并被新的录制数据所覆盖。 如果在你的文件系统上有其它之间录制的DVR数据,它们不会收到WindowDuration参数的影响。监控和管理这些录制数据不是nDVR的功能范畴。你可以自己写脚本来删除你不想要的录制数据。

注意: 清除切片数据以保持WindowDuration 的录制时长,使它不会超过30小时。

 

Wowza Streaming Engine 4是目前业界功能全面、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。

北京哲想软件有限公司