首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨平台多媒体亭

跨平台多媒体亭
EN

Stack Overflow用户
提问于 2010-01-21 19:45:24
回答 4查看 917关注 0票数 2

我的团队的任务是建立一个全屏,kiosk风格的应用程序来播放媒体文件。最初,我们需要支持WMV / MP4以及一些完整的1080 p的图像,尽管在这一过程中,我们需要将其扩展到其他格式(不同的视频格式以及HTML、SWF等的显示)。

该应用程序还包含大量业务逻辑,涉及调度、日志记录、性能监视以及通过web服务(或者TCP)与中央服务器对话的网络代码,并可能充当服务器本身。

对于我们的WMV / MP4视频播放,硬件加速将是一个巨大的好处。目标硬件有较弱的CPU,但有强大的显卡。

关键在于:我们是一个.NET商店(我们现有的应用程序是一个WinForms智能客户端),在C#和.NET堆栈方面经验丰富,生产效率极高。该应用程序最初将运行Windows (Windows3.0),但我们也将很快需要一个.NET版本。在我们之间,我们有一些C/C++经验和一些Linux经验,但是我们并不期望在那个平台上有很好的生产力。

因此,我现就以下各点提出建议:

  1. 录像。在Windows上,我们看到了使用DirectShow.NET的成功。在功能强大的硬件上,WPF MediaElement似乎也表现良好。我们应该在Linux上使用什么?libavcodec似乎是一个常见的选择。在Linux上,NVidia显卡上的硬件加速了吗?我们在Linux上还有其他选择吗?有什么跨平台的东西我可以考虑吗?
  2. 叠起来。( a)理想情况下,我们可以用.NET编写整个程序,然后在Linux上运行Mono。在Mono上将不支持视频回放以及其他一些组件(如性能监视)。我想我们可以在例如C++中重写这些元素;但我猜业务逻辑方面的大部分内容都能工作。( b)也许最好在Windows版本上放弃我们的前期生产力,因为它是跨平台的。那Java呢?在视频方面,我们有不同的选择吗?另一个框架怎么样?有点像QT吗?还有人能提出跨平台的相关建议吗?

一般说来,考虑到需求,你会使用什么?

我很感激你可能有这样的人。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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文件。

票数 3
EN

Stack Overflow用户

发布于 2010-01-21 20:07:50

一种选择是使用Silverlight,并探索月光作为linux版本的一个选项。我的理解是,Moonlight有几个媒体/编解码插件(我相信ffmpeg是主要的提供者),并且还可以使用MS编解码包来支持WMV/MP4之类的东西。

票数 1
EN

Stack Overflow用户

发布于 2010-01-21 21:57:04

您可以在mono和.net中使用ffmpeg。这可能包括也可能不包括视频显示- ffmpeg通常只是提供一个解码的位图,你可以做任何你想要的,无论它显示在一个窗口,保存在一个文件,什么。如果您使用ffmpeg-sharp,那么相同的代码应该可以在Windows或Linux上工作。实际上,将位图放在窗口中是很容易的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2112309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档