live555 android编译,Android live555组播拉流客户端

背景:

live555作为知名的流媒体开源框架,在实际项目中,经常使用到。在Android播放器中,可以使用其作为流媒体部分的拉流端,特别是对于RTSP及组播播放,live555相对还是很稳定的。

这次将其移植到Android SDK上,并完成RTSP及组播拉流小程序,权当玩乐及熟悉live555之用。

RTSP拉流小程序基本就是原来live555测试代码testRTSPClient.cpp,仅对其做了点小修改,让其能完成对电视节目RTSP流的获取,所以后面有机会再讲live555 RTSP内部实现流程吧。

这次就讲Android上移植live555及实现组播简单拉流代码。

Android移植live555

live555 Android平台移植方法优快云上很多可以参考,并不难,我简单说下我的移植方法

首先官网下载live555源码http://www.live555.com/liveMedia/public/

对于Android,可以删除不必要的目录,我仅保留如下目录:

20190720184503666.png

编写Android.mk文件,如下,

将liveMedia目录中的CPP和C代码全部包含进来,另外其他几个目录需要用到的文件也添加进来。

指定LOCAL_CPPFLAGS 和LOCAL_LDFLAGS ,主要是对STL的支持。

这样编译即可,会在live555源码out目录下生成liblive555.so库。

编译过程中可能有些小错误,不同live555的错误可能略有不同,主要是对NDK的兼容问题,网上查查修改即可,比较简单。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := liblive555

LOCAL_MODULE_PATH := $(LOCAL_PATH)/out

LOCAL_C_INCLUDES := \

$(LOCAL_PATH) \

$(LOCAL_PATH)/BasicUsageEnvironment/include \

$(LOCAL_PATH)/BasicUsageEnvironment \

$(LOCAL_PATH)/UsageEnvironment/include \

$(LOCAL_PATH)/UsageEnvironment \

$(LOCAL_PATH)/groupsock/include \

$(LOCAL_PATH)/groupsock \

$(LOCAL_PATH)/liveMedia/include \

$(LOCAL_PATH)/liveMedia \

LOCAL_MODULE_TAGS := optional

prebuilt_stdcxx_PATH := prebuilts/ndk/current/sources/cxx-stl/gnu-libstdc++

SRC_LIST := $(wildcard $(LOCAL_PATH)/liveMedia/*.cpp)

SRC_LIST += $(wildcard $(LOCAL_PATH)/liveMedia/*.c)

LOCAL_SRC_FILES := $(SRC_LIST:$(LOCAL_PATH)/%=%)

LOCAL_SRC_FILES += \

groupsock/GroupsockHelper.cpp \

groupsock/GroupEId.cpp \

groupsock/inet.c \

groupsock/Groupsock.cpp \

groupsock/NetInterface.cpp \

groupsock/NetAddress.cpp \

groupsock/IOHandlers.cpp \

UsageEnvironm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值