开发者社区> 长空翱翔> 正文

VLC裁剪和移植到S3C6410

简介: 1 由于项目需求,这几天在折腾VLC,需要将它裁剪并移植到PowerPC上,由于板子没有到,先在6410上跑。目前从需求看我们只要VLC作为一个server即可,先贴配置,如下:(几乎disable掉所有东东) #!/bin/sh # for arm #CC=/opt/arm...
+关注继续查看

1 由于项目需求,这几天在折腾VLC,需要将它裁剪并移植到PowerPC上,由于板子没有到,先在6410上跑。目前从需求看我们只要VLC作为一个server即可,先贴配置,如下:(几乎disable掉所有东东)

#!/bin/sh

# for arm
#CC=/opt/arm-2008q3/bin/arm-none-linux-gnueabi-gcc  \
#CXX=/opt/arm-2008q3/bin/arm-none-linux-gnueabi-g++  \
#ARCH=arm \
#    --host=arm-none-linux-gnueabi \

build_alias=i486-linux-gnu \
CFLAGS='-g -O2' \
LDFLAGS=-Wl,--as-needed \
CPPFLAGS= \
CXXFLAGS='-g -O2' \
./configure  \
    --build=i486-linux-gnu \
    --enable-run-as-root \
    --prefix=/tmp/vlc \
    --with-binary-version=2ubuntu1 \
    \
    --enable-debug \
    --disable-hal \
    --disable-mtp \
    --disable-dbus \
    --disable-dbus-control \
    --disable-telepathy \
    --disable-mmx \
    --disable-sse \
    --disable-lua \
    --disable-notify \
    --disable-audioscrobbler \
    --disable-taglib \
    --disable-live555 \
    --disable-dc1394 \
    --disable-dv \
    --disable-dvdnav \
    --disable-smb \
    --disable-dvbpsi \
    --disable-v4l2 \
    --disable-libcdio \
    --disable-libvcdinfo \
    --disable-libcddb \
    --disable-cdda \
    --disable-vcd \
    --disable-dvb \
    --disable-ogg \
    --disable-mkv \
    --disable-mod \
    --disable-mpc \
    --disable-gme \
    --disable-mad \
    --disable-avcodec \
    --disable-avformat \
    --disable-swscale \
    --disable-postproc \
    --disable-libsysfs \
    --disable-libtar \
    --disable-a52 \
    --disable-dca \
    --disable-zvbi \
    --disable-x11 \
    --disable-xvideo \
    --disable-glx \
    --disable-xinerama \
    --disable-xcb \
    --disable-opengl \
    --disable-sdl \
    --disable-sdl-image \
    --disable-freetype \
    --disable-fribidi \
    --disable-fontconfig \
    --disable-libxml2 \
    --disable-hd1000v \
    --disable-skins2 \
    --disable-qt4 \
    --disable-atmo \
    \
    --disable-vlm \
    --disable-screen \
    --disable-wma-fixed \
    --disable-id3tag \
    --disable-fb \
    --disable-oss  \
    --disable-pulse \
    --disable-alsa  \
    --disable-upnp  \
    --disable-ncurses \
    --disable-visual \
    --disable-libgcrypt \
    --disable-vlc \
    \
    --disable-gnutls \
    --disable-remoteosd \
    --disable-libmpeg2 \
    --disable-vorbis \
    --disable-speex \
    --disable-schroedinger \
    --disable-png \
    --disable-x264 \
    --disable-fluidsynth \
    --disable-cmml \
    --disable-kate \
    --disable-tiger \
    --disable-bonjour \
    \
#    --disable-httpd \
#    --enable-static \

2 上面的配置中,将arm部分替换则可以在我们的S3C6410开发板上作为server运行。

3 --enable-static不能加:目前不知道为什么,反正加上后会报告 assert (p_module_bank);通不过,具体原因未跟踪。

4 在开发板上运行:
从板子上挂载编译机器:mount -o nolock 192.168.2.240:/tmp /mnt
在板子上运行:LD_LIBRARY_PATH=$PWD/lib ./bin/vlc --plugin-path=$PWD ../1.mp4 --sout '# std{access=mmsh,mux=ts,dst=192.168.2.225:1234}'
这里注意2点:1) LD_LIBRARY_PATH:可以看ld.so的manuel。2)VLC的参数,--plugin-path=$PWD。

5 到目前为止,在几乎没有动过VLC的具体实现代码的情况下,便移植到S3C6410上成功运行,说明VLC代码质量还是不错的。

6 裁剪移植思路:
1 通过configure尽量去掉无用模块:需要在PC段不断试验,这正是我上一篇blog记录使用distcc的原因。
2 利用新的PC环境模拟开发板来进行调试:这里我使用一台装在笔记本上的vmware来实现。vmware干净安装ubuntu9.04,将编译好的VLC安装到vmware上,通过比较找到那些必须的模块,同时,在PC上模拟可以很方便的使用GDB(CGDB)等工具辅助。提高效率。

3 PC段ok了就可以上板子了,尽量找功能完善的板子来用(我遇到过开发板自己有问题导致走了很多弯路的情况)。
4 多google(为什么不是100du?),学习前辈们的经验:有时候直接将错误信息放到搜
索框中就能找到答案。

7 移植虽然耗时间,但是还是比较顺利的。后继工作需要静下心来搞清楚VLC的各个细节了。VLC对我们后继产品还是有不少帮助的,just like mplayer。

8 多总结,共享自己的成果和过程。只有整个团队得到提高,我们项目组、甚至公司的研发实力才能真正提高。在我们这样的技术性公司,技术不是万能,但是没有技术则万万不能。

本文来自CSDN博客,转载请标明出处:file:///H:/文件夹文件存档/我的VLC/ARM——VLC移植文档/VLC裁剪和移植到S3C6410%20-%20chenee543216的专栏%20-%20CSDN博客.mht

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OpenHarmony视频播放器
OpenHarmony媒体组件video的使用
153 0
SDL开发笔记(二):音频基础介绍、使用SDL播放音频
SDL开发笔记(二):音频基础介绍、使用SDL播放音频
259 0
Qt+MPlayer音乐播放器开发笔记(二):交叉编译MPlayer以及部署到开发板播放演示
Qt+MPlayer音乐播放器开发笔记(二):交叉编译MPlayer以及部署到开发板播放演示
136 0
案例分享:Qt+FFmpeg录屏应用(支持帧率、清晰度设置)
案例分享:Qt+FFmpeg录屏应用(支持帧率、清晰度设置)
432 0
QT应用编程: 基于FFMPEG设计的精简版视频播放器
QT应用编程: 基于FFMPEG设计的精简版视频播放器
125 0
FFmpeg 开发(08):FFmpeg 播放器视频渲染优化
前文中,我们已经利用 FFmpeg + OpenGLES + OpenSLES 实现了一个多媒体播放器,本文将在视频渲染方面对播放器进行优化。
372 0
FFmpeg 开发(06):FFmpeg 播放器实现音视频同步的三种方式
前文中,我们基于 FFmpeg 利用 OpenGL ES 和 OpenSL ES 分别实现了对解码后视频和音频的渲染,本文将实现播放器的最后一个重要功能:音视频同步。
345 0
FFmpeg 开发(04):FFmpeg + OpenGLES 实现音频可视化播放
本文基于上一篇文章 FFmpeg + OpenSLES 实现音频解码播放 ,利用 FFmpeg 对一个 Mp4 文件的音频流进行解码,然后将解码后的 PCM 音频数据进行重采样,最后利用 OpenSLES 进行播放的同时,将 PCM 音频一个通道的数据实时渲染成柱状图。
226 0
+关注
长空翱翔
长期从事Windows和linux应用程序开发,系统开发,驱动程序开发以及基于.net平台的软件开发;擅长面向对象程序设计、数据库设计、应用与开发;
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
基于WebAssembly的H265播放器
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载