![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
视频
文章平均质量分 57
wgg_126
这个作者很懒,什么都没留下…
展开
-
国网B接口 视频对接
国网B接口 视频对接 国网(国家电网)B接口 这块的资料很少,正好项目碰到国网B接口视频对接需求,开发完成后觉得写一篇文章,方便后来者。国网B接口视频对接 分两块:一是跟B接口设备对接,二是 跟上级B接口平台对接(在电科院过检时两项功能都需要)。本来主要讲述 跟B接口设备对接这一块。 首先配置B接口 设备(摄像机或者NVR)海康B接口设备配置界面如下: ...原创 2022-05-18 12:58:02 · 307 阅读 · 0 评论 -
windows 下编译64位ffmpeg
window下如何编译ffmpeg 前文已有介绍,前面介绍的都是如何编译32位的库,本文主要介绍window下如何编译64位ffmpeg库。一.搭建编译环境 1.下载 windows下编译64位Ffmpeg 需用到Msys及MinGW-w64.首先将他们下载下来,下载地址如下:MinGW-w64:https://sourceforge.net/projects/mingw-w64/files/latest/downloadMsys:https://sourceforge...原创 2021-04-03 10:32:51 · 387 阅读 · 0 评论 -
Ffmpeg 探测输入源类型
本文主要记录ffmpeg探测输入源的几个点,方便以后查阅代码。虽然项目时间很赶,还是找个时间做个记录,好记性不如备忘录,时间久了终是会忘记。Ffmpeg版本为4.0.2,版本很重要,Ffmpeg前后版本差距很大。以264为例,探测输入源视频是否是H264编码的代码在h264dec.c文件中,该文件在libavformat目录下。文件内容不多,截图如下。 图1 h264dec...原创 2021-04-03 10:31:58 · 292 阅读 · 0 评论 -
Application provided invalid, non monotonically increasing dts to muxer in stream
很多同学在使用Ffmpeg过程中都遇到Application provided invalid, non monotonically increasing dts to muxer in stream错误,报这个错误的原因是视频源时间戳出问题了,Ffmpeg要求视频源时间戳递增,如不后面的视频包时间戳比之前的时间戳小,ffmpeg会选择丢弃此类视频包,并报如上错误。如何解决这个问题,方法1是重新给视频包打时间戳可以重0开始依次递增,方法2是去掉ffmpeg的这个限制。如需交流可加...原创 2021-04-03 10:31:03 · 2421 阅读 · 4 评论 -
Ffmpeg音频转码 卡顿(MP2转AAC)
最好经手一个小的功能将mp2实时流转成AAC并发布成rtmp音频流,本身不是很难的一个需求,一个晚上就能将功能开发好。功能开发完毕后,找来一音频文件利用Ffmpeg命令将音视频文件推成实时udp格式音频流,具体的推送命令是: 1 ffmpeg.exe -r -i F:\test.mp2 -acodec copy -f mp2 udp://127.0.0.1:1234 测试程序以udp://127.0.0.1:1234为输入源,rtmp://127...原创 2021-04-03 10:30:24 · 1126 阅读 · 0 评论 -
PJISP 修改 消息头Fromto字段
PJISP 修改 消息头Fromto字段 项目需求,需要修改sip信令消息头中Fromto字段,完成此功能需要修改sip库(PJSIP)源码,具体如下: PJSIP 消息头 Formto 字段默认的格式是sip:平台@平台IP地址,例如sip:34020000001320000001@192.168.1.64如要修该消息该字段,比如加上Port ,需要修改宏定义PJSIP_ALLOW_PORT_IN_FROMTO_HDR的值,默认是0改成1即可。该宏在 sip_config.h中...原创 2021-04-03 10:29:41 · 269 阅读 · 0 评论 -
PJSIP dialog inv销毁
PJSIP dialog inv销毁 PJSIP的Diaglog(类型为pjsip_dialog) 可以被外部调用,同时PJSIP有自己的机制销毁用户创建的Dialog,如PJSIP内部销毁了某个Diaglog,用户在不知情的情况下继续使用该Dialog,可能会导致程序崩溃。具体效销毁的过程:PJSIP在inv_set_state方法检测Dialog关联的inv(类型为pjsip_inv_session)状态,inv状态为PJSIP_INV_STATE_DISCONNECTED时 ...原创 2021-04-03 10:28:59 · 132 阅读 · 0 评论 -
H265 Rtp封包
H265 Rtp封包可以参考Ffmpeg,具体实现在文件rtpenc_h264_hevc.c(4.0.1版本),核心的方法是nal_send这个方法有些绕,下面帖子具体的代码及注释。static void nal_send(AVFormatContext *s1, const uint8_t *buf, int size, int last){ RTPMuxContext *s = s1->priv_data; enum AVCodecID codec = s1->原创 2021-04-03 10:28:21 · 316 阅读 · 0 评论 -
PJSIP Socket 模型
前些日子为解决项目中问题调试到PJSIP Socket收发数据部分 ,好记性不如烂笔头,记录下PJSIP 使用的Socket 模型 ,以备后用。 不同平台下PJSIP采用不同的 Socket模型,Windows系统下采用了 完成端口模型,linux系统下兼容Select及EPoll模型,通过配置项进行选择,配置时加上--enable-epoll 选择EPoll模型,默认选择Select模型。 如需交流可加QQ群1038388075,766718184 或者QQ3...原创 2021-04-02 11:17:19 · 96 阅读 · 0 评论 -
几个FFmpeg 视频参数 fps、tbr、tbn、tbc
几个FFmpeg 视频参数 fps、tbr、tbn、tbc我们用Ffplay播放文件或者视频流命令行会出现fps、tbr、tbn、tbc等参数如下图所示 图1 ffplay 播放文件示意图fps表示平均帧率,总帧数除以总时长(以s为单位)。tbr 表示帧率,该参数倾向于一个基准,往...原创 2021-04-02 11:16:28 · 2484 阅读 · 0 评论 -
PJSIP库设置Via地址
好记性不如烂笔头,解决项目问题,调试代码跟踪到PJSIP 设置Via地址位置,记录下来,以备后用。PJSIP库在方法stateless_send_transport_cb中设置Via地址值,该方法在文件sip_util.c中,具体位置如下图所示: 图1 设置via地址位置如需交流可以加入QQ群 ...原创 2021-04-02 11:15:20 · 202 阅读 · 0 评论 -
Ffmpeg AAC 编码错误 Input contains (near) NaN/+-Inf
Ffmpeg AAC编码 如果传入参Frame的Sample Format 为AV_SAMPLE_FMT_S16,会出现错误提示 Input contains (near) NaN/+-Inf,需要将Frame的Sample Format 设置为AV_SAMPLE_FMT_FLTP小小错误,有时会折腾人,希望后来者少走弯路。 如需交流可加QQ群1038388075,766718184 或者QQ3501870...原创 2021-04-02 11:14:29 · 1148 阅读 · 0 评论 -
Gitblit 添加密钥实现客户端无密码pull、push代码
之前管理代码用的是SVN,项目需要将管理代码软件切换为Git 折腾了一天,记录下遇到的小坑,方便后来人。服务端 服务端 的系统是Windows Sever2008 ,首先在服务端安装window版本的gitblit,具体的安装方法教程很多,可以参考这篇博文https://www.cnblogs.com/ucos/p/3924720.html,这篇文章写的很详细,初学者详细为王。需要注意的是启动gitblit 文章的方法是双击批处理文件,我这里需要打开命令行并cd 到文件gitb...原创 2021-04-02 11:13:44 · 344 阅读 · 0 评论 -
Window下编译 64位ffmpeg 引入libx264及libmp3lame编码库
好记性不如烂笔头,每次编译总要有些时间折腾,记录下编译过程,方便后来者。 本文 介绍windows下编译64位Ffmpeg库 (版本V4.02)如何引入libx264及libmp3lame(编码mp3)库。编译环境选择MinGW64。MinGW64如何安装可参考前面的文章https://www.cnblogs.com/wanggang123/p/9896564.html一.. 编译x264库,如需要ffmpeg支持h264编码编译时需要将它添加进来。编译x264库相对容易,一次搞定。...原创 2021-04-02 11:12:42 · 896 阅读 · 0 评论 -
VideoJs 播放实时Hls问题
项目中使用VideoJS 播放流媒体服务转码的Hls出现异常现象。经测试:下级国标平台推送的国标设备流都未出现问题,下级国标平台将Rtsp流转码为国标流推送至国标上级平台时,出现部分视频流转码为Hls流只能显示一帧画面,经过调试最终定位到问题。问题出在有些前端设备输出的视频流时间戳不标准,没有严格单调递增。VideoJS接收的的第二个视频包的时间戳如小于第一个视频包的时间戳即判断视频源异常。通过修改前端设备时间戳问题得以解决。不得不说的是作为播放器VideoJs的容错机制真的很一般。如.原创 2021-04-02 11:10:43 · 685 阅读 · 0 评论 -
GB28181平台对接记录-定位视频无法播放问题
GB28181平台对接记录-定位视频无法播放问题 发生了过多次这样的事情,于是决定写一篇简短的博客来说明这个问题。以后有客户再问,可以邀请他直接看这篇文章,清楚明了点。 我们的国标平台作为国标上级平台经常会跟海康、大华、东方网力平台做对接(他们是国标下级平台),部署的环境基本都在内网(大部分是在公安系统内部,也有在政府部门,还有就是在客户的公司)。客户在在使用我们国标平台时有时会出现视频播放不了的情况,基本上前期客户一看不到视频就会想到是我们平台的问题。原因之...原创 2021-04-02 11:09:50 · 343 阅读 · 0 评论 -
Hls流播放延时
碰到好几次这种问题,总结下,要不时间久了可能就忘记了。最近项目中遇到Hls视频播放延时达7,8秒。最近服务版本进行了更新,起初以为是新版本产生的问题(正常情况Web端播放Hls的延时在3-4S)于是用之前发布的版本进行测试,延时也在7,8秒,并且Web端打开视频很慢大约10S。排除了服务器的问题后怀疑问题可能出在Chrome浏览器版本上(客户端测试机器最近重装了系统)。将chrome浏览器切回到原来的版本进行测试,视频画面延时仍然是7,8秒。 既不是流媒体服务的问题,...原创 2021-04-02 11:09:03 · 991 阅读 · 0 评论 -
GB28181语音对讲
GB28181语音对讲前段时间将音频对讲功能集成我们国标平台,踩些坑记录下来,方便后来人。 GB28181-2016语音对讲没有明确规定流程,各厂家按自己的理解进行实现。先说海康的,毕竟海康是这个行业的龙头老大。海康摄像机接收音频的流程如下图1所示: 图1.海康设备接收音频流流程。各信令抓包如下: ...原创 2021-04-01 14:17:12 · 1848 阅读 · 4 评论 -
Video.js 源码浅析
Video.js 源码浅析 项目中PC web端播放Hls流用到Video.js,使用过程中出现多种问题,例如视频打开失败、视频卡顿、无缘无故视频播放停止等。于是花了半天的时间研究了下video.js ,耕耘过总要留下点痕迹,以后再研究会方便点,要不几个月过后,一点影子都记不得了。 我看的video.js版本是7.8.4 总共58000多行,半天的时间将Video.js代码所有的逻辑理清楚 对于一个专业后台服务开发来说非常困难,我也只找到了video.js 部分...原创 2021-03-25 10:58:12 · 664 阅读 · 0 评论 -
H5 播放Hls
H5 播放Hls 移动端播放Hls可以直接利用 H5 ”Video“标签,代码很简单,示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html> <html lang="en"> <head> ...原创 2021-03-25 10:56:39 · 641 阅读 · 0 评论 -
GB28181结束Invite请求
GB28181结束Invite请求 GB28181协议基于Sip,通过Bye消息结束Invite请求,需要注意的时Bye消息中要求不仅仅Call-id与Invite消息相同,还要求tag信息正确。下面看一组正常的抓包: 图1. Invite 请求 ...原创 2021-03-25 10:54:57 · 624 阅读 · 0 评论 -
GB28181 下级平台(设备)实现
GB28181 下级平台(设备)实现 本文主要介绍GB28181 下级平台(设备)实现的基本内容,适合初入门同学,老司机可略过。首先需要知道GB28181 上、下级关系,比如两个平台A和B,如B需要从A获取视频流,则B是上级平台,A是下级平台。另外需要清楚国标下级平台是广义的,复杂的视频平台可以是国标下级平台,支持国标NVR可以称为国标平台,支持国标的摄像机也可以称为国标平台。 国标下级平台概率清楚后,接下来需要了解的是国标下级平台实现的功能。1. 注册...原创 2021-03-25 10:52:49 · 2522 阅读 · 0 评论 -
国标 GB28181 平台 视频对接
国标GB28181对接视频流 今天抽空写下以GB28181的方式获取摄像机视频流以备后用,同时也希望能帮助到正着手开发GB28181对接视频的同学,这块的资料实在不多。今天讲的内容不涉及到平台对接,平台对接下次有时间再讲,平台对接相对更麻烦点。通过GB28181获取摄像机视频流,首先需要摄像机支持GB28181,如何知道摄像机是否支持GB28181协议呢?请看下图: ...转载 2021-03-25 10:47:08 · 5501 阅读 · 3 评论 -
window下编译ffmpeg
windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间。终究起原因,都是当时记得,过段时间就忘了。好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译的整个过程,以备不时之需。一. 安装MinGW从google上可以搜索到MinGW安装包mingw-get-setup.exe,下载到本地磁盘,安装路径选择原创 2016-06-15 13:10:46 · 279 阅读 · 0 评论