DirectShow - 它是什么?

时间:2011-02-09 11:46:19

标签: video containers directshow codec

什么是Microsoft的DirectShow,以及它与以下内容的关系:

  • 编解码器?
  • 容器?

编解码器和容器之间的确切区别是什么?

3 个答案:

答案 0 :(得分:2)

来自wikipedia

  

DirectShow(有时缩写为DS或DShow),代号为Quartz,是Microsoft为软件开发人员制作的多媒体框架和API,用于对媒体文件或流执行各种操作。

这是一个API和框架。不是编解码器或容器。

答案 1 :(得分:2)

用简单的英语:

编解码器是一种算法和/或代码,可将音频或视频从RAW格式转换为编码格式并返回;编码器和解码器。

如果是视频,RAW格式将是内存中的像素,如果是音频,它将是样本。

容器是将编码数据写入硬盘驱动器上的文件的一种方法。或者将编码数据写入流中以进行互联网传输的方法。

答案 2 :(得分:2)

第1部分:DirectShow

DirectShow是Microsoft开发的基于COM的多媒体框架。 DirectShow体系结构的过滤器方面类似于Unix Pipes,因为您通过可配置管道发送多媒体内容,其中包括:

  1. 源过滤器(必填)
  2. 转换过滤器(可选)
  3. 渲染器过滤器(必填)
  4. 一般来说,DirectShow框架支持以下功能:

    • 音频/视频播放
    • 音频/视频捕捉
    • 视频编辑
    • 视频混合
    • DVD相关功能

    过去,软件开发人员使用C ++和DirectShow SDK开发解决方案。话虽如此,也可以使用COM兼容的编程语言。

    第2部分:格式,容器,压缩和编解码器

    阅读了很多关于这个主题的文章,我可以肯定的一点是,这些术语并未在整个行业中得到一致使用!我的理解是......

    容器{format}

    容器或容器格式可以被认为是信封 - 不同类型的内容(例如音频,视频,元数据等)可以存储在同一信封内。例如:去年夏天,你可能收到了一封信封,其中包括你叔叔鲍勃关于他最近一次钓鱼之旅的信和照片。

    正如信封独立于其中包含的内容一样,容器也是如此。例如:H.264编码视频和AAC编码音频可以存储在相同的* .MP4容器文件中。或者,* .MP4容器文件可以保存MP3编码的音频。“

    compression {format}(a.k.a.compression scheme)

    从软件开发的角度来看,压缩格式可以被视为描述数据如何持久化的规范。换句话说,用于表示序列化数据的数据结构。

    根据许多因素,压缩格式将通过无损 lossey

    编解码器(a.k.a.compressor-decompressor,coder-decoder)

    编解码器是一种硬件设备或软件应用程序,它使用复杂的算法对多媒体内容进行编码或解码(例如音频,视频,隐藏式字幕等)。

    建议:术语编解码器经常被误用来指代压缩格式(例如H.264)或容器格式(例如MP4)。

    <强>实施例

    • 容器格式

      • AVI,FLV,F4V,MOV,MP4,MKV等
    • 压缩格式

      • JPEG,PNG,MP3,AAC,H.264,H.262,MPEG2第2部分,MPEG4第2部分等
    • <强>编解码器

      • DivX H.264编解码器和Xvid H.264编解码器都使用不同的算法来编码H.264压缩格式的视频。

    其他说明

    • DirectX指的是恰好包含DirectShow API的Microsoft API组(例如Direct3D,DirectDraw,DirectSound等)。也就是说,直到2005年4月DirectShow被移动到 Microsoft Platform SDK

    <强>参考