通信系统与音视频开发
文章平均质量分 65
ShaYQ
这个作者很懒,什么都没留下…
展开
-
2022-08-27 一个正则表达式处理RTSP鉴权的小例子
一个正则表达式处理RTSP鉴权的小例子demo原创 2022-08-27 15:39:00 · 218 阅读 · 0 评论 -
【经验分享】为什么视频画面解码失败之后显示的是绿幕?
项目场景:项目场景:我们在处理视频数据解码时,经常会遇到解码失败出现绿幕的情况,这个时候一般我们会去检查解码端的程序代码。问题描述在出现问题的时候,是否有考虑过以下的问题:“为什么是绿幕,不是黄幕、蓝幕或者其他颜色的?”原因分析:视频数据解码之后,是YUV格式,即分别由Y\U\V分量组成;最终画面显示的话,是需要由YUV格式转为RGB,RGB是三原色的red、green、blue的简称;当我们进行解码时,通常将YUV视频画面的数据初始化为0;当解码失败时,根据YUV与RGB的转原创 2022-04-22 13:37:03 · 1264 阅读 · 0 评论 -
2022-4-21 【webrtc应用】yangrtc/metaRTC开源库源码分析(三)
yangrtc/(又名metaRTC)源码分析(三)这一次,我们主要还是针对webrtc拉流操作,进行大胆的尝试,主要做了以下工作:简要归纳下一篇,将对核心代码进行分解,抽取出主流程,单独编译。文章目录yangrtc/(又名metaRTC)源码分析(三)前言一、归纳源码从SRS拉流的“粗”流程前言这次是一次大胆的尝试,做了一些归纳,希望有不足之处或者理解不对的地方,欢迎指正。同时后续随着对代码的越发深入了解,会不停的更新此文章,欢迎大家收藏。提示:以下是本篇文章正文内容,下面案例可原创 2022-04-21 16:32:55 · 561 阅读 · 0 评论 -
2022-04-19 【webrtc应用】yangrtc/metaRTC开源库源码分析(三)
源码在Linux场景下,播放webrtc流,能否与声卡剥离?我们的服务器,只需要执行拉流操作。原创 2022-04-19 10:15:58 · 842 阅读 · 0 评论 -
【2022-04-12】ACS与CPE之间的连接异常keep问题(基于TR069)
ACS与CPE之间的连接异常keep问题(基于TR069)原创 2022-04-12 16:50:12 · 1162 阅读 · 0 评论 -
2022-04-03 【webrtc应用】yangrtc/metaRTC开源库源码分析(二)
接第一篇内容,分析一下play函数的大致业务流程;同时分享一种 “ 如何将yangrtc接收解码后音频数据进行二次利用”的方法?文章目录yangrtc/(又名metaRTC)源码分析(二)前言一、分析源码play函数二、使用步骤1.引入库2.读入数据总结前言开门见山:分析源码play函数;改造代码,使得自己能够单独取出音频数据(PS:这个需求应该非常通用)一、分析源码play函数关键函数palyRtc,从下图中可以看到,在de原创 2022-04-03 12:00:15 · 2552 阅读 · 1 评论 -
2022-03-31 Amr-nb格式字节对齐、非字节对齐的转换和解码处理(含源码)
开发音频解码时,amr-nb的非字节对齐如何转换成字节对齐,不会处理或者没有头绪的话,看我这一篇。满满的源码,有助于你理解协议格式的区别哦!!原创 2022-03-31 15:19:19 · 6061 阅读 · 0 评论 -
2022-03-15 【srs流媒体】rtmp超时中断场景解决,如何增加srs配置文件conf的配置项
教你如何配置SRS。解决问题场景:librtmp推流时,因短暂未推送导致与SRS的连接中断;产生的Broken pipe错误,如何解决?原创 2022-03-15 13:49:38 · 2844 阅读 · 2 评论 -
2022-3-12 【webrtc应用】yangrtc/metaRTC开源库源码分析(一)
学习webrtc一定要结合源码。理解webrtc基础之后,用yangrtc/metaRTC这个库去实践和检验认知。webrtc的原始api实在太大了,听我的跟我一起边分析源码,边豁然开朗吧。原创 2022-03-12 16:02:44 · 4030 阅读 · 0 评论 -
2022-3-11 基于libevent/evhttp模块的简易http服务器归纳小结-与前端同事的互侃
libevent的单个base对象并不能处理多并发应用请求;libevent的多线程http服务器,实际就是tcp的多线程并发处理;libevent接收请求似乎是并发接过来,但是处理的时候会报异常;原创 2022-03-11 21:06:00 · 1192 阅读 · 0 评论 -
2021-09-23 基于ffmpeg+nginx+rtsp的http-flv点播方案-推流失败问题分析
项目场景:使用ffmpeg拉取rtsp服务器的码流,并且推rtmp流到nginx,web前端使用flv码流进行点播;拉流以及推流使用的是ffmpeg原生接口;点播服务器使用是NGINX,并集成了http-flv模块(可以参考我的其他文档。)问题描述:ffmpeg打开rtsp的url,从in_stream的码流中,复制所需要的h264编码信息;然后写入对应的rtmp流(out_stream)中,结果发现写入函数av_interleaved_write_frame一直异常,无法写入?并且错误信原创 2021-09-23 17:11:48 · 4275 阅读 · 0 评论 -
2021-09-18 稍微写一些关于RTSP协议分析后的小结
RTSP协议(Real Time Streaming Protocol)偷懒了,好久没更新了。近日,在做一些视频推流方面的工作,大致的内容,就是利用ffmpeg拉取rtsp流,推送至nginx服务器,由nginx实现rtmp的视频流点播功能。遇到了一些问题是关于RTSP协议的,下面就对协议结合数据包做一些分析和总结;下面跟着我的思路一起学习和理解RTSP协议吧。文章目录RTSP协议(Real Time Streaming Protocol)前言一、什么是RTSP协议,与RTP\RTCP什么关系?二原创 2021-09-18 10:51:58 · 830 阅读 · 0 评论 -
一种使用wireshark快速分析抓包文件amr音频流的思路方法
项目场景:在VOLTE通话中,需要听取抓包文件中的AMR音频流,没有现成的工具可以利用,这里分享一种“投机取巧”的办法,不一定通用,但是可以尝试。问题描述:在VOLTE通话过程中,发现一端用户内容听不清,通话采用的编码格式为AMR,在IMS上抓包之后,得到包含发往该用户的音频流的包,那么如何快速分析一下这个音频流内容???解决方案:1. 使用wireshark过滤amr,并导出原始数据文件;使用ue的二进制编辑模式,编辑该文件,添加amr头,6个字节数据“#!AMR”,字节数据为 2原创 2020-12-14 19:29:26 · 2373 阅读 · 0 评论 -
flv.js播放http-flv流时报错分析
错误描述:console 信息:Uncaught (in promise) DOMExceptionflv.js:11675 [MSEController] > MediaSource onSourceOpenflv.js:11590 [TransmuxingController] > DemuxException: type = FormatError, info = Flv: Invalid AVCDecoderConfigurationRecord错误的大致意思是:格式错误,无效原创 2020-09-23 16:39:40 · 7536 阅读 · 0 评论 -
20200826晚上学习《freeswitch权威指南》(一)
1. fs的两种呼叫流程: A详fs发起呼叫,fs呼叫另一个B,两者通话;fs同时呼叫A,B,通过建立legA和legB,进行桥接,实现通话;2. 会话session 一个抽象的概念,用于控制整个呼叫流程(包含了SIP会话)3. 通道channel 每个seesion都控制一个通道channel,通道是UA间进行通信的实体,每个channel都有channelID,唯一标识,绑定在通道上的一些参数,就是通道参数;相当于fs中的一条leg;4. cha...原创 2020-08-27 09:47:49 · 755 阅读 · 0 评论 -
VOIP中关于DTMF数据的处理方法和发送方式-实际用法(linphone)
VOIP中关于DTMF数据的处理方法和发送方式-实际用法(linphone)目前传送DTMF信号普遍有三种方式:A.通过通信协议传输(SIP info)B. 通过RTP的数据内容传输(Inband)C. 通过rfc2833的规则和格式包传输结合抓包分析SIP INFO集合抓包分析rfc2833由payload=101是由SDP协商的,后期过滤这个101就可以得到rfc2833的事件。linphone中如何实现?linphone_core_set_use_rfc2833_for_原创 2020-08-07 16:48:40 · 1759 阅读 · 1 评论 -
VOIP系统开源实现PCMA/PCMU/AMR/G729常用格式解码服务
VOIP系统开源实现PCMA/PCMU/AMR/G729常用格式解码服务最近在Windows上开发一套用于处理多种音频数据的解码服务,大致原理是输入不同格式的源码数据 ,通过解码模块,输出原始的音频数据,原始音频数据经过二次生成,可用wav格式的文件保存为音频文件。利用到的开源库:pcmu\pcma\编解码以及转换代码、bcg729、 opencore-amr-0.1.5 pcmu\pcma(g711编码)wireshark抓包数据如上;打包时间标签为160ms,rtp整包长度216,实原创 2020-07-13 16:35:25 · 2092 阅读 · 1 评论 -
(亲身经历)freeswitch/ffmpeg出现“concealing * DC, * AC, * MV errors in P frame”的一种情况排查
最近用freeswitch做视频会议的时候,报这样一个错误,例如“concealing 9 DC, 9 AC, 9 MV errors in P frame”,导致视频画面花屏;起初也和大家网上各种搜,最终无果;本人环境:WINDOWS 10 64位,freeswitch-1.10.1,ffmpeg的版本为4.1.0关键点:抓包结合代码分析分析过程:1. 出现这个问题的时候比较懵,...原创 2019-12-03 18:58:40 · 6458 阅读 · 3 评论