多协议、性能稳定、丰富API的流媒体服务器软件
Transcoder插件对叠加图片文件的要求
当使用Wowza Transcoder的叠加图层功能时, Transcoder对图片文件有明确的要求,下面列出了这些要求:

  • 文件格式必须是GIF, JPEG, PNG, 或 BMP,并且必须是采用RGB色彩模式的图片。

  • 图片的尺寸至少有4 x 4 像素 (宽 x 高)。

  • 图片的宽和高的像素值应该是偶数。

  • 图片在视频上的X和Y坐标位置应该是偶数。

一、关于叠加图层的大小和位置的说明


输入流视频的每一帧都被解码为YUV-12格式,这是一个2 x 2 像素的格式。因为RGB是一个1 x 1 像素的格式,因此它在使用之前必须被转成YUV-12格式。如果叠加图层文件是奇数像素大小(宽或高), 它在被转换之后边缘就会变得模糊。如果叠加图层被放置在视频图像的奇数像素坐标上,那么图层的两个边缘都会变得模糊。

奇数大小的叠加图层或它的位置在视频图像的奇数像素坐标上,叠加图层的右下角将会阴影显现。如果叠加图层的尺寸是偶数并且被放置在视频图像的偶数坐标的位置上,那么它将会和原始图片一样显示。

二、关于叠加图层的解码和编码的说明


叠加图层可以被用在解码后和正在被解码的图像帧上,或者用在解码后和编码后的图像帧上,这些都会导致不同的效果。

如果叠加图层被用在解码后的图像帧上,无论是采用转码模版文件中Decode中的Overlay的配置,还是采用Overlay API定义的。在编码过程中可能拉伸之前,它就已经在解码后的图像帧上的了。这种情况下,需要Transcoder做的工作很少,因为只要在解码后处理一次叠加图层后,它就会出现在所有输出流上。然而,当在编码过程中可能需要对图像进行拉伸时,就会导致叠加图层的图像质量降低。

如果在每一个输出流的编码前使用叠加图层,无论是采用转码模版文件中Encode中的Overlay的配置,还是采用Overlay API定义的。在应用叠加图层之前,每一帧都已经完成了可能需要的图像拉伸。这种情况下,你将会得到一个高质量的叠加图层,但同时它需要Transcoder做更多的工作,因为Transcoder要为每一个在Encode中配置的输出流处理叠加图层。当在编码阶段处理叠加图层时,你可以为每一个输出流设置不同的图片并让它出现在屏幕的不同坐标位置上。

无论使用转码模版还是Overlay API, 你都可以在解码阶段或编码阶段为视频添加多个叠加图层,一个叠加图层会叠加在之前一个叠加图层的上面。如果采用透明或半透明的图像,那么你就会看到它前面的那一层图像。