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開發(fā)板上作為server運行。
3 --enable-static不能加:目前不知道為什么,反正加上后會報告 assert (p_module_bank);通不過,具體原因未跟蹤。
4 在開發(fā)板上運行:
從板子上掛載編譯機器: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的參數(shù),--plugin-path=$PWD。
5 到目前為止,在幾乎沒有動過VLC的具體實現(xiàn)代碼的情況下,便移植到S3C6410上成功運行,說明VLC代碼質(zhì)量還是不錯的。
6 裁剪移植思路:
1 通過configure盡量去掉無用模塊:需要在PC段不斷試驗,這正是我上一篇blog記錄使用distcc的原因。
2 利用新的PC環(huán)境模擬開發(fā)板來進行調(diào)試:這里我使用一臺裝在筆記本上的vmware來實現(xiàn)。vmware干凈安裝ubuntu9.04,將編譯好的VLC安裝到vmware上,通過比較找到那些必須的模塊,同時,在PC上模擬可以很方便的使用GDB(CGDB)等工具輔助。提高效率。
3 PC段ok了就可以上板子了,盡量找功能完善的板子來用(我遇到過開發(fā)板自己有問題導致走了很多彎路的情況)。
4 多google(為什么不是100du?),學習前輩們的經(jīng)驗:有時候直接將錯誤信息放到搜
索框中就能找到答案。
7 移植雖然耗時間,但是還是比較順利的。后繼工作需要靜下心來搞清楚VLC的各個細節(jié)了。VLC對我們后繼產(chǎn)品還是有不少幫助的,just like mplayer。
8 多總結(jié),共享自己的成果和過程。只有整個團隊得到提高,我們項目組、甚至公司的研發(fā)實力才能真正提高。在我們這樣的技術(shù)性公司,技術(shù)不是萬能,但是沒有技術(shù)則萬萬不能。
本文來自CSDN博客,轉(zhuǎn)載請標明出處:file:///H:/文件夾文件存檔/我的VLC/ARM——VLC移植文檔/VLC裁剪和移植到S3C6410%20-%20chenee543216的專欄%20-%20CSDN博客.mht
聯(lián)系客服