0

我们的应用程序使用 C#/WinForms/VMR9/DirectShowLib-2005 播放本地视频文件或使用第三方 DirectShow 过滤器通过 udp 接收(和渲染)实时视频流。视频流采用 H.265 编码,发送 1080p 文件。

我还拥有 DirectShow 过滤器,可以为我将实时视频源记录到本地文件中。

当我在视频播放或实时视频源播放期间调整表单大小时,我的设备丢失了,需要重置它。我正在释放所有资源,但除非我也破坏图表,否则设备重置仍然失败。但它用于接收我的实时视频源并记录它。

所以,问题是我想通过调整大小、移动到另一台显示器、设备丢失或重置来保持视频源不中断地记录。我有什么选择来实现这一目标?我们可以考虑将代码转换为 WPF/WF、购买市售的或使用免费的插件来完成这项工作等。这里需要一个建议。

如果可以的话,关于同一主题的第二个问题。当实时源被记录到本地文件并且我们在视频窗口中播放该实时源时,我们还显示了一条时间线(滑块控件),表示从实时视频源开始到当前时刻的时间(在实时供稿处于活动状态时向前移动)。我需要让用户能够及时选择任何先前的时刻并立即播放录制的视频的那部分,而实时提要仍被录制到同一个文件中。在查看了录制的视频的一部分后,我需要知道如何让用户继续观看直播。

我不确定我们也应该使用哪种技术来实现这一目标。我将不胜感激任何帮助。

非常感谢。

4

1 回答 1

0

记录过滤器图表对意外的状态转换很敏感,并且假设记录“立即”发生而没有暂停和继续,包括由于需要重置视频硬件或更改格式而导致的。

典型的方法是将记录与其他活动分离到单独的图表中。专用记录图将接收外部产生的数据并将其记录到文件中(或流到网络)。在另一个图表中运行的播放和演示活动可以根据需要灵活地重置或重新配置。

也可以看看:

于 2017-05-29T07:23:45.863 回答