madplay播放器和mjpgstreamer视频服务器移植文档汇总.docx
- 文档编号:2938793
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:11
- 大小:19.40KB
madplay播放器和mjpgstreamer视频服务器移植文档汇总.docx
《madplay播放器和mjpgstreamer视频服务器移植文档汇总.docx》由会员分享,可在线阅读,更多相关《madplay播放器和mjpgstreamer视频服务器移植文档汇总.docx(11页珍藏版)》请在冰豆网上搜索。
madplay播放器和mjpgstreamer视频服务器移植文档汇总
MP3播放器
(一)移植madplay播放器开源软件,实施步骤:
a)安装WM8960声卡驱动
i.从ftp/project/获取声卡驱动sound_driver.rar
1.在windows解压缩,获取一下文件内容
a)audio_logo_rhgz_wm.tar.gz,针对于开发板背面标注”融汇广泽”的声卡驱动
b)audio_logo_tarena_wm.tar.gz,针对于开发板背面标注”Tarena”的声卡驱动
注意:
自行选择适合自己的驱动包,然后在windows下解压缩,获取文件:
build.sh//驱动安装脚本
s5pv210_wm8960.ko//wm8960声卡IO初始化驱动
wm8960.ko//wm8960声卡驱动
ii.创建驱动存放目录
1.mkdir/opt/project/drivers/wm8960
2.cpbuild.sh/opt/project/drivers/wm8960/
3.cps5pv210_wm8960.ko/opt/project/drivers/wm8960/
4.cpwm8960.ko/opt/project/drivers/wm8960/
iii.拷贝驱动到开发板
1.cpbuild.sh/opt/rootfs/home/drivers/
2.cps5pv210_wm8960.ko/opt/rootfs/home/drivers/
3.cpwm8960.ko/opt/rootfs/home/drivers/
b)移植libmad解码底层操作库
1.从ftp/project获取libmad源码libmad-0.15.1b.tar.gz
2.创建libmad源码存放目录
a)mkdir/opt/project/mp3/
b)cplibmad-0.15.1b.tar.gz/opt/project/mp3
c)cd/opt/project/mp3
d)tar–xvflibmad-0.15.1b.tar.gz
e)cdlibmad-0.15.1b
f)makeclean
g)./configureCC=arm-linux-gcc--host=arm-linux--prefix=/opt/project/mp3/to_arm//指定编译生成的动态库的安装目录为/opt/project/mp3/to_arm/
h)make
i)makeinstall
j)查看编译成果cd/opt/project/mp3/to_arm
c)移植libid3tag开源MP3TAG库,它依赖libz库
i.先移植libz库
a)从ftp/project下载源码zlib-1.2.3.tar.gz
b)cpzlib-1.2.3.tar.gz/opt/project/mp3
c)cd/opt/project/mp3
d)tar-xvfzlib-1.2.3.tar.gz
e)cdzlib-1.2.3
f)makeclean
g)./configure--shared--prefix=/opt/project/mp3/to_arm
h)viMakefile
i)19CC=arm-linux-gcc//在第19行
1.(只是将gcc变成arm-linux-gcc)
j)28LDSHARED=arm-linux-gcc//在第28行
k)29CPP=arm-linux-gcc-E
l)36AR=arm-linux-arrc
m)37RANLIB=arm-linux-ranlib
n)保存退出
o)make
p)makeinstall
ii.再移植libid3tag库
a)从ftp/project/获取源码libid3tag-0.15.1b.tar.gz
b)cplibid3tag-0.15.1b.tar.gz/opt/project/mp3
c)cd/opt/project/mp3/
d)tar-xvflibid3tag-0.15.1b.tar.gz
e)cdlibid3tag-0.15.1b
f)./configureCC=arm-linux-gcc--host=arm-linux--prefix=/opt/project/mp3/to_arm
g)make
h)makeinstall
d)移植madplay播放器
1.从ftp/project/获取源码madplay-0.15.2b.tar.gz
2.cpmadplay-0.15.2b.tar.gz/opt/project/mp3/
3.cd/opt/project/mp3
4.tar-xvfmadplay-0.15.2b.tar.gz
5.cdmadplay-0.15.2b
6../configureCC=arm-linux-gcc--host=arm-linux--prefix=/opt/project/mp3/to_arm
7.make
8.makeinstall
e)开发板测试
1.拷贝交叉编译后生成的动态库和可执行程序到开发板
a)mkdir/opt/rootfs/home/mp3
b)mkdir/opt/rootfs/home/mp3/song
c)cp/opt/project/mp3/to_arm/lib/opt/project/mp3/to_arm/bin/madplay/opt/rootfs/home/mp3–frd
d)cpshanghaitan.mp3/opt/rootfs/home/mp3/song//拷贝歌曲到开发板
e)vim/opt/rootfs/etc/profile文件最后添加动态库的环境变量
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:
/home/mp3/lib
2.开发板执行
a)cd/home/drivers/
b)./build.sh//安装声卡驱动
c)/home/mp3/bin/madpaly/home/mp3/song/shanghaitan.mp3
f)熟悉madplay参数的使用
i.–r//重复执行
1./home/mp3/bin/madplay-r/home/mp3/song/*.mp3//重复播放所有的歌曲
ii.按键盘的“-”减号降低音量
iii.按键盘的”+”加号升高音量
iv.按键盘的”s”停止播放
v.按键盘的”c”继续播放
vi.按键盘的”>”下一首
vii.按键盘的”f”上一首
g)改造madplay源码支持网络控制播放器的操作
i.cd/opt/project/mp3/madplay-0.15.2b
ii.vimplayer.c+120定义udp套接字文件描述符
1.staticintsocketfd=-1;
保存退出
iii.vimplayer.c//找到setup_tty函数,在函数开头以下代码:
/*创建server端*/
socketfd=socket(PF_INET,SOCK_DGRAM,0);
if(socketfd<0){perror("socket");return-1;}
structsockaddr_insi;
si.sin_family=AF_INET;
si.sin_port=htons(2000);
si.sin_addr.s_addr=INADDR_ANY;
if(bind(socketfd,(structsockaddr*)&si,sizeof(si))<0){
perror("bind");return-1;
}
保存退出
iv.vimplayer.c找到tty_filter函数
structplayer*player=data;
enummad_flowflow=MAD_FLOW_CONTINUE;
intcommand=0,stopped=0;
//command=readkey(0);//注释掉词句,不再响应按键操作
//并且在后面添加网络控制支持代码,如下:
//获取网络数据
recvfrom(socketfd,&command,4,MSG_DONTWAIT,NULL,0);
然后将后面的:
//command=readkey
(1);//注释掉,不再相应按键操作
添加网络读取的代码:
recvfrom(socketfd,&command,4,0,NULL,0);
保存退出
v.重新编译maplay
1.makeclean
2.make
3.makeinstall
4.cp/opt/project/mp3/bin/madplay/opt/rootfs/home/mp3/bin/
vi.编写mp3播放操作库函数
1.从ftp/project/下载参考代码mp3_hwlib.tar.bz2
a)Mp3.h//声明
b)Mp3.c//定义
c)Mp3lib_test.c//调用测试
vii.编写QT前端播放器界面
a)从ftp/project/下载参考代码mp3_qt.tar.bz2
mjpg-streamer视频服务器移植
(二)移植mjpg-streamer视频服务器,实施步骤:
a)Linux虚拟机上搭建mjgp-streamer视频服务器,实施步骤
i.首先虚拟机linux安装jpeg图片处理库
1.创建源码存放目录
a)mkdir/opt/project/mjpg-streamer
b)从ftp/project/获取源码jpegsrc.v6b.tar.gz
c)cpjpegsrc.v6b.tar.gz/opt/project/mjpg-streamer/
d)cd/opt/project/mjgp-streamer
e)tar–xvfjpegsrc.v6b.tar.gz
f)cdjpeg-6b
g)./configure--enable-shared
h)make//编译
i)sudomakeinstall
ii.最后编译mjpg-streamer
a)从ftp/project/获取源码mjpg-streamer-r63.tar.gz
b)cpmjpg-streamer-r63.tar.gz/opt/project/mjpg-streamer/
c)cd/opt/project/mjpg-streamer
d)tar-xvfmjpg-streamer-r63.tar.gz
e)cdmjpg-streamer-r63
f)从2.6内核版本中拷贝该头文件到系统目录
i.sudocp/opt/kernel/include/linux/videodev.h/usr/include/linux/
ii.sudovim/usr/include/linux/videodev.h+166
structvideo_clip/*__user*/*clips;//将__user注释掉
iii.保存退出
iv.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- madplay 播放 mjpgstreamer 视频服务器 移植 文档 汇总