直播
文章平均质量分 61
直播技术开发交流
qq:2679481035 https://github.com/daniulive/SmarterStreaming 交流: http://wpa.qq.com/msgrd?v=3&uin=2679481035&site=qq&menu=yes
展开
-
nginx-rtmp-module 支持 Enhancing RTMP HEVC(H.265)
nginx-rtmp-module 支持 Enhancing RTMP HEVC(H.265)代码。原创 2024-01-25 17:29:10 · 907 阅读 · 0 评论 -
Android GB28181历史视音频文件检索
Android GB28181历史视音频文件检索代码实现细节, Android GB28181历史视音频文件检索接口;Android GB28181录像文件查询. Android GB28181录像文件下载.原创 2023-08-31 11:36:03 · 377 阅读 · 0 评论 -
Android GB28181视音频文件下载
Android GB28181视音频文件下载代码实现; Android GB28181视音频文件下载实现代码; Android GB28181视音频文件下载实现细节; 安卓 GB28181视音频文件下载协议实现;安卓 GB28181录像文件下载实现; 安卓 GB28181录像文件上传实现; 安卓国标录像文件上传实现。原创 2023-09-01 15:10:15 · 244 阅读 · 0 评论 -
安卓GB28181跨网段语音对讲
安卓GB28181语音对讲跨网段,安卓GB28181跨网段语音对讲, 安卓国标语音对讲跨网段,安卓国标跨网段语音对讲,安卓GB28181跨网段语音对讲方案探讨实现, 安卓GB28181语音对讲跨网段方案探讨实现.原创 2022-12-05 15:38:27 · 730 阅读 · 0 评论 -
安卓GB28181设备语音广播和语音对讲(Android GB28181 语音广播和语音对讲)实现
安卓GB28181设备语音广播和语音对讲(Android GB28181 语音广播和语音对讲) 信令流程以及代码实现.原创 2022-07-22 17:40:59 · 2986 阅读 · 0 评论 -
GB28181 安卓移动设备位置上报实现(订阅和通知实现)
GB28181中事件订阅和通知机制是基于RFC3265 中的SIP扩展方法SUBSCRIBE和NOTIFY实现的。代码实现之前,得先弄清楚相关协议,先说明RFC3265中的一些关键点.对于RFC3265更多细节,这里主要说明一些关键点:1.SUBSCRIBE请求中应该包含"Expires“头, 快到期的时候,需要在重新发送SUBSCRIBE刷新这个期限。2.SUBSCRIBE 2xx响应中也必须包含"Expires”,这个值可以比请求中的小,但不能比它大。3.SUBSCRIBE请求中"Exp原创 2022-03-17 17:51:57 · 5922 阅读 · 0 评论 -
安卓GB28181设备目录查询响应(Android GB28181)
GB28181设备目录查询采用RFC3428中的MESSAGE方法实现, 需要走有应答命令流程。完整的定义请参考GB28181标准,这里只列举代码实现中的一些细节问题:1.Message消息头中的Content-type必须是"Application/MANSCDP+xml".2.设备目录查询/应答命令采用 MANSCDP 协议格式定义.3.XML字符编码一般是GB2312, 安卓默认可能是UTF8, 具体要看服务端,有些服务端只支持GB2312,设备信息中的中文字符显示可能就是乱码, 安卓原创 2022-02-25 14:32:00 · 2769 阅读 · 0 评论 -
安卓设备接入GB28181(Android GB28181)
最近对安卓现有代码进行了扩展,支持了GB28181接入, GB28181协议实现分两块,一块是信令部分,一块是流媒体数据传输。下面分两部分进行展示: 信令接口:public interface GBSIPAgent { public void addListener(GBSIPAgentListener listener); /* * 设置SIP Server配置参数 * @param address SIP服务器地址, 如 192.............原创 2022-02-22 12:37:34 · 6684 阅读 · 27 评论 -
音频立体声转单声道(音频双通道转单通道)
有些场景可能需要音频双通道转单通道,下面是双通道S16交错格式转单通道S16格式的C++代码,实现比较简单,不多说直接上干货,Ctrl+CV拿走不谢~#include <stdint.h>#incudde <assert.h>void StereoToMonoPCMS16(const int16_t* src, int16_t* dst, size_t frames){ assert(src); assert(dst); assert(frames ...原创 2021-09-01 16:19:37 · 2745 阅读 · 0 评论 -
cmake增加-std=c++11,-std=c++14,-std=c++17选项
cmake生成makefile增加c++版本选项,命令如下:# 增加-std=gnu++11cmake . -DCMAKE_CXX_STANDARD=11 <path-to-source># 增加-std=gnu++14cmake . -DCMAKE_CXX_STANDARD=14 <path-to-source># 增加-std=gnu++17cmake . -DCMAKE_CXX_STANDARD=17 <path-to-source>...原创 2021-08-19 10:22:59 · 10789 阅读 · 0 评论 -
cmake 增加-fPIC选项 gcc
cmake生成makefile时候增加-fPIC选项很方面,命令如下: cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON<path-to-source>原创 2021-08-19 10:08:21 · 1833 阅读 · 0 评论 -
音频PCM float32到s16转换
对于linearPCM原创 2021-06-02 11:11:41 · 3431 阅读 · 0 评论 -
Windows搭建超低延时直播系统
直播系统主要由三部分组成, rtmp服务器+rtmp推送端+rtmp播放端. rtmp服务器: 目前流行的有nginx+rtmp,srs. nginx+rtmp可以部署在linux上,也可以编译编译到windows上。相对来说linux编译容易些。如果觉着windows编译麻烦,可以在windows上装个Ubuntu虚拟机,然后在虚拟机上编译部署也行. nginx 源代码下载 :h...原创 2018-05-23 13:16:20 · 3119 阅读 · 2 评论 -
关于H264 AUD Nal Unit type的说明
AUD其实就是用来分隔图像的,两个AUD之间是一个编码图像,解析Nal时,如果遇到AUD,说明后面是一个新的图像。AUD的NAL Unit type 值是9.nal_ref_idc 需要填0. 后面是AUD的详细说明,如果只是想知道他的作用,那么到此就可以了,后面的无需再看。1. 相关术语:access unit: A set of NAL units always containing exac...原创 2018-05-28 15:10:03 · 3862 阅读 · 0 评论 -
Windows下搭建低延时内置rtsp server的推送直播系统
在有些场景下,我们不想用rtmp服务器,觉着rtmp服务器安装部署维护麻烦, 也不想用互联网上的rtmp服务器,只想在要给局域网下搭建一个直播系统。那么就可以考虑rtsp直播方案. 首先下载主播端和播放端软件 https://github.com/daniulive/SmarterStreaming. 双击打开主播端软件, 按照图片说明进行配置: 做好基本配置后...原创 2018-06-22 11:00:54 · 4491 阅读 · 2 评论 -
解决mingw64 编译64位libvpx时 invalid register for .seh_savexmm 问题
在mingw64位上编译libvpx64位是报错, 解决办法: sed -i.bak 's|vpx_sad64x64x4d avx512|vpx_sad64x64x4d|' vpx_dsp/vpx_dsp_rtcd_defs.pl sed -i.bak 's|DSP_SRCS-$(HAVE_AVX512)|#DSP_SRCS-$(HAVE_AVX512)|' vpx_dsp/vpx_ds...原创 2018-07-16 21:53:20 · 2121 阅读 · 1 评论 -
直播系统中使用SEI传输用户自定义数据方案讨论
在直播系统中,除了音视频之外,有时候还想从主播端发布例如文本信息等,这些信息可以不通过视频传输通道发送给观用户播放端,但如果传输的数据想和视频保持同步,那最好的办法就是通过h264 sei方式把数据放入h264 Access Unit中传输。 H264 SEI 知识介绍: SEI 全称: Supplemental Enhancement Information S...原创 2018-07-07 17:34:59 · 4557 阅读 · 0 评论 -
rtsp播放h265(hevc)
对rtsp来说,要播放h265只要正确解析sdp和rtp包即可,这里分享下h265 sdp&rtp相关知识点,希望有用. 1.H265 Nal Unit Header 简单介绍: H264的Nal Unit头是一个字节,265变成两个字节: F: 1 bit. forbidden_zero_bit. 265要求是0,是1的话指示语法...原创 2018-07-25 18:59:59 · 10439 阅读 · 2 评论 -
rtsp h265 转 rtmp (rtsp hevc 转 rtmp)
rtsp h265 转 rtmp,首先要对rtmp协议做扩展,目前国内已有相应扩展标准,国内开发者基本上都按这个扩展协议做的。协议层问题已解决。剩下关键问题是要实现rtmp h265推送模块, 支持rtmp h265 的server, rtmp h265播放模块。 rtmp h265 server 支持, 目前常用的nginx-rtmp 和 srs还不支持rtmp ...原创 2018-10-17 11:02:04 · 2800 阅读 · 0 评论 -
Rtsp推送h264, Rtsp推送h265(hevc)
rtsp推送相关的资料和测试软件比较少,本文介绍rtsp推送相关信令和测试效果. 1. rtsp推送流程. 主要分两部分,第一部分先发送信令,第二部分发送rtp包. 信令流程: 1.1 先发送OPTIONS, options比较常用,就不做详细说明了。 1.2 发送ANNOUNCE, 发送ANNOUNCE主要是把要推送的音视频信息通过sdp格式传给服务器。关于...原创 2018-12-15 11:53:16 · 4977 阅读 · 0 评论 -
Unity3d(U3D) Windows/Android/IOS 播放rtmp/rtsp方案
如果基于Unity3d完全重新开发一个播放器,代价大,周期长,不适合快速出产品,最好的方式就是集成现有Native平台上的成熟稳定播放器.集成Navtive播放器可行性分析:安卓: Unity3d可以调用安卓java接口,这方面的例子很多,搜索能找到一大堆。IOS: Unity3d 可以调用C接口, c又可以调用object-c,那么C#--call-->C---call---object-...原创 2018-06-03 21:09:21 · 8301 阅读 · 4 评论