君正JZ4760B上mplayer的移植

最近几天由于项目需要,在君正JZ4760B上移植mplayer,所以在此总结一下移植中遇到的问题

1,源码及交叉编译器下载:ftp://ftp.ingenic.cn/ (君正服务器)分别下载mplayer的源码和mipsel的交叉编译器mipseltools-gcc412-lnx26.tar.bz2

2,交叉编译,执行./build.jz47 JZ4760B linux

在编译过程中遇到了ERROR

 mxu_as aac_fft.s > aac_fft_mxu.s
 aac_fft.o的错误

不知道啥原因,后来在樊师弟的帮助下经过查看君正的手册发现mxu_as是君正的一个优化脚本,将aac_fft.s一行一行的优化为aac_fft_mxu.s,它是通过主机linux的awk和gawk进行操作的,之所以遇到问题是因为主机awk不匹配,所以在此升级一下awk。

继续编译,最后出现一个与gawk有关的错误,同样是升级gawk后,编译完成。

执行make install 后,出现错误

strip: Unable to recognise the format of the input file `/usr/local/bin/mplayer'
install: strip process terminated abnormally
make: *** [install-mplayer] Error 1
解决办法:在install开始之前添加 : INSTALLSTRIP= #

3,开发板测试,执行./mplayer 123.mp3,不能听到声音,播放视频也是不能播放声音,但是有画面。此后采取一下方法:

  开发板文件系统的/etc/目录下新建一个mplayer.conf文件,其内容如下:
方法一、

vo=fbdev
ao=oss
framedrop = yes
joystick = no
vf=rotate=2,scale=480:272 

   其中480:272为显示屏的尺寸,具体尺寸根据板子的显示屏大小来定。

方法二、

ao=alsa #音频驱动选择
vo=x11 #视频驱动选择
joystick=0 #是否支持手柄控制
stop-xscreensaver=yes #是否允许播放视频时出现屏保
monitoraspect=1280:800 #识别桌面分辨率为1280×800
zoom=yes #是否允许视频缩放
subcp=cp936 #字幕字符集编码
subfont-autoscale=1 #设置按什么方法来进行自动缩放字幕,0-不自动缩放,1-按电影高度缩放,2-按电影宽度缩放,3-按电影对角线缩放(默认值)
subfont-text-scale=5 #设置字幕文本的自动缩放系数(屏幕尺寸的百分比),值范围为0~100,默认值为5。
subfont-osd-scale=8 #OSD字幕的自动缩放系统(屏幕尺寸的百分比),值范围为0~100,默认值为6。
font=/usr/share/fonts/zh_CN/msyh.ttf #选择字幕用的字体
overlapsub=1 #支持多语言字幕。
sub-fuzziness=1 #设定字幕自动加载的识别,播放时可以通过j键切换。
osdlevel=3 #在屏幕的左上角显示相应时间等
cache = 8192 #此选项指定用多少内存(以 kBytes 为单位)作为播放文件或 URL 的预缓冲。

方法三、

ao=gst,sdl,
vo=omapfb,xv,sdl,x11,
framedrop=yes
afm=liba52,pcm,dvdpcm,ffmpeg,libmad,faad,
noslices=true
monitorpixelaspect=1
fs=yes
zoom=yes                 
cache=1024
font=/usr/share/fonts/SwaRR4nh.ttf                        
subfont-text-scale=3
overlapsub=1
sub-fuzziness=1
subpos=100
osdlevel=2
menu=yes
sws=0
vf=rotate=6
af=volnorm
monitoraspect=5:3
autosync=1
mc=2

方法四

ln -s /dev/dsp /dev/sound

以上方法均没有解决没有声音的问题。

此后经过测试君正自带的madplay,发现nand 启动的文件系统可以播放声音,而从sd卡启动的ext3格式的文件系统不能播放声音,

这到底是为什么呢,初始化没有做好吗?

后来发现原来nand启动的文件系统启动了Qt,而sd卡的文件系统未启动Qt

君正把音频的初始化放到qt做了,具体怎么做的还没巧明白,于是自己先把sd卡启动的文件系统的qt起起来,然后发现播放MP3,avi,rmvb等格式的音频视频均有声音了,非常高兴!而且君正的源码对解码做了优化,比我单独编译的源码效果好很多,现在针对某些格式还不能全屏,还需要继续研究。

原文地址:https://www.cnblogs.com/general001/p/2218249.html