我们的应用程序使用C#/WinForms/VMR9/DirectShowLib-2005来播放本地视频文件,或者使用第三方DirectShow过滤器通过udp接收(并渲染)实时视频流。视频流采用H.265编码,发送1080p文件。
我也有DirectShow过滤器为我录制直播视频源到本地文件。
当我在视频播放或实时视频源播放期间调整窗体大小时,我丢失了设备,需要重置它。我正在释放所有的资源,但是设备重置仍然失败,除非我也销毁了这个图。但它是用来接收我的实时视频并记录下来的。
所以,问题是我想保持视频源记录没有中断调整大小,移动到另一个显示器,设备丢失或重置。要实现这一点,我有哪些选择?我们可以考虑将代码转换为WPF/WF,购买商业上可用的或使用免费插件来做这项工作,等等。
第二个问题,如果我可以的话。当实时提要被录制到本地文件中,并且我们在视频窗口中回放该实时提要时,我们还显示了一个时间线(滑块控件),表示从实时视频提要开始到当前时刻的时间(当实时提要处于活动状态时,该时间向前移动)。我需要给用户的能力,选择任何以前的时间和立即播放该部分录制的视频回放,而现场馈送仍然记录到相同的文件。在审查了录制的视频的一部分,我需要知道如何让用户继续观看直播馈送。
我不确定我们应该使用哪种技术来实现这一点。如果有任何帮助,我将不胜感激。
非常感谢。
发布于 2017-05-29 15:23:46
记录过滤器图对意外的状态转换很敏感,并且假设记录“一次”发生而没有暂停和继续,包括由于必须重置视频硬件或改变格式而引起的记录。
典型的方法是将记录从其他活动中分离到单独的图形中。专用的记录图将接收外部产生的数据,并将其记录到文件中(或流到网络中)。可以根据需要灵活地重置或重新配置在另一个图中运行的回放和呈现活动。
另请参阅:
https://stackoverflow.com/questions/44232308
复制相似问题