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

Wowza技术:如何为直播流创建一个截帧图?

发布时间:2021/01/15 浏览量:1998

为了生成截帧图,下面这个自定义模块可以实时地为直播流创建了一个只有一个帧的FLV文件,然后利用FFMPEG等工具将这个FLV文件转成一个图片。下面也给出了一个在Flash程序中调用接口创建这个截帧图的例子。

你可以在Wowza Module Collection中找到一个编译好的版本。

图片

 

配置

要启动这个模块,需要在你的应用中添加下面的Module。在这里Configure modules 你可以得到更多配置Module的细节。

Name

Description

Fully Qualified Class Name

createSnapshot

Create FLV Snapshot.

com.wowza.wms.plugin.collection.module.ModuleCreateSnapshot

 

Flash客户端调用的例子

注:这个Module为直播流和点播流的截图分别提供2个不同的接口。

直播流
对于直播流,你可以获得当前最新的关键帧的截图:

Code:

varresultObj:Object = new Object();

resultObj.onResult= function(fileName: String)

{

        trace("result: "+fileName);

}

nc.call("createSnapshotLive",resultObj, "myStream");

 

VOD对于VOD点播流,你可以设定一个截图的时间位置。这个时间以毫秒为单位,截的图是离这个时间点最近的关键帧的图像。

Code:

varresultObj:Object = new Object();

resultObj.onResult= function(fileName:String)

{

        trace("result: "+fileName);

}

nc.call("createSnapshotVOD",resultObj, "sample.mp4", 30000); // 30 seconds into the video

注意: 尽管这个例子用的是sample.mp4点播文件,但是生成的依然是单帧的Flv文件。这个文件被命名为sample.mp4_30000.flv。

这个FLV文件被存储在应用的内容目录下。你可以从这里下载并继续用FFMPEG等工具来处理它。
 

用FFMPEG将FLV转为图片

FFMPEG 可以将flv文件转化为一个PNG图片。

Code:

ffmpeg -imyStream.flv -vcodec png -vframes 1 -an -f rawvideo -s 320x240 myStream.png

注意:随着FFMPEG的版本变化,这里的命令行可能会变化,因此请参考http://www.ffmpeg.org/获得最新的命令行参数资料。

 

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

北京哲想软件有限公司