小编DH.*_*DH.的帖子

如何使用C#编码/解码视频?

有一点背景,我被赋予了修复一些"小"错误的任务,并维护这个解决方案,以便在我们的应用程序的两个实例之间通过网络传输视频.解决方案是由不再在这里的人编写的,所以代码中有一些神秘感以及一些非常有趣的陷阱.该解决方案是使用ffmpeg编写的,其中编写了C++代码以包装编码/解码相关代码以及一些流代码.然后用SWIG封装这个C++,以便它可以与C#互操作,并使用生活在WPF控件中的VideoRendererElement将视频帧传递到它们呈现的位置.帧被传递的主要原因是因为我们需要一些自定义协议来发送视频数据并使用C#编写,所以当视频帧传递出来时我们将它们包装在我们自己的数据包中并通过线路发送出去.这个解决方案有效,我们可以使用我们的自定义协议流式传输视频,尽管维护和使用它是一件噩梦.

我的问题是有更好的方法来解决这个问题吗?我正在寻找在较低级别使用视频数据(在C#中)工作的方法,这样我就可以拍摄视频帧并将它们打包在我们自己的数据包中并发送出去,并能够接收和重建视频另一边.ffmpeg似乎是常见的解决方案,但我遇到了很多问题,我认为GPL/LGPL是一个问题.

我想要实现的基本流程,视频文件 - >编码 - >包裹在数据包中 - >在协议X上通过线路发送 - >从数据包中获取视频数据 - >解码 - >渲染/保存到磁盘

.net c# wpf

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

wpf ×1