2017-09-13 167 views
1

Video for Windows API(VFW)中的流和样本的概念没有太多理论或文档。我想知道如果一个视频中只能包含:Windows视频(VFW)允许多个视频流在一个文件中?

  • 一个视频流
  • 一个音频流

或者可以在视频包含多个视频流(一个接一个)以及多音频流?

我假设“样本”只是指一帧视频,而不是多帧。 我假设一个流,是一个框架或样本集合的集合。因此,将视频分成多个流(帧集合)以制作多个“节”或多个流将会非常有用。如果在视频中不能有多个流,并且此api仅设计为具有一个每个视频的视频流(带有可选音频流),如何创建由多个部分组成的视频?只需编辑/剪切/直接粘贴到单个流中?或者使用不同的API,例如MediaFoundation/DirectShow?

+0

部分是什么?他们将如何出现在视频播放器中?但VFW是古老的。不要使用它。 –

+0

好吧,经过研究了一下:我认为可以通过组合多个流创建节,然后将其作为单个文件保存为单个流...以及AVISave()函数。我同意VFW是非常古老的,但一些旧的代码依赖于它...所以它仍然是有用的,但使用它的风险,因为它可能不再受支持 –

回答

1

我不确定它是否可以通过纯VfW进行操作,但显然AVI格式确实支持多个视频流。我发现a thread具有样本是来自FUJIFILM FINEPIX REAL3D W1头,拥有双视频流:就如何分割这样的视频咨询

Duration: 00:00:02.99, start: 0.000000, bitrate: 9676 kb/s 
    Stream #0.0: Video: mjpeg, yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc 
    Metadata: 
     strn   : FUJIFILM AVI STREAM 0200 
    Stream #0.1: Audio: pcm_s16le, 11024 Hz, 2 channels, s16, 352 kb/s 
    Stream #0.2: Video: mjpeg, yuvj422p, 320x240, 30 tbr, 30 tbn, 30 tbc 
    Metadata: 
     strn   : FUJIFILM AVI STREAM 0200 

海报。选项包括ffmpeg和基于DirectShow的软件(GrpahEdit和GraphStudioNext);我怀疑你也可以用它们来制作这样的视频。

+0

视频流是一个接一个地播放作为一个视频,还是它例如音频流,用户可以选择要播放的音频流(英文曲目,法国曲目,评论曲目等)。 为了让流播放一个接一个播放,他们必须订购,播放器需要知道按照什么顺序玩他们 –

+1

不,他们同时玩。如果你想连接两个视频来连续播放,你不需要并行流。有关详细信息,请查看VirtualDub如何执行此操作。 –

+0

有趣的是,他们在彼此顶部混合在一起玩?我的大脑无法弄清楚这将如何工作,尽管..如果你有透明度,并且把它们放在彼此的顶部,那么会产生一些有趣的效果和用例。 –