ok6410开发板移植vlc做简单视频流媒体服务器

OK6410下的wiif的视频小车——vlc移植部分

开始移植vlc2.1.5到ok6410开发板中搭建简单的视频流媒体服务器,读取h264原始数据,ts流封包,rtp协议传输。

电脑: vmware ubuntu12.04

gcc4.3.2

vlc配置如下:

CC=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc
CXX=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++
ARCH=arm 
CFLAGS='-g -O2' 
LDFLAGS=-Wl,--as-needed 
CPPFLAGS= 
CXXFLAGS='-g -O2' 
./configure \
    --enable-run-as-root \
    --prefix=/home/per/workbench/install_ex \
    --disable-debug \
    --host=arm-none-linux-gnueabi \
    --disable-mtp \
    --disable-dbus \
    --disable-mmx \
    --disable-sse \
    --disable-lua \
    --disable-notify \
    --disable-chromaprint \
    --disable-taglib \
    --disable-live555 \
    --disable-dc1394 \
    --disable-dvdnav \
    --disable-smbclient \
    --enable-dvbpsi \
    --disable-v4l2 \
    --disable-libcddb \
    --disable-vcd \
    --disable-ogg \
    --disable-mkv \
    --disable-mod \
    --disable-mpc \
    --disable-gme \
    --disable-mad \
    --disable-avcodec \
    --disable-avformat \
    --disable-swscale \
    --disable-postproc \
    --disable-libtar \
    --disable-a52 \
    --disable-dca \
    --disable-zvbi \
    --disable-xvideo \
    --disable-glx \
    --disable-xcb \
    --disable-sdl \
    --disable-sdl-image \
    --disable-freetype \
    --disable-fribidi \
    --disable-fontconfig \
    --disable-libxml2 \
    --disable-skins2 \
    --disable-qt \
    --disable-atmo \
    \
    --disable-vlm \
    --disable-screen \
    --disable-wma-fixed \
    --disable-oss  \
    --disable-pulse \
    --disable-alsa  \
    --disable-upnp  \
    --disable-ncurses \
    --disable-libgcrypt \
    --enable-vlc \
    \
    --disable-gnutls \
    --disable-libmpeg2 \
    --disable-vorbis \
    --disable-speex \
    --disable-schroedinger \
    --disable-png \
    --enable-x264 \
    --disable-fluidsynth \
    --disable-kate \
    --disable-tiger \
    --disable-bonjour \
    \
    --disable-jack \
    --disable-dv1394 \
    --disable-dvdread \
    --disable-bluray \
    --disable-linsys \
    --disable-samplerate  \
    --disable-dirac  \
    --disable-libass   \
    --disable-theora  \
    --disable-twolame  \
    --disable-udev  \
    --disable-svg  \
    --disable-opencv  \
    --disable-caca   \
    --disable-gnomevfs  \
    --disable-shout  \
    --enable-static \

编译过程中发现缺少各种库,需要自己进行交叉编译后使用,将编译后prefix指定路径下的库文件和头文件拷贝到交叉编译器相应的库文件和头文件里面(这样做可能不是很标准吧?,下面的库之间也有依赖关系需要编译后马上拷贝生成的库文件和头文件到交叉编译器)

交叉编译各种库如下:

Cross-Compiling libogg

./configure --host=arm-none-linux-gnueabi ARCH=arm  --prefix=/home/per/workbench/install_ex/libogg

make

make install

Cross-Compiling libiconv

./configure --host=arm-none-linux-gnueabi ARCH=arm  --prefix=/home/per/workbench/install_ex/libiconv

make

make install

Cross-Compiling FLAC

./configure --host=arm-none-linux-gnueabi ARCH=arm  --prefix=/home/per/workbench/install_ex/FLAC --with-mpeg4ip --enable-static --with-ogg=/home/per/workbench/install_ex/libogg  --with-ogg-libraries=/home/per/workbench/install_ex/libogg/lib  --with-libiconv-prefix=/home/per/workbench/install_ex/libiconv --with-ogg-includes=/home/per/workbench/install_ex/libogg/include --disable-cpplibs

make

make install

Cross-Compiling x264

./configure --host=arm-none-linux-gnueabi --cross-prefix=/usr/local/arm/4.3.2/bin --prefix=/home/per/workbench/install_ex/x264 --disable-opencl --disable-asm --disable-thread

make

make install

Cross-Compiling libav

./configure --cc=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc --enable-shared --enable-avx --enable-gpl --enable-pthreads --prefix=/home/per/workbench/install_ex/libav --enable-cross-compile --host-cc=gcc --arch=arm --target-os=linux 

make

make install

Cross-Compiling DIRAC

./configure --host=arm-none-linux-gnueabi ARCH=arm  --prefix=/home/per/workbench/install_ex/dirac

make

make install

Cross-Compiling libdvbpsi

./configure -host=arm-none-linux-gnueabi -prefix=/home/per/workbench/install_ex/libdvbpsi

make

make install



然后配置并编译vlc,make install 生成lib bin include share文件夹,将其和以上编译过的lib拷入开发板。

开发板运行:

./vlc -vvv /sdcard/wanted.H264 --sout "#rtp{dst=192.168.1.108,port=5004,mux=ts,ttl=10}" 

发现--enable-static加入后也无法编译出无需动态库的可执行文件。

运行结果:


参考博客http://m.blog.csdn.net/blog/chenee543216/4348124

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值