在 C# Winforms 中将视频转换为 exe

我需要使用 C# Winforms 将视频转换为 .exe 文件。这是确保没有非法重新分发我的视频文件所必需的。

我很难实现这一点。以下是我迄今为止使用 Google 的发现。

方法 1:添加对 WMP.dll 的引用并将 Windows Media Player 控件插入到窗体中。
此控件需要 URL 将视频绑定到 url,这意味着我需要将视频文件物理添加到项目文件夹中。这样做违背了项目的目的,因为我的视频文件将在 bin/debug 或 /bin/release 文件夹中的构建过程后吐出。

我知道我可以将视频文件嵌入到资源文件中。但是,Windows Media Player 控件无法从资源文件的字节数组或流中读取。无法将资源文件直接分配给 Windows Media Player 控件。

我什至遇到了将资源文件的字节数组写入用户临时文件夹中的物理文件的建议。然而,这可能是有风险的,因为一旦用户识别出这一点,可能会发生非法重新分发。

方法 2:添加对 Microsoft.DirectX.AudioVideoPlayback 的引用
使用此方法,它会引发“VFW_E_UNSUPPORTED_STREAM”异常。我的视频是 .mp4 格式。一些论坛建议如果我安装支持的编解码器,则应处理此异常。但是我不能这样做,因为我不能指望我的用户在他们的系统上安装编解码器只是为了观看视频。(假设每个用户的机器上都存在点网框架)

有人可以帮我吗?如果您需要任何额外的信息,请告诉我,我将非常乐意提供帮助。

这是一个参考链接。这正是我实现http://www.videotoexe.com 所需要的


长风秋雁
浏览 182回答 2
2回答

慕村9548890

所以我终于使用 VLC.DotNet 而不是 WMP。它支持流播放以及 .srt 字幕。暂时将这个问题标记为关闭。感谢大家的所有想法和建议。
打开App,查看更多内容
随时随地看视频慕课网APP