将H.264视频流式传输到网络上的另一台计算机/设备的最佳C#方式是什么?是否有用于此的库/API?文件共享

本文关键字:方式 最佳 文件共享 API 是什么 用于 是否 计算机 一台 传输 视频 | 更新日期: 2023-09-27 18:24:58

我正在试验C#,我想创建一个有趣/有用的网络程序。我大部分时间都在用C++编程,C#似乎更干净、更容易编程。我主要编程数据结构和算法。我并没有真正接触过网络。

我的计算机上有视频文件,我希望这些文件能够共享/流式传输/发送到网络上的其他计算机。我最终会对它进行扩展,并添加很多功能,但我想先攻克最难的部分。

有没有一个库可以帮助进行数据管理?

我认为有三种方法可以做到这一点,我知道最简单和最好的方法。

  • 也许使用Windows文件共享(就像网络上的其他计算机可以打开共享文件夹中的视频一样?)
  • 将视频数据流式传输到客户端计算机?然后让他们的本地视频程序打开数据流?(像youtube上的缓冲区?)
  • Silverlight或其他库。我可以使用内置的视频播放器等来运行它

特点:

  • 如果需要的话,我想让客户端最终能够将视频教程文件复制到自己的电脑上,所以idk。也许缓冲是最好的解决方案
  • 希望允许客户端暂停/下载视频

希望我能在这个项目中学到很多东西。

将H.264视频流式传输到网络上的另一台计算机/设备的最佳C#方式是什么?是否有用于此的库/API?文件共享

您可以使用Microsoft Expression Encoder SDK将视频流推送到本地端口,或在Windows或IIS媒体服务中发布。Windows Media Player、Silverlight或基于播放器的应用程序可以用于在其他计算机上播放。此外,还有一些在苹果设备上播放的选项。对于H.264支持,您需要Pro版本的编码器。

有关更多信息,请参阅MSDN上的SDK文档,以及文章《IIS实时平滑流媒体入门》和《IIS媒体服务的Apple HTTP实时流媒体》。

您应该能够使用vlc对文件进行转码(或者只是流式传输),然后连接到它生成的流。我知道你正在试验C#,但重新发明轮子似乎很奇怪,尤其是当它是一个很好的轮子时!

我相信自动化vlc会给你带来一些乐趣。