打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Stream Buffer Engine(SBE)介绍


Stream Buffer Engine

from http://msdn.microsoft.com/en-us/library/dd695340%28VS.85%29.aspx

The Stream Buffer Engine enables an application to seek, pause, andrecord a live video stream without interrupting the stream. Transitionsbetween live and recorded content are seamless. Currently, the StreamBuffer Engine supports MPEG-2 video and digital video (DV) sources, atcapture rates up to 20 megabits per second (Mbps).

Applications can use the Stream Buffer Engine to provide VCR-likefunctions, such as pause, seek, and multi-speed play ("trick mode"),while rendering a live video stream. Applications can also use theStream Buffer Engine to record video for later playback.


The Stream Buffer Engine uses two or more independent filter graphs. One filter graph, called the sink graph, captures data from a live source. The other graphs, called sourcegraphs, render the data. Using several filter graphs is more flexibleand scalable than using a single graph for both capture and rendering.The sink graph stores the data in a temporary buffer or in permanentfiles, while the source graphs read the data from those files. Severalsource graphs can read data from the same sink source.

A source graph can:

  • Seek forward or backward within the stored content.
  • Pause playback, without interrupting the data coming from the capture graph.
  • Play faster or slower than normal.
  • Play in reverse.

The Stream Buffer Engine uses multiple filter graphs:

  • A sink graph captures data and stores it in temporary backing files. The sink graph uses the Stream Buffer Sink filter.
  • One or more source graphs read the data from the backing files. The source graphs use the Stream Buffer Source filter.

 

 

The sink graph can also create permanent recordings, which can beviewed later using the Stream Buffer Source filter. Currently, theStream Buffer Engine supports MPEG-2 video and digital video (DV)sources. The source graph must be on the same computer as the sinkgraph; the source graph cannot read the backing files over a network.


The Stream Buffer Sink filter stores the data that it captures intemporary backing files. By default, it uses six files, each holding 5minutes of data, for a total buffer of 30 minutes. (The defaultsettings can be changed through the IStreamBufferConfigure interface.)

Once the buffer limit is reached, the Stream Buffer Sink filterbegins to delete files, starting from the oldest file. If a sourcegraph is currently reading from that file, the sink filter deletes thenext oldest file instead, creating a "time hole" in the playback. Timeholes are caused when the source graph pauses for too long or seeksbackward to the beginning of the buffer.

 

 

When the Stream Buffer Source filter reaches the gap where the filewas deleted, it moves to the next file. However, because thepresentation times haven't changed, the last frame from the older fileis displayed for the duration of the deleted file. The video thereforeappears to freeze for that period of time. To avoid this, the sourcegraph should seek forward to the next valid data.


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用 SBE 实现 Time Shifting - Yonsm.NET - SHARE YONSM'S IDEAS
ffmpeg之AVFilter
Response.Filter实现繁简转换
基于RV1126SDK media之GC2053、SC200AI、imx291分析 --- 运行设备(VIDIOC_STREAMON)
DirectShow学习笔记(转)
Stream media file using WebRTC 使用本地文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服