
智能安防系统开发
文章平均质量分 58
从零开始开发一套智能安防系统,包括国标GB28181平台接入,音视频编解码解析, 业务管理,监控客户端
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
lcyw
这个作者很懒,什么都没留下…
展开
-
使用exosip2-5.3.0 TCP方式无法监听端口。
在exosip2 5.3.0版本中使用接口eXosip_listen_addr监听TCP端口时,系统中查询不到指定端口被监听的任何信息。却查不到任何端口信息, 使用测试软件模拟tcp-client,来链接8060端口,因为无法链接。eXosip_listen_addr执行成功,返回值等于OSIP_SUCCESS。原创 2024-03-19 12:27:42 · 524 阅读 · 0 评论 -
openresty/lua 动态更新证书
先列个提纲,后面补充详细内容。原创 2023-10-09 20:09:29 · 266 阅读 · 0 评论 -
鲲鹏920(ARM64)移植javacpp
javacpp-1.5.3官方并没有提供arm64的产出包,我们需要在arm64机器上自己手动编译源码安装。而且javacpp编译脚本中提供的linux-arm64编译选项也只是针对嵌入式arm的交叉编译环境,需要根据arm64机器原生编译器进行修改适配。另外,脚本中的GCC编译选项,使用了特定的CPU架构和型号来提高性能,都需要重点关注。例如:-march=armv8-a+crypto:是针对ARMv8-A 架构和特性的CPU架构进行优化。原创 2023-09-06 11:15:04 · 706 阅读 · 0 评论 -
mac下使用NDK21 Clang编译x264
从x264官网:https://www.videolan.org/developers/x264.html下载x264源码,进入x264源码目录下执行 ./configure --help 查看编译选项说明Standard options: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=E原创 2020-09-22 00:04:39 · 1113 阅读 · 1 评论 -
cmake 操作protobuf实例
最后给可执行文件链接protobuf库。查找并链接protobuf。原创 2023-07-27 15:49:38 · 421 阅读 · 0 评论 -
ffmpeg编译链接错误
编译脚本参见 官方文档。原创 2023-05-19 22:20:50 · 942 阅读 · 0 评论 -
mac M2下使用NDK25 clang编译ffmpeg
ffmpeg ndk android原创 2023-04-25 10:58:35 · 571 阅读 · 0 评论 -
Faac 编码实时pcm流到aac流 并用mp4v2打包成mp4文件
由于项目需要, 需要将g711实时音频流原创 2014-10-30 17:24:03 · 6909 阅读 · 3 评论 -
在YUV图像上根据背景色实现OSD反色
所谓的OSD其实就是在视频图像上叠加一些字符信息,比如时间,地点,通道号等,在图像上叠加OSD通常有两种方式, 一种是在前端嵌入式设备上,在图像数据上叠加OSD, 这样客户端这边只需解码显示数据即可。另一种是PC客户端在接收到前端设备图像,解码之后,进行叠加。这两种都是比较常见的方式。最近做一个网络播放器, 有在播放器实时叠加OSD这个需求,正好借这个机会研究了一下。先说下大体流程,首先,播...原创 2016-10-17 18:52:37 · 5686 阅读 · 1 评论 -
音频编解码基础知识
PCM基础知识PCM是指未经过压缩的原始声音脉冲信号数据,它主要通过采样率、采样格式(比如每个采样点是8位、16位、32位等)、声道数来描述。在FFmpeg中有两种表示PCM数据包的模式,分别是planer和packed模式,那么它们有什么区别呢?其中packed又叫做交错模式,而planer又叫平面模式,所谓交错或平面就是不同声道的声音信号排列储存的方式,例如对于一个双声道的PCM数据来说, 用packed模式表示是这样子的:用L表示左声道数据,用R表示右声道数据LRLRLRLRLRLRLRLR原创 2022-04-20 19:21:39 · 1964 阅读 · 0 评论 -
源码安装最新版本git
官网下载源码包来安装,最新源码包下载地址:https://git-scm.com/downloadNote:不要用yum安装git, yum源安装git最新版本是1.8.3,该版本太老,之后用git commit 有可能会报错:git: ‘interpret-trailers’ is not a git command. See ‘git --help’.cannot insert change-id line in .git/COMMIT_EDITMSG必须安装更新版本,比如git-2.12.2原创 2022-04-08 20:32:14 · 1645 阅读 · 0 评论 -
OpenCV视频质量诊断----视频遮挡诊断
视频遮挡诊断把彩色图像二值化,偏黑的部分为前景,其他部分为背景。对前景进行连通区域检测,求得最大连通区域面积。该面积整幅图像面积的比较即为遮挡率c++语言实现//视频遮挡诊断double occlusion(const cv::Mat &src , double meanValue) { bool IsCovered = false; Mat gray; cvtColor(src, gray, CV_BGR2GRAY); Mat binary; threshold(gr原创 2021-09-24 15:36:21 · 2546 阅读 · 0 评论 -
OpenCV视频质量检测--清晰度检测
void img_to_gray(const char * src) { cv::Mat image = cv::imread(src); if (image.empty()) { return ; } cv::Mat gray_img; cv::cvtColor(image,gray_img,COLOR_BGR2GRAY); cv::imwrite("gray.png",gray_img); //LOG_INFO("convert原创 2021-09-24 15:33:51 · 1281 阅读 · 0 评论 -
GB28181之SIP协议
[RFC3261]SIP概括会话初始协议(Session Initiation Protocal, SIP)。SIP是一个应用层的信令控制协议,主要目的是在 IP 网络中建立、修改和释放多媒体会话的应用层协议。其主要的应用包括但不局限于语音、消息、视频、呼叫控制等。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。1. 什么是Proxy模式?按照RFC3261中的定义,Proxy服务器是一个中间的实体,它本身即作为客户端也作为服务端,为其他客户端提供请原创 2021-06-18 16:28:42 · 2691 阅读 · 1 评论 -
GB28181的NAT穿透
国标gb28181内网穿透因为我们这个项目是内网到外网,再从外网到内网,有内网穿透的情况,内网映射到外网的端口会发生改变,所以要有一套机制来做穿透,因为国标是基于sip协议的,sip下做内网穿透的事rport机制,如果发送的请求不带rport标识就是不启用这套机制,所以在外网到内网时会出问题。因为内网的头在发送信息到公网上会经过一个网关,网关会使用nat协议转换内网的端口,这个映射到公网上的端口可能和内网的一致,也有可能不一致!而刚好在我方的网络里这个端口恰巧一致了!而对方的不一致。https://bl原创 2021-05-18 16:59:31 · 3650 阅读 · 0 评论 -
【git】git: ‘interpret-trailers’ is not a git command. See ‘git --help’
cents 7.6系统. yum源安装git最新版本是1.8.3报错:git: 'interpret-trailers' is not a git command. See 'git --help'.cannot insert change-id line in .git/COMMIT_EDITMSG解决:git add xxxgit commit -m "xxx"然后修改vim .git/hooks/commit-msg#if test -n "${reviewurl}" ; th原创 2022-04-08 20:28:24 · 4400 阅读 · 0 评论 -
【C++】 map和vector的erase函数说明
一、std::map erase 函数声明这里首先要注意,C++98 和c++11 针对map的erase函数有不同的函数原型,这往往是出现问题的关键所在。参考如下链接:http://www.cplusplus.com/reference/map/map/erase/C++98(1) void erase (iterator position);(2) size_type erase (const key_type& k);(3) void erase (iterator first,原创 2021-03-12 19:48:14 · 766 阅读 · 0 评论 -
音视频、编解码相关电子书、小工具,打包奉送!
编解码相关流媒体协议标题调试工具扫码关注 【音视频开发训练营】公众号,后台回复8899获取网盘链接。原创 2021-04-25 15:32:46 · 403 阅读 · 0 评论 -
H264编码profile & level控制
H.264有四种画质级别,分别是baseline, extended, main, high:从低到高分别为:Baseline、Main、High。Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;(用的少)Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交原创 2021-03-25 18:47:41 · 569 阅读 · 0 评论 -
h265 Nalu类型判断及 sps 数据解析
无原创 2017-05-15 19:39:50 · 43919 阅读 · 10 评论 -
【HEVC学习与研究】
【HEVC学习与研究】1、HEVC概览(1)【HEVC学习与研究】2、HEVC概览(2)【HEVC学习与研究】3、HEVC概览(3)【HEVC学习与研究】4、关于IEEETCSVT的HEVCSpecialSection【HEVC学习与研究】5.HEVC综述(第一部分)【HEVC学习与研究】6.HEVC综述(第二部分)【HEVC学习与研究】7.HEVC参考代码HM10.原创 2016-11-25 17:43:31 · 2594 阅读 · 5 评论 -
VLC播放RTP封装的h264,PS,TS流的SDP写法
VLC播放RTP封装的h264,PS,TS流的SDP写法一,H264使用ffmpeg等工具将h264数据打包成RTP发送到指定地址和端口,然后使用vlc在该地址进行接收播放,需要注意一下SDP中m行和rtpmap的写法v=2 c=IN IP4 192.168.1.150m=video 6000 RTP/AVP 96a=rtpmap:96 H264t=0 0 a=framerate:25二,PSv=2 a=framerate:25c=IN IP4 192.168.1.150m=原创 2020-07-06 11:35:40 · 2517 阅读 · 1 评论 -
win10下使用msys+vs2019编译ffmpeg源码
win10下使用msys+vs2019编译ffmpeg源码安装msys2安装MSYS2编译FFMPEG所需的依赖安装GCC启动msys2编译ffmpeg编写测试代码安装msys2去MSYS2官网下载MSYS2工具安装MSYS2编译FFMPEG所需的依赖依次安装以下工具(安装的过程中可能出错,可能原因是没有安装最新的MSYS2工具,比如会提示key过期等,我在安装的过程中遇到了很多问题,但是忘记记录下来了。这个需要朋友自己去网上查找资料了)pacman -S nasm #汇编工具pacman原创 2022-04-18 00:56:49 · 2784 阅读 · 0 评论 -
ffmpeg 音频相关命令
使用rtsp协议推送g711音频ffmpeg -re -i test.flv -vcodec copy -acodec pcm_alaw -f alaw -ac 1 -ar 8000 -f rtsp -rtsp_transport tcp -y "rtsp://192.168.1.196/live/stream" 提取mp4文件音频,并保存pcm为文件ffmpeg -y -i oceans.mp4 -vn -acodec pcm_s16le -f s16le -ac 1 -ar 8000原创 2021-11-29 15:28:07 · 511 阅读 · 0 评论 -
ffmpeg常用命令(二)
- ffmpeg截图ffmpeg -i rtmp://192.168.1.16:8935/app/ -loglevel quiet -y -f mjpeg -t 0.001 test.jpgfmpeg 改变视频分辨率ffmpeg -i input.avi -vf scale=320:240 output.avi -hide_banner- 使用rtp方式推流h264推流ffmpeg -re -i "test.mp4" -vcodec h264 -acodec aac -f rtp_mpeg原创 2021-08-02 11:22:53 · 445 阅读 · 0 评论 -
ffmpeg 错误码
ffmpeg 中的错误码定义在如下文件中:#include <libavutil/error.h>使用如下的定义方式,#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d))#define AVERROR_BUG FFERRTAG( 'B','U','G','!') ///< Internal bug, also see AVERROR_BUG2#define AVERROR_EOF原创 2021-04-16 12:56:13 · 1456 阅读 · 0 评论 -
ffmpeg常用命令(一)
1、 ffmpeg 拉取rtmpffmpeg -i rtmp://192.168.1.28:8935/live/11 -c copy -f rawvideo -y /dev/null2、 ffmpeg使用tcp拉流 rtsp ffmpeg -rtsp_transport tcp -i rtsp://192.168.0.172:8554/bb.264 ./bbo.264 ffmpeg -rtsp_transport tcp -i rtsp://admin.......”3、ffmpeg拉取原创 2021-02-25 14:45:23 · 1880 阅读 · 0 评论 -
ffmpeg拉取rtsp写入MP4
代码基于ffmpeg4.2流程初始化打开文件 avformat_open_input查找流信息 avformat_find_stream_info枚举 音视频索引打开解码器 avcodec_find_decoder打开输出文件 avio_open写文件头 avformat_write_header读取视频流 av_read_frame时间戳处理写数据 av_interleaved_write_frame关闭输入 avformat_close_原创 2021-02-23 20:14:57 · 1929 阅读 · 0 评论 -
RTP-RTCP协议分析
一.RTP协议背景流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet上获取音频和视频等多媒体数...原创 2019-08-22 15:59:14 · 603 阅读 · 1 评论 -
RTP/RTCP协议解析
RTP协议实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC3550中进行更新。 国际电信联盟ITU-T也发布了自己的RTP文档,作为H.225.0,但是后来当IETF发布了关于它的稳定的标准RFC后就被取消了。它作为因特网标准在 [...原创 2016-07-09 21:04:26 · 22652 阅读 · 0 评论 -
RTP协议解析----Header扩展数据
参考RFC3550中关于rtp扩展头的定义5.3.1 RTP Header ExtensionAn extension mechanism is provided to allow individual implementations to experiment with new payload-format-independentfunctions that require additional information to be carried in the RTP data packe.原创 2020-06-15 14:04:04 · 1975 阅读 · 0 评论 -
WEB浏览器视频流播放方案
基于Media Source Extensions播放视频流浏览器播放视频的几种方法一、H5 video标签在浏览器播放视频,可以使用HTML5原生的video标签。但其播放的格式使用一定限制的,目前video只支持三种格式WebM、Ogg、MP4。WebM:WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器Ogg :Ogg 文件使用 Theora 视频编解码器和 Vorbis音频编解码器MP4: MPEG 4文件使用 H264 视频编解码器和AAC音频编解码器上面三种原创 2021-02-22 20:22:16 · 2136 阅读 · 1 评论 -
网络视频监控系统开发系列------RTP包结构解析
RTP包头前12个固定字节机构图:0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 11)V:RTP协议的版本号,占2位,当前协议版本号为22)P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。...原创 2016-06-21 12:26:57 · 2321 阅读 · 0 评论 -
RTSP中的RTP over TCP
通常来说,RTSP提供UDP方式发送RTP流。当然,发送流媒体时,UDP往往是更好的选择。下面是使用UDP时的一些问题:UDP协议上的RTSP/RTP需要打开许多UDP端口(每一路流媒体都需要2个UDP端口,一个用于接收数据,一个用于接收控制信息);当因特网上的路由器没有打开这些端口的时候,第一点将会存在问题;中间网络路由器很容易就过滤或者忽略掉UDP数据包;UDP是不可靠传输协议,媒体包......原创 2016-08-10 15:29:03 · 12175 阅读 · 1 评论 -
网络视频监控系统开发系列------SDP协议解析
SDP协议一、SDP协议介绍SDP 完全是一种会话描述格式(对应的RFC2327) ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持...原创 2016-07-10 22:00:35 · 19829 阅读 · 0 评论 -
流媒体传输协议详解之---RTSP认证
Rtsp认证主要分为两种:基本认证(basicauthentication)和摘要认证(digestauthentication )。基本认证是http 1.0提出的认证方案,其消息传输不经过加密转换因此存在严重的安全隐患。摘要认证是http 1.1提出的基本认证的替代方案,其消息经过MD5哈希转换因此具有更高的安全性。下面主要介绍摘要认证:1.基本认证.........原创 2016-08-04 19:19:47 · 15738 阅读 · 1 评论 -
关于SDP协议的一些经验教训
SDP定义sdp协议参考 : RFC4566SDP Specification An SDP session description is denoted by the media type "application/sdp" (See Section 8). An SDP session description is entirely textual using the ISO 10646 character set in UTF-8 encoding. SDP fie原创 2020-10-26 20:52:46 · 524 阅读 · 0 评论 -
h264基础及rtp分包解包
一、 h264基础概念SODB: 数据比特串-->最原始的编码数据RBSP: 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。EBSP: 扩展字节序列载荷– >在RBSP基础上填加了仿校验字节(0X03)它的原因是: 在NALU加到Annexb上时,需要填加每组NALU之前的开始码 StartCodePref原创 2016-08-09 18:45:04 · 14092 阅读 · 8 评论 -
PS流格式解析
概念:将具有共同时间基准的一个或多个PES组合(复合)而成的单一的数据流称为节目流(Program Stream)。ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。构成:PS包由包头、系统头、PES包3部分构成。包头由PS包起始码、系统时钟基准(SCR-System Clock Reference)的基本部分、SCR的扩展部分和PS复用速率4部分组成。针对H264 的下PS 封装:每个IDR NALU 前原创 2020-09-08 18:10:25 · 810 阅读 · 0 评论 -
GB28181录像回放
抓包请求回放视频s–>cINVITE sip:34020000001310000001@3402000000 SIP/2.0Via: SIP/2.0/UDP 192.168.1.16:5060;rport;branch=z9hG4bK943627414From: <sip:34020000002000000001@3402000000>;tag=302627414To: <sip:34020000001310000001@3402000000>Call-ID:原创 2020-10-13 23:59:12 · 3134 阅读 · 1 评论