当前您所在的位置:首页>新闻中心>行业动态>

无需转码,无需FFMPEG,如何从Wowza直播流中获得一个截帧图?

发布时间:2019/02/20 浏览量:1162

下面是一段代码示例,展示了如何利用一个HTTPProvider从Wowza直播流中获得一个截帧图,它无需使用转码插件(Transcoder Addon),也不需要任何第三方工具(例如FFMPEG)来协助,它自己就可以独立完成这个工作,它实际上利用了原来Transcoder中的解码部分的功能并提供了一个新的API,而无须启用Transcoder功能(相当于Decoder部分已经从Transcoder Addon中分离出来了,当然,这是我的理解)。 

 

注意: 

 

1、这个功能依赖Wowza Streaming Engine 4.5.0及以上版本。

 

2、如果你用试用授权来测试这个功能,那么你的截帧图上右下角会有一个Wowza logo的水印。当然了,正式授权是不会有这个水印的

 

下面是这个新API的使用示例:

 

 

在这个API中,截帧图会以一个RGBA的字节数组形式来返回。 然后,你可以利用ThumbnailerUtils.nativeImageToBufferedImage(response);方法来讲这个字节数组转化为一个二进制的图像数据流(Java BufferedImage)。 下面是用这个API将其转化一个JPEG或PNG格式的图片的代码示例: 

 

 

下面是使用这些新API的HTTPProvider的完整代码: 

 

 

这个HTTPProvider需要被部署在Wowza Streaming Engine server 中,你需要将下面的配置添加到[install-dir]/conf/VHost.xml文件中。

注意:不要将它添加为第一个HTTPProvider,另外,这个配置是针对端口8086 (admin)的:

 

 

调用这个HTTPProvider的URL的格式如下: 

 

 

application: Wowza应用名(必需)

streamname: 流名字(必需)

size: 图像大小(必需)

fitmode: 适配模式,让视频帧如何适配你要求的图像大小比例,可选的值包括letterbox, stretch, fit-height, fit-width, match-source, crop, 默认是letterbox

crop: 从原图中扣图的像素

format: 图像格式,可选的值包括jpeg和png,默认是jpeg

 

举例说明: 

 

北京哲想软件有限公司