我的团队的任务是建立一个全屏,kiosk风格的应用程序来播放媒体文件。最初,我们需要支持WMV / MP4以及一些完整的1080 p的图像,尽管在这一过程中,我们需要将其扩展到其他格式(不同的视频格式以及HTML、SWF等的显示)。
该应用程序还包含大量业务逻辑,涉及调度、日志记录、性能监视以及通过web服务(或者TCP)与中央服务器对话的网络代码,并可能充当服务器本身。
对于我们的WMV / MP4视频播放,硬件加速将是一个巨大的好处。目标硬件有较弱的CPU,但有强大的显卡。
关键在于:我们是一个.NET商店(我们现有的应用程序是一个WinForms智能客户端),在C#和.NET堆栈方面经验丰富,生产效率极高。该应用程序最初将运行Windows (Windows3.0),但我们也将很快需要一个.NET版本。在我们之间,我们有一些C/C++经验和一些Linux经验,但是我们并不期望在那个平台上有很好的生产力。
因此,我现就以下各点提出建议:
一般说来,考虑到需求,你会使用什么?
我很感激你可能有这样的人。
发布于 2010-01-22 16:23:16
我的建议是,您可以使用Fluendo的GStreamer组件进行视频播放,因为它支持硬件加速(在可用和完全授权的编解码器中)。
您可以查看支持视频播放的女妖媒体播放器,如果您安装了Fluendo/GStreamer软件包。获取OpenSUSE 11.2,其中包含您所需的所有尝试和开发,然后购买和安装Fluendo编解码器。
从源代码的角度来看,女妖从C#做视频显示,请看这里:
使用C#并进行视频呈现的GStreamer源代码如下所示:
http://git.gnome.org/browse/banshee/tree/src/Extensions/Banshee.NowPlaying/Banshee.NowPlaying
调用Fluendo的C支持库可在这里获得:
http://git.gnome.org/browse/banshee/tree/libbanshee
测试女妖,你不需要购买任何东西,但你的视频编解码器将限于Ogg/Theora编码视频。一旦您获得Fluendo的编解码器,您将能够播放WMV文件。
发布于 2010-01-21 20:07:50
一种选择是使用Silverlight,并探索月光作为linux版本的一个选项。我的理解是,Moonlight有几个媒体/编解码插件(我相信ffmpeg是主要的提供者),并且还可以使用MS编解码包来支持WMV/MP4之类的东西。
发布于 2010-01-21 21:57:04
您可以在mono和.net中使用ffmpeg。这可能包括也可能不包括视频显示- ffmpeg通常只是提供一个解码的位图,你可以做任何你想要的,无论它显示在一个窗口,保存在一个文件,什么。如果您使用ffmpeg-sharp,那么相同的代码应该可以在Windows或Linux上工作。实际上,将位图放在窗口中是很容易的。
https://stackoverflow.com/questions/2112309
复制相似问题