zoukankan      html  css  js  c++  java
  • 君正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等格式的音频视频均有声音了,非常高兴!而且君正的源码对解码做了优化,比我单独编译的源码效果好很多,现在针对某些格式还不能全屏,还需要继续研究。

  • 相关阅读:
    程序员都遇到过哪些误解?
    云原生系列5 容器化日志之EFK
    云原生系列4 批量定时更新本地代码库
    云原生系列3 pod核心字段
    云原生系列2 部署你的第一个k8s应用
    云原生系列1 pod基础
    项目总结二:使用分布式存储读写分离功能应要注意的问题
    项目总结一:HttpClient DelegatingHandler管道扩展 生命周期问题
    Java 反编译工具的使用与对比分析
    如何使用 Github Actions 自动抓取每日必应壁纸?
  • 原文地址:https://www.cnblogs.com/general001/p/2218249.html
Copyright © 2011-2022 走看看