Adobe Flash Screen Video bit stream format(SVC1)的介绍

本文介绍了Adobe Flash Screen Video bitstream format的基本概念,这是一种无损序列BMP格式的视频,主要用于屏幕录制。文中详细解释了其压缩原理及块格式(Block format)的概念,包括如何通过ZLIB压缩来提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Adobe Flash Screen Video bit stream format的简要介绍

 

Adobe在flash 7版本中引入了针对桌面屏幕的codec的格式,这种Screen Video是一种简单的无损序列bmp格式的视频,它是用于计算机屏幕抓屏发送格式。在这种桌面视频格式的pixel data是用ZLIB标准进行压缩的,C++和Java都提供了这种ZLIB基础类库的支持。

 

这种codec的格式,由于是无损的,因此用ZLIB压缩以后的数据量仍然很大,其实在商业应用中,很少用到这种codec,因为它的压缩比实在是太小了。这种codec也被称为Screen Video V1 bitstream format。

 

2.Block format(块的格式)

在Screen Video bit stream V1 format中,它是把屏幕按照最小的block大小进行分块,然后下一帧数据和上一帧数据进行比较,把每一块变化的部分用ZLIB进行压缩,没有变化的部分不参与数据的传输和压缩。这种格式的定义,在屏幕变化不大的情况下,是非常高效和有意义。

 

在一个screen video序列中每帧数据被格式化成一系列的块,专业术语称为block。这些block形成了图片的网格。对于一个key frame(关键帧),每个block都会发送出去。对于一个比较帧,专业术语称为interframe,一个或者多个block,可能会没有包含数据,这表明这个bitmap区域代表与上一个关键帧比较数据没有变化。

 

Blocks有高和宽,它们大小通常是16的倍数,最小为16,最大为256.Block的高不需要跟block的宽匹配。block的尺寸应该不会有变化除非是关键帧。Block是按照顺序存放的-从屏幕的左下角到到屏幕的右上角排成行。

下图是120*180的屏幕图片block的分布和排列,block size基准是32*32,屏幕按照32*32进行分块,因此分成了如下图的12个序列:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值