***************************************************************************************************************************
作者:EasyWave 时间:2014.04.13
类别:协议标准-DLNA简介 声明:转载,请保留链接
注意:如有错误,欢迎指正。这些是我学习的日志文章......
***************************************************************************************************************************
一:概述
现在,Wi-Fi联盟已经开始同DLNA联盟(数字生活网络联盟)合作,将Wi-Fi Direct技术融合到DLNA技术里。一旦该技术稳定成型,应用于无线设备上,如智能手机、平板电脑里,它们就可以变身为多媒体服务器,来分享所收集的多媒体资料。这样在无线设备之间流媒体传递就不再需要无线路由器的连接了。而且,即使在不同的Wi-Fi网络上,你同样可以向你朋友的无线设备上直接共享音乐和视频等多媒体信息.
uShare是 最早实现 DLNA 支持的 UPnP 媒体服务器。uPnP是负责设备间的识别,DLNA依赖于uPnP,uShare是基于DLNA的媒体服务器。LibDLNA库,它只是完成对音视频和图像格式的识别与加载功能,并没有实现网络互连、网络传输、设备发现等功能。所以要演示DLNA的效果,就需要编译uShare。我这里采用的是下面这几个库,如下图所示:
这里我需要说一下,从一开始我使用的是libav0.66的版本来编译后来发现,这个版本太老了,所以后来选择了ffmepg-0.9.4的版本,下次将libav1.0的版本来编译应该也是不会有问题的,在编译的过程中,会出现很多的问题,下面会一一写出来...
二:uShare的移植和编译
1:ffmpeg0.9.4的编译
如果要编译ffmpeg0.9.4的话,就需要进行配置,由于我这里是移植到ARM9下,因此需要配置,具体的配置如下所示:
#!/bin/bash
if [ "$1" == "" ]; then
INSTALL_PATH=`pwd`/_install
else
if [ -d $1 ]; then
INSTALL_PATH=$1
else
exit 1
fi
fi
if [ ! -d $INSTALL_PATH ]; then
mkdir -p $INSTALL_PATH
fi
export LDFLAGS="-L$INSTALL_PATH/lib -L/usr/local/arm_linux_4.2/arm-none-linux-gnueabi/lib"
export CPPFLAGS="-I$INSTALL_PATH/include"
export LIBS="-ldl -lpthread"
if [ -f config.mak