|
|
1
15
我推荐 VLC 或 mplayer/mencoder (win32版本)。它们可以由C#应用程序的命令行驱动。VLC支持任何DirectShow捕获设备,并具有大量高级捕获、转码和发布选项。 另一个选择是 ffmpeg binding to C# . 我个人建议使用其中一个工具的命令行版本而不是C#binding,因为所有这些程序都倾向于快速开发补丁和功能。相对于这些程序的当前稳定(更不用说SVN)构建,C#绑定很可能已经过时。此外,您还会发现更多命令行格式的文档,因为这些工具通常都是这样使用的。 最后,可以通过构建自己的 DirectShow Capture Filter Capture Graph Builder DirectShow是一个极其复杂和喜怒无常的野兽,需要大量的经验才能正确完成。它还受到常规API更改、Windows平台差异和糟糕文档的影响。沿着这条路走下去,后果自负。 |
|
|
2
1
你的目标来源是什么?一个实时电视信号,你想抓取和使用,还是什么都准备好了存储? 当您想要使用实时电视信号时,这将是很困难的,因为一些电视频道不希望我们捕获它,而是使用HDCP作为信号保护或其他版权保护方法。 |
|
|
3
0
Hauppage 提供多种视频捕获解决方案,包括高清视频捕获。我相信他们有C#的司机。 |
|
|
4
0
首先,我会看看现有的软件来做到这一点。例如,Windows Movie Maker可以显示和捕获高清摄像机的输出。mplayer应该能够显示来自大多数捕获卡/摄像机的实时提要(并且具有全屏选项)。还有其他更完整的系统,比如 ScopeBox , OnLocation , UltraScope ,或任何NLE软件(Adobe Premiere、Final Cut Pro等)。这些都是针对视频制作的,但您并没有真正提到为什么要显示或捕获视频。 如果您想从头开始编写,DirectShowAPI应该是一个很好的起点。
你不能从高清电视上拍摄,因为它只是一个显示器。。 你可以用高清摄像机拍摄,但你需要一张拍摄卡——Blackmagic设计制作了很多,最便宜的是150美元 "Video Recorder" "Intensity" card 将通过HDMI(以及任何其他模拟连接)进行捕获 然后,您应该能够使用DirectShow或QuickTime API从BlackMagic卡进行录制( support page regarding this ).其他捕获卡也是如此(我只是提到黑魔法,因为它们是比较知名的品牌之一) 需要注意的一点是,如果您正在拍摄高清视频(1920x1080p),您将处理大量数据。最新的计算机应该可以很好地处理它,但它仍然需要大量的CPU和IO速度。 另一件事,你不能从像Bluray播放器这样的东西中捕捉,因为 HDCP (高带宽数字内容保护)系统可防止出现这种情况。 |