如何在Silverlight中压缩捕获的视频?

Silverlight v4中的一项重大交易是音频/视频捕获......但我还没有找到一个可以做我想做的事情的例子。 所以:

如何使用Silverlight(从网络摄像头)捕捉音频/视频,然后将其保存为压缩格式(WMV或MP4)? 这里的想法是在压缩之后上传它。

已经看过这篇博客文章,但需要找到一种压缩音频/视频上传的方式。


Silverlight不支持视频编码,更可能至少不会由微软实现。 要通过网络传输视频,有些人通过将各个帧压缩为常规JPEG图像来使用“伪MJPEG”编解码器。 有些人甚至通过将帧分成固定块(比如8x8)来改进这个想法,并且只传输改变的块(与有损比较)。

如果你是一位资深程序员并享受编码,这里还有另一个稍微改进的“psuedo-MJPEG”理念:

  • 将当前帧分成固定的8x8块
  • 对每个块应用RGB - > YCbCr色彩空间转换
  • 将样品Cb和Cr平面减半
  • 将DCT应用于YCbCr
  • 用量化矩阵量化DCT系数
  • 将该DCT系数与前一帧的块进行比较。 通过这种方式,您可以对每个连续帧进行“感知有损”比较。
  • 使用逐位范围编码器并为未更改的块编码标记
  • 对于更改的块,通过对DCT系数建模(您可以使用JPEG的标准锯齿形模式和零运行模型)并使用范围编码器对其进行编码来传输DCT系数。
  • 这实际上或多或少是标准的JPEG算法。 但是,与标准JPEG相比,实际优势是:

  • 感知有损块比较
  • 由于较小的开销和较强的熵编码器(范围编码器)
  • 另一种选择可能是支付第三方软件(对不起,我不知道任何免费软件)。 我找到那个产品。 我根本没有使用它。 但是,我相信它可能对你有用。

    链接地址: http://www.djcxy.com/p/81023.html

    上一篇: How do you compress captured video in Silverlight?

    下一篇: Record webcam video and audoi on server using Silverlight 4