gpt4 book ai didi

c# - 从内存流播放视频

转载 作者:行者123 更新时间:2023-11-30 17:10:00 26 4
gpt4 key购买 nike

目前在任何地方都找不到任何令人满意的答案......

我正在开发一个 C# WinForms .NET3.5 应用程序,它需要从数据库 BLOB 加载视频文件并在应用程序窗口中播放它。数据库是本地文件(不涉及服务器)。

我认为将文件保存到硬盘驱动器不是一个好的解决方案,因为它可能很耗时,而且我已经将文件保存在内存流中了。

我需要能够播放尽可能多的视频格式(编解码器?)。包括divX、XVid、mpeg、avi、3gp等。

我正在寻找易于使用的工作代码示例或现有的第三方组件。

像 DirectShow 或 VLC 这样的建议几乎需要在视频渲染、过滤器、图形和其他方面拥有主要学位,除非有一个工作示例。

有什么想法吗?

谢谢。

最佳答案

你是对的,最流行的方法是使用 DirectShow,但在这种情况下,你必须构建图形等。如果你没有这方面的经验,开始使用 DirectShow 并不容易。

另一个非常丰富的想法(和你写的“一般想法”)是 Hook 文件调用,如 ReadFile 和 SetFilePointer 并将这些调用转换为 memorystream 的方法(Read,Seek),因此调用代码会认为它适用于真正存在的文件。

例如,这里有一篇文章展示了如何逐 block 播放加密的视频,在不解密整个文件的情况下播放,并且不将解密的 block 丢弃到磁盘: http://boxedapp.com/encrypted_video_streaming.html

关于c# - 从内存流播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12405635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com