将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73253044
前言
安防互联网化的需求已经越来越强烈了,传统的安防摄像机都想进行一些互联网化的直播(网页或者微信直播),也就是RTMP和HLS直播,那么在技术实现上就是各种SDK/RTSP流拉取,再转成RTMP推流到RTMP服务器进行RTMP直播和HLS切片了,今天我们要讲的就是比较通用的RTSP拉流,然后再转推流RTMP的功能实现,在Github:https://github.com/EasyDarwin/EasyRTMP 中的EasyRTMP_RTSP早已经实现了在Windows/Linux上的RTSP流转RTMP流,包括了各种中间解析、断线重连的功能,本讲就是实现的Android平台的RTSP转RTMP的功能实现;
介绍
目前安防行业很多IP Camera只提供了RTSP播放地址,不支持RTMP协议,很难接入目前流行的互联网直播中来。就需要一个程序或工具能够将实时RTSP流转成RTMP推送。EasyDarwin团队提供过EasyRTMP_RTSP的Demo(下载地址https://github.com/EasyDarwin/EasyRTMP),这个Demo能够实现我们的需求将RTSP地址的IP Camera接入各种RTMP的互联网直播平台。可惜的是只提供了Windows和Linux的编译,没有Android平台的。
EasyRTMP_RTSP Android
为了实现在Android平台也能拉取RTSP流转成RTMP推送。这里同样使用了EasyRTSPClient android平台的库拉取RTSP流到本地并解码成H264视频帧和音频数据帧,同步使用EasyRTMP Android将这些视频帧封装成RTMP格式并推送。
因为不涉及到音视频数据解码及上屏,只是RTSP数据的解封装,再重新封装成RTMP格式,所以效率还是挺高的。
下载
APP下载:https://fir.im/EasyRTMPRTSP
Demo代码:https://github.com/jinlong0813/EasyRTMP_RTSP
获取更多信息
QQ交流群:587254841
Copyright © EasyDarwin.org 2012-2017
将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能的更多相关文章
- Windows下将ImageMagick移植到Android平台
Windows下将ImageMagick移植到Android平台 原文链接 http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...
- 基于Cocos2d-x-1.0.1的飞机大战游戏迁移到Cocos2d-x-3.0版本,并移植到Android平台成功运行
一.版本迁移中的问题 1.游戏元素Sprite.Label.Action等等的创建函数名都改为create. 2.函数的回调callfunc_selectorcallfuncN_selectorcal ...
- J2ME项目移植到Android平台六大注意事项
很多J2ME项目如何移植到Android平台呢?Java虽然号称是跨平台应用但是目前的移植问题还是比较严重的,不知道未来Sun推出JavaFx或F3时会出现什么问题,如何从J2ME移植到Android ...
- Unity3D之移植学习笔记:移植到Android平台更好的方法
接上文,之前我们采用了直接将Unity项目导出为Eclipse项目来修改的方式,这种做法存在的一个最大的问题就是:每当Unity被修改之后,都需要重新导出,而每次导出的项目在Android平台方面的J ...
- Unity3D之移植学习笔记:移植到Android平台
首先,我们需要一台已经配置好可以开发Android应用的计算机,这里我使用的是Windows系统+Eclipse+ADT的开发环境,当然也可以使用Android Studio或者使用Mac系统都可以. ...
- 将 FFmpeg 移植到 Android平台 (完整版)
首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...
- FFmpeg 学习(三):将 FFmpeg 移植到 Android平台
首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...
- Cocos2dx开发游戏移植到Android平台
第一步:安装配置安卓SDK,下载NDK并解压,下载cygwin并安装 第二步:导入platform文件夹下,android文件夹下java文件夹 在eclispe的windows--pereferen ...
- Cocos2d-x游戏移植到Android平台
1.所需环境支持:Android SDK.NDK.Eclipse.Cygwin.(本人所用系统WIN7-64位) (1)Cygwin的下载安装: Cygwin是Windows下的Linux模拟环境,用 ...
随机推荐
- linux消息队列应用编程
消息队列: 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 消息队列也有管道一样的不足,就是每个消息的 ...
- MR案例:外连接代码实现
[外连接]是在[内连接]的基础上稍微修改即可.具体HQL语句详见Hive查询Join package join.map; import java.io.IOException; import java ...
- dp之最长上升子序列
普通做法是O(n^2)下面介绍:最长上升子序列O(nlogn)算法(http://blog.csdn.net/shuangde800/article/details/7474903) /* HDU 1 ...
- 爬虫框架Scrapy之案例三图片下载器
items.py class CoserItem(scrapy.Item): url = scrapy.Field() name = scrapy.Field() info = scrapy.Fiel ...
- window_onload和body_onload
onload 事件 Event 对象 定义和用法 onload 事件会在页面或图像加载完成后立即发生. 语法 onload="SomeJavaScriptCode" 参数 描述 S ...
- STL list用法总结
2017-08-20 15:17:30 writer:pprp list是一种线性复杂度的容器,很快 /* name : usage of List writer : pprp declare : n ...
- Oracle函数中文转拼音(首字母)
CREATE OR REPLACE FUNCTION FUN_GET_PYCODE(p_str IN VARCHAR2, p_flag NUMBER DEFAULT NULL) RETURN VARC ...
- Springboot依赖注入笔记
结合Autowired和Service注解 public interface IUser { void say(); } @Service public class Student implement ...
- php redis 秒杀demo
$redis = new Redis(); $redis->connect("127.0.0.1", "6379"); $redis->select ...
- mysql数据库优化课程---18、mysql服务器优化
mysql数据库优化课程---18.mysql服务器优化 一.总结 一句话总结: 1.四种字符集问题:字符集都设置为utf-82.slow log慢查询日志问题3.root密码丢失 1.mysql存在 ...