回复网友的一个mail,关于嵌入式MP4,用ARM+Linux来实现。

本文介绍了MP4播放器开发的主要技术要点,包括Linux系统移植、GUI选择与设计、player架构设计等内容。针对Linux系统,文章详细说明了移植步骤;在GUI方面,探讨了microwindows、GTK+等选项,并提供了扩展建议;对于player部分,则推荐参考VLC和gstreamer等开源项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你可以理一下思路,记录一下大体会涉及到的技术点。

MP4 主要是涉及到linux系统,GUI和player,系统通讯。

一:linux移植:
1. toolchain
2. linux的编译
3. 系统基本能运行起来

二:GUI:
可选的包括:
microwindows, GTK+directfb等
我用的是microwindows的nano-x方式的,自己需要扩展一下它的windows management功能。
1. GUI编译
2. GUI UI设计
3. GUI与player的通讯 (可以用socket或proc pipe,也可以用soap如upnp[我使 用的],还可以用dbus[gnome现在都用dbus了,不错的东西])

三:player:
可以参考的包括VLC, FFMPEG,gstreamer
VLC的架构非常好,值得参考。
你可以根据你的系统来做简化,支持较少的媒体文件格式。
gstreamer是一个新的开放式的架构
1. player结构,最好是设计成分层结构,让各种具体的player,如wmv, mpeg1,mpeg2,有一个抽象的基类,然后由其来分发到具体类中去处理,VLC中有类 似的做法的。
2.如果是简单的做法可以移植FFMPEG,然后用发送命令控制的方式来实现,但缺点 太多,是下策了。
3. gstreamer目前比较流行,结构非常好,但我还没去应用过。

有一个个人的blog,你可以多翻翻,它里面有不少有价值的东西,我也经常看的:
http://blog.youkuaiyun.com/absurd

上面player中的第2点,就能在上面的blog找到。

四:整体体系结构的东西:
可以参考
http://www.gnome.org/mobile/
里面的一张图,包括底层的dbus/glib, 有gstreamer,gconf, 这个图的内容就比 较大了,但结构确实很不错的。
如果你用dbus,那么通讯问题基本就迎刃而解了。
GTK+是一套很成熟的库了,你也是可以应用一下的,总体来说功能要比 microwindows强很多的。但体积要大些了。
player如果自己写一个的话,是需要花些时间的。现成的可移植的,也不一定好处 理,需要你自己研究了。我们是自己写的player,花了不少的精力的。

上面的内容也只是一个介绍而已。希望对你有些帮助。 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值