android版vlc支持rtsp
来源:互联网 发布:centos 清理磁盘空间 编辑:程序博客网 时间:2024/06/06 17:38
一、编译live555
修改~/code/vlc-android/extras/contrib 下的distro.mak 增加.live
all: .zlib \
.a52 .mpeg2 .mad .ogg .vorbis .vorbisenc .theora \
.flac .speex .faad .lame .ffmpeg \
.twolame \
.png .dvbpsi \
.dca .kate .live
终端执行如下命令:
cd vlc-android/extras/contrib/
export ANDROID_NDK=/usr/local/android-ndk-r5b
./bootstrap -t arm-eabi -d android
make
此时会在~/code/vlc-android/extras/contrib/build-src下载live555的源码,在live文件夹,此时编译是不能通过的
修改/home/administrator/code/vlc-android/extras/contrib/build-src/live/makefile.tail
注视掉cd $(TESTPROGS_DIR) ; $(MAKE) cd $(MEDIA_SERVER_DIR) ; $(MAKE) cd $(TESTPROGS_DIR) ; $(MAKE) clean
cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean
如下所示:
all:
cd $(LIVEMEDIA_DIR) ; $(MAKE)
cd $(GROUPSOCK_DIR) ; $(MAKE)
cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE)
cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE)
#cd $(TESTPROGS_DIR) ; $(MAKE)
#cd $(MEDIA_SERVER_DIR) ; $(MAKE)
clean:
cd $(LIVEMEDIA_DIR) ; $(MAKE) clean
cd $(GROUPSOCK_DIR) ; $(MAKE) clean
cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) clean
cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE) clean
#cd $(TESTPROGS_DIR) ; $(MAKE) clean
#cd $(MEDIA_SERVER_DIR) ; $(MAKE) clean
在~/code/vlc-android/extras/contrib/build-src/live/liveMedia/Makefile.head增加 -I/home/administrator/android-ndk-r5b/platforms/android-9/arch-arm/usr/include如下所示:INCLUDES = -Iinclude -I../UsageEnvironment/include -I../groupsock/include -I/home/administrator/android-ndk-r5b/platforms/android-9/arch-arm/usr/include其他目录下的Makefile.head也要增加头文件路径,如groupsock UsageEnvironment BasicUsageEnvironment mediaServer testProgs目录的Makefile.head,方法同上修改groupsock 目录下GroupsockHelper.cpp的socketJoinGroupSSM socketLeaveGroupSSM函数将imr.imr_multiaddr.s_addr = groupAddress;imr.imr_sourceaddr.s_addr = sourceFilterAddr;imr.imr_interface.s_addr = ReceivingInterfaceAddr;改为imr.imr_multiaddr = groupAddress;imr.imr_sourceaddr= sourceFilterAddr;imr.imr_interface = ReceivingInterfaceAddr;如下所示:Boolean socketJoinGroupSSM (UsageEnvironment& env, int socket,netAddressBits groupAddress,netAddressBits sourceFilterAddr) {if (!IsMulticastAddress(groupAddress)) return True; // ignore this case
struct ip_mreq_source imr;
imr.imr_multiaddr = groupAddress;
imr.imr_sourceaddr = sourceFilterAddr;
imr.imr_interface = ReceivingInterfaceAddr;
if (setsockopt(socket, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP,
(const char*)&imr, sizeof (struct ip_mreq_source)) < 0) {
socketErr(env, "setsockopt(IP_ADD_SOURCE_MEMBERSHIP) error: ");
return False;
}
return True;
}
Boolean socketLeaveGroupSSM(UsageEnvironment& /*env*/, int socket,
netAddressBits groupAddress,
netAddressBits sourceFilterAddr) {
if (!IsMulticastAddress(groupAddress)) return True; // ignore this case
struct ip_mreq_source imr;
imr.imr_multiaddr = groupAddress;
imr.imr_sourceaddr = sourceFilterAddr;
imr.imr_interface = ReceivingInterfaceAddr;
if (setsockopt(socket, IPPROTO_IP, IP_DROP_SOURCE_MEMBERSHIP,
(const char*)&imr, sizeof (struct ip_mreq_source)) < 0) {
return False;
}
打开live/liveMedia/include/RTSPClient.hh
//#ifdef RTSPCLIENT_SYNCHRONOUS_INTERFACE 注释掉这个宏改为#if 1
#if 1
打开live/liveMedia/RTSPClient.cpp
//#ifdef RTSPCLIENT_SYNCHRONOUS_INTERFACE 注释掉这个宏改为#if 1
#if 1
修改 contrib/build-src/live/config.armlinux(CROSS_COMPILE改为arm-linux-androideabi-,COMPILE_OPTS 最后增加DLOCALE_NOT_USED)
CROSS_COMPILE?= arm-linux-androideabi
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1
-D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED
然后到vlc-android/extras/contrib/执行make live555的库就编出来了
二、编译live555的插件
修改/vlc-android/modules/demux/live555.cpp 注释掉#include <iostream>
在modules/demux/Makefile里找到arm-eabi/lib的字符串,加上
-lliveMedia -lUsageEnvironment -lBasicUsageEnvironment -lgroupsock
configure.sh文件中加上
--enable-live555 \
--with-live555-tree=vlc-android/extras/contrib/build-src/live \(根据自己的目录修改)
--enable-rtsp \
- android版vlc支持rtsp
- Android VLC RTSP播放器
- android-vlc for rtsp build OK
- 如何在VLC中支持IPv6 RTSP流媒体播放
- VLC如何进行RTSP的支持(源码阅读心得)
- vlc-android打开rtsp流媒体文件函数调用过程
- vlc android 连接rtsp资源播放 学习记录
- [译][VLC] Android直播RTMP RTSP HLS(m3u8) MMS
- Vlc播放rtsp视频
- Vlc播放rtsp视频
- Vlc播放rtsp视频
- VLC搭建RTSP服务器
- android平台vlc对mms的支持
- 让android支持RTSP(live555分析)
- 让android支持RTSP(live555分析)
- 让android支持RTSP(live555分析)
- 让android支持RTSP(live555分析)
- [RTSP]WPF用VLC显示RTSP视频
- 双向链表的排序
- 在Android中使用OpenCv
- phoneme syllable word phrase chunk segment utterance 等区别
- 计算机时间、unix时间、linux时间、java时间为何以1970年1月1日为原点?从1970年1月1日开始计算?
- sshd dead but subsys locked问题解决
- android版vlc支持rtsp
- iis的www服务器配置--怎样配置iis-iis配置详解
- qt 获取 MD5
- Apache+wsgl配置trac详解
- VS.NET 学习方法论
- 重新编译一下php的zip模块
- 嵌入式软件三大潜在问题及测试技术
- JSP 编译和运行过程与JSP源码简单分析
- dfdfd