• 12125阅读
  • 7回复

QT kde phonon gstreamer xine 到底他们之间是怎样的一个关系,困惑! [复制链接]

上一主题 下一主题
离线laogezhongku
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-19
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
QT kde phonon gstreamer xine 到底他们之间是怎样的一个关系,困惑!还请各位前辈指教。
如果QT4.4.3+phonon编程完成的一个视频播放器,到底在符合什么样条件下的linux才能运行?
新手,困惑的不行!
离线duduqq

只看该作者 1楼 发表于: 2009-08-20
安装QT时得把Phonon模块编译进去,然后就很简单的可以实现了
离线laogezhongku
只看该作者 2楼 发表于: 2009-08-20
安装时phonon模块编译提示是成功的,后编写程序时,编译也是没问题的,但是运行时就提示
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded  
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded  
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded  
Phonon::createPath: Cannot connect Phonon::MediaObject(no objectName) to Phonon::AudioOutput(no objectName).
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded  
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
不能运行,这会不会是phonon没有编译完全或者别的原因,本人是个新手,请楼上的赐教,谢谢。
离线kouchunguo
只看该作者 3楼 发表于: 2009-11-13
楼上的问题解决了,我也遇到了同样的问题,如果方便,请加我QQ : 2728761 共同讨论,谢谢

只看该作者 4楼 发表于: 2009-11-13
kde 是一个基于x serve的图形库,ubentu就是用kde的这个库写成的,kde又是由Qt写成的,Qt又是C++写成的。
debian是由gnome这个图形库写成的,gnome是由GTK写成的。其实ubentu和debian的核心都是linux,只是图形库用的不同。因此GTK和QT从一诞生开始就是竞争关系,逐渐也演化成了
两大图形阵营,这两大阵营也爆发了旷日持久的竞争,每个阵营都有许多在国际上赫赫有名的公司所支持(google,IBM,sun,oracle,nokia,ericsson,等等),它们也互不相让(感觉好像在讲一个史诗故事一样,呵呵)。其实都是各有千秋,就好象java和c/c++.

phonon:最开始是kde这个阵营一些又厉害又无聊的高手们(好像独孤求败之类的人)用C++写成的开源多媒体框架或者叫类库,其实就是一系列API。后来当QT被nokia收购以后(别说你不知道Qt被nokia收购了),为了更好的在S60及以后的版本上编写多媒体程序,于是nokia就把phono用QT的风格封装了一下然后强加到QT这个大库里面去了。其实你可以去看看phonon的源码,封装的真的不怎么样,很多地方都是无用的代码绕来绕去。

gstreamer和xine都是比较有名的开源多媒体库,其实也是一系列API它们其实都是调用著名的FFmpeg来进行多媒体文件的编解码。也就是说他们下层调用的是FFmpeg.

Phonon在linux核心的操作系统里面就调用gstreamer的API,当然你必须先把FFmpeg装好了。

phonon在另外的操作系统里面就调用xine(请原谅我忘记是哪个系统了),但是我知道在mac os里面是调用苹果公司的Quick Time的API


其实他们的关系就是从最底层的FFmpeg->gstreamer(linux)/QuickTime(mac os)/xine(忘了)->phonon->qt写的应用程序(比如说你自己可以用Phonon的API写一个mp3的播放器),一层层的封装一层层的调用。

够清楚了吧。
离线银色子弹

只看该作者 5楼 发表于: 2010-01-13
顶楼上,让人学习了!
离线eastwarm
只看该作者 6楼 发表于: 2010-01-14
学习了
离线voidbroken

只看该作者 7楼 发表于: 2011-03-08
学习
快速回复
限100 字节
 
上一个 下一个