摘要:rtsp 交互; 现象:部分信令能正常交互,之后出现ICMP的port unreachable 测试:ping -M do -l 1472 <目标IP地址> 如果这个命令失败,可能是因为路径上的某个网络设备不支持分片或MTU设置不正确 调整发送方包分片 MTU大小
        
阅读全文
 
        
            
            
摘要:本博客主要介绍流媒体ZLmediakit通过使用vscode配置工程 (1)首先简单介绍Windows上的(visual studio 20XX)编译和调试: 从GIThub下载ZLmediakit源代码,将子模块都同步好;在Windows上安装好cmake 3.24+;安装号visual stud
        
阅读全文
 
        
            
            
摘要:SRT是一种UDP传输TS的支持丢包重传的低延时传输协议; 以流媒体服务ZLM为例,先分析它的SRT服务(listener端接收客户端的推流或者拉流请求),也就是接收其他客户端的SRT推流,和接收其他播放器的SRT拉流 1、ffmepg推流给ZLM协议阶段抓包分析 ffmpeg作为SRT calle
        
阅读全文
 
        
            
            
摘要:http协议传输TS片段;苹果公司推出的一种适用于回放取流的协议 抓包解析: 1 三次握手 http服务端的端口是80 2 拉流 使用VLC拉取http live stream;服务端有M3U8和TS文件片段 3 取流响应 携带M3U8信息: M3U8头,HLS协议版本号,是否允许缓存片段; TAR
        
阅读全文
 
        
            
            
摘要:1 使用tcp(配置项) 2 设置公网IP,externIP 3 防火墙 sudo firewall-cmd --zone=public --list-ports # 查看 public 区域的开放端口列表 sudo firewall-cmd --query-port=8000/tcp # 若返回 
        
阅读全文
 
        
            
            
摘要:本文档以win调试为例 准备:安装openssl1.1.1;cmake编译项目时候configure的时候看看有没有正确导入openssl的头文件库文件;也可以等项目编译完从IDE的配置界面修改、增加libssl,libcrypt; 将WWW文件夹,放到编译好的MediaServer服务的同级目录下
        
阅读全文
 
        
            
            
摘要:水平触发: Level_triggered(水平触发):当被监控的文件描述符(fd)上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wait()时,它还会通知你在上没读写完的文件描述符上继续读写,当
        
阅读全文
 
        
            
            
摘要:1 libcurl 支持跨平台,HTTP,HTTPs,FPS,等格式的的数据访问,数据下载;HTTP下载支持断连续传,因为协议本身支持指定从哪个字节开始下载; 2 rtsp拉流下载 一般rtsp协议中会交互speed,scale这个字段,在信令中可通过倍速访问,(发送端不会改变实际的时间戳、也不会抽
        
阅读全文
 
        
            
            
摘要:1、使用场景 1. 实时聊天应用:在线聊天室、即时通讯软件(如微信、QQ等)都广泛使用了WebSocket技术。(多个客户端与服务器进行交互,消息广播,客户端消息监听) 2. 实时数据更新,如股票行情、天气预报、新闻推送等,网页游戏小广告 3. 协同编辑,在协同编辑应用中,多个用户需要同时编辑同一份
        
阅读全文
 
        
            
            
摘要:以下流程包括接收RTSP推流,和ZLM作为代理拉流的流程 其中,接收推流中的TCP传输数据和UDP传输数据有一定的差异(红色是TCP数据传输。紫色是UDP数据传输);tcpserver是RTSP协议交互使用的 其中:UDP的(数据传输)socket是在RTSPsession中创建的,依据SETUP中
        
阅读全文
 
        
            
            
摘要:我们知道AAC如果带ADTS头一般是FF F1或者FF F9,开头的,但是有些网络协议在传输AAC的时候是不带ADTS头的 譬如:RTSP传输的媒体流中的AAC是被封装在RTP中的,此时的AAC是不带ADTS头的,而ADTS头里有音频参数信息;所以此时解析音频是依赖RTSP协议的SDP中的音频参数信
        
阅读全文
 
        
            
            
摘要:借助ZLMediaKit配合;功能流程如下 涉及到的代码功能: 1、ZLM是支持更新时钟读取MP4数据的;修改成多文件连续读取即可 uint32_t getCurrentStamp() { return (uint32_t)(_seek_to【seek的那个P帧的时间戳】 + !_paused * 
        
阅读全文
 
        
            
            
摘要:会话描述协议,一般用国标SIP交互媒体信息(offer和应答),RTSP中describe协商媒体信息(只有应答的SDP,没有offer_sdp),webrtc协议交互阶段(offer和answer) 时候回存在; 本例只介绍SIP-SDP,对于荷载它的协议不做描述 原文:https://share
        
阅读全文
 
        
            
            
摘要:播放卡顿或者卡住: 1 流媒体不发流给客户端,客户端停在当前画面不动也不销毁,也不重拉流; 2 弱网环境,tcp乱序,且发包间隔时间比较大,播放器收一包耗时较多,导致解码异常卡主; 3 流媒体(发流端)数据插入一些增强帧,其他的P帧等(一般是某些公司的定制)导致播放器得到的数据不是一个连续的GOP;
        
阅读全文
 
        
            
            
摘要:1 涉及内容 sip,rtp(ps),开源sip服务,摄像头国标注册 2 流程 注册后立即接入使用的是北小菜大佬的demo:https://gitee.com/Vanishi/BXC_SipServer 3 sip流程图 4 抓包显示注册和invite流程 5 IP Camera 注册 设置 6 交
        
阅读全文
 
        
            
            
摘要:1 、ringbuffer缓冲结构;以每一个新的IDR帧创建一个新的list,然后存放GOP list<list<pair node>>;当有新的reader接入的时候会先去storge中读取用于秒开的GOP缓冲。如果是已经在观看的reader,ringbuffer来一帧数据就会直接送reader显
        
阅读全文
 
        
            
            
摘要:当我们使用openRtpServer接口的时候,一般都是别人主动向port或者默认端口(默认1000)上推数据;这种属于ZLM的socket被动接收连接(TCP),ZLM的RTP server作为服务端,监听端口,有别人过来链接之后,握手建立连接,传输数据; 如果我们想主动去链接对方,告诉对方给我发
        
阅读全文
 
        
            
            
摘要:A 》》》 B显示zerowindow,的意思是是说A的接收窗口是0了;B发给A的数据A处理不了了; 此时在A端的情况就是,A收不到数据了,其实B有给A发,但是B知道A的接收窗口是0的时候B发不出去; 出现这种情况,一方面可以增大TCP接收缓冲,读写缓冲;另一方面可能是你的程序内部处理数据的时候塞住
        
阅读全文
 
        
            
            
摘要:1官方教程 https://github.com/ZLMediaKit/ZLMediaKit/wiki/%E6%80%8E%E4%B9%88%E5%BC%80%E5%90%AFhttps%E7%9B%B8%E5%85%B3%E5%8A%9F%E8%83%BD https://gitee.com/xi
        
阅读全文
 
        
            
            
摘要:接上篇博客,emcc编译了c++文件;之后对网页文件进行调用; 在不进行web发布的情况下,直接双击HTML是否会运行c++的web汇编呢 双击HTML的时候:搜索栏显示的是: HTML会异步加载胶水文件hello.JS进行解析 <script async type="text/javascript
        
阅读全文