LiveRTMP
文章平均质量分 69
jinlong0603
这个作者很懒,什么都没留下…
展开
-
LiveRTMP CPU占用问题调优(一)
EasyRTMP 前面介绍过EasyRTMP是高效的跨平台的RTMP推送库,内部rtmp协议部分使用了librtmp( RTMPDump Real-Time Messaging Protocol API)。libEasyRTMP的基本操作 RTMP_Alloc() :用于创建一个RTMP会话的句柄。 RTMP_Init():初始化句柄。 RTMP_SetupURL():设置会话原创 2016-10-27 22:48:27 · 1442 阅读 · 0 评论 -
LivePush实现安卓Android手机直播推送同步录像功能(源码解析)
我们之前说到,音视频可能在不同的线程进行采集的,因此可能会有不同步的情况,比如音频已经开始了,视频还没出来。从代码可以看到,在音频和视频都添加成功后会自动启动录像,这样做的好处是应用层的音视频的处理完全可以独立,不用操心录像的事情,减少了代码耦合性。同时,这个函数会判断是否已经达到了最大文件时长,是的话,会更换文件再存储。LivePush用来实现录像的类,该类对安卓系统的MediaMuxer进行了一些封装,专门对从MediaCodec编码出来的音视频数据进行录像,同时实现了录像自动分段存储的功能。原创 2017-03-01 09:03:50 · 1749 阅读 · 0 评论 -
LivePush视频直播推送中对H264帧类型判断
H264H264在网络传输的是NALU,NALU的结构是:NAL头+RBSP,实际传输中的数据流如图所示: 其中NAL头占一个字节,其低5个bit位表示NAL type,具体如下表: NAL type NAL类型 0 未使用 1 非IDR的片 2 片数据A分区 3 片数据B分区 4 片数据C分区 5 IDR图像的片 6 补充增强信息单元原创 2017-04-14 17:22:02 · 3170 阅读 · 0 评论 -
LiveRTMP之H264 SPS解析宽高不正确导致播放时画面拉伸的问题修复(五)
LiveRTMP是将H264流以及AAC流以RTMP协议推送到RTMP服务器上进行直播。LiveRTMP推送库中会从H264流中提取中SPS、PPS进行解析,开发的时候遇到过有些SPS解析有误,获取到的宽高不正确,导致播放的时候画面被拉长的问题。下面给出一份比较完善的SPS解析。解析SPS数据,得到h264_sps_t结构的数据。技术交流QQ群:615081503。咨询电话:15156896292。原创 2016-11-12 13:30:58 · 814 阅读 · 1 评论 -
LiveRTMP之rtmp流flash播放器无法正常播放问题解决(二)
问题简介 EasyRTMP是EasyDarwin团队开发的一套简单易用的RTMP推送SDK。本文想讲述下开发过程中遇到的一个问题。问题的现象是使用EasyRTMP推送音视频流到自己搭建的nginx-rtmp服务器,使用ffplay和vlc播放器都能够正常播放,但是使用网页flash播放时,总是会卡住,无法正常播放。问题解决 开始时有些疑惑,因为ffplay在播放时都没有提示任务警告等异常信原创 2016-10-28 23:19:10 · 6795 阅读 · 0 评论 -
LiveRTMP 之RTMP直播高效推送缓冲区
EasyRTMP的推送缓冲区设计EasyRTMP内部也同样采用的环形缓冲的设计方法,将音视频数据都同时存入缓冲区,再由发送者从缓冲区中获取数据进行发送,这样就形成了一个异步、生产者、消费者的过程,上层调用者只需要将采集、编码后的音视频Frame数据Push到SDK的缓冲区中,即可返回继续进行上层逻辑操作,SDK内部的发送线程则从缓冲区中不断获取音视频数据推送到流媒体服务器;EasyRTMP缓冲区缓冲原创 2016-10-31 20:52:00 · 2165 阅读 · 0 评论 -
LiveRTMP 简单高效的RTMP推送库
EasyRTMP 简单高效的RTMP推送库EasyRTMP介绍 EasyRTMP是EasyDarwin团队开发的一套支持Windows、Linux、arm、Android、iOS等各种平台的 高效RTMP推送库。接口调用非常简单,Gitbub上有相关Demo代码,地址:https://github.com/EasyDarwin/EasyRTMP。EasyRTMP DemoGithub上Easy原创 2016-10-26 22:20:49 · 2794 阅读 · 0 评论 -
LiveRTMP推送RTSP视频源进行RTMP直播
EasyRTMP EasyRTMP封装了RTMP协议,提供了一套非常简单易用的接口调用SDK,Github上有多个基于EasyRTMP SDK的Demo。Git地址:https://github.com/EasyDarwin/EasyRTMP, Demo中EasyRTMP_RTSP项目是将RTSP流获取到本地进行RTMP推送,可进行RTMP直播。RTSP视频源进行RTMP直播 目前安防项目原创 2016-10-27 23:26:33 · 7944 阅读 · 0 评论 -
LiveRTMP Android采集AAC流进行RTMP推送
EasyRTMP Android版demo中,通过使用AudioRecord录音,然后将每一帧数据通过MediaCodec编码成LATM格式音频,然后就发送给服务器就OK了原创 2016-10-29 11:10:21 · 1068 阅读 · 0 评论 -
LiveRTMP之MP4文件进行rtmp点播直播推送(三)
前面已经介绍过EasyRTMP,这里不再多说,可以网上搜索相关内容。本文讲述下基于libEasyRTMP推送库实现的MP4文件的直播推送。Github中Demo的下载地址https://github.com/EasyDarwin/EasyRTMP。Demo中EasyRTMP_FILE的工程是将MP4文件进行解析推送。主要使用MP4Demux进行解析,分别获取到音频流和视频流,再利用libEasyRT原创 2016-10-29 16:12:33 · 3720 阅读 · 1 评论 -
LiveRTMP之对接海康、大华等IPCamera SDK进行RTMP直播推送
Demo项目介绍EasyRTMP Demo代码下载地址https://github.com/EasyDarwin/EasyRTMP 本文介绍Demo中EasyRTMP_SDK的项目。该项目是通过调用IP Camera自己的SDK获取到音视频流,然后通过libEasyRTMP推送到RTMP服务器进行直播。这样就可以将普通的不支持RTMP的IP Camera接入RTMP服务器进行直播推送。该Demo程原创 2016-10-29 20:06:55 · 4809 阅读 · 0 评论