当前位置: 首页 > news >正文

一句话让客户主动找你seo中文意思是

一句话让客户主动找你,seo中文意思是,拼多多网站在那里做,网站承接广告宣传方案解决音视频发送的rtp问题 openrtp增加了音频aac的发送,地址 OpenRTP Gitee开源地址 同时使用两个rtp ,来发送音频和视频 使用以下音频rtp,是可以发送和接收的,音频端口在视频端口上2 v0 o- 0 0 IN IP4 127.0.0.1 sMy Stream cI…

解决音视频发送的rtp问题

openrtp增加了音频aac的发送,地址
OpenRTP Gitee开源地址

同时使用两个rtp ,来发送音频和视频
使用以下音频rtp,是可以发送和接收的,音频端口在视频端口上+2

v=0
o=- 0 0 IN IP4 127.0.0.1
s=My Stream
c=IN IP4 0.0.0.0
t=0 0
m=audio 1234 RTP/AVP 97
a=rtpmap:97 mpeg4-generic/44100/2
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3

音视频合成发送rtp
vlc 使用分开的端口来接收,经过测试无误

v=0
o=- 0 0 IN IP4 127.0.0.1
s=My Stream
c=IN IP4 0.0.0.0
t=0 0
m=audio 6002 RTP/AVP 97
a=rtpmap:97 mpeg4-generic/44100/2
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3
m=video 6000 RTP/AVP 96
a=rtpmap:96 H264/90000

我把sdp文件放在了这里,
在这里插入图片描述

在这里插入图片描述

是否使用同一端口发送音视频

一、协议规范
RTP(Real-time Transport Protocol)通常为音频和视频分别分配不同的端口以区分不同类型的媒体流。这样做符合协议设计的常规做法,使得接收端能够明确地识别和处理不同类型的媒体数据。
二、处理复杂性
解码和播放:如果音频和视频使用同一个端口,接收端在处理数据时需要更加复杂的逻辑来区分音频和视频数据包。这增加了处理的难度和出错的可能性,可能导致播放不稳定或不同步。
同步问题:不同的媒体流需要进行同步才能保证良好的播放效果。使用不同的端口可以更容易地实现音频和视频的同步,因为接收端可以独立地处理每个流的时间戳和同步信息。如果使用同一个端口,同步处理会变得更加复杂,可能会影响播放质量。
三、网络传输考虑
带宽管理:音频和视频通常具有不同的带宽需求。分开使用不同的端口可以更好地进行带宽管理和流量控制。例如,可以为视频流分配更多的带宽,以确保高质量的视频播放,而音频流可以使用相对较少的带宽。
网络故障处理:如果音频和视频使用同一个端口,当该端口出现网络问题时,音频和视频都会受到影响。而使用不同的端口可以在一定程度上隔离问题,使得在一个流出现问题时,另一个流可能仍然能够正常传输。
综上所述,为了保证音频和视频的稳定播放、便于处理和同步,以及更好地进行网络管理,建议为音频流和视频流分别使用不同的端口。

以上其实问题都能解决,比如rtmp协议就是一个端口,处理所有音视频,对于rtp协议,如果使用udp,其实可以使用不同的端口来发送视频和音频,这样处理逻辑更为简单,但不是必要。

计算时间戳增量:

音频时间戳

音频时间戳的单位就是采样率的倒数,例如采样率44100,那么1秒就有44100个采样,每个采样1/44ms,每个采样对应一个时间戳。RTP音频包如果是10毫秒的数据,对应的采样数为 44100 * 10 / 1000 = 441,也就是说每个音频包里携带440个左右的音频采样,因为1个采样对应1个时间戳,那么相邻两个音频RTP包的时间戳之差就是960。

那如果是回调函数采集的音频,我们可以计算回调两次之间的时间差t - t0,t0是第一次的时间,这样有可能造成越来越来的累计时间,如果我们知道是采样一次位1024个样本,那样就好计算了

1024 ,每次就是增加1024,缓冲区计算就是1024* channel(声道)* (perbytes)字节,比如16位就是2字节,那就是1024 X 2 X 2 = 4096个字节的缓冲,每次增加1024时间戳就行

nt rtp_pakc_aac(unsigned char *ptr,int bytes,unsigned char *rtpPkt)
{if (0xFF == ptr[0] && 0xF0 == (ptr[1] & 0xF0) && bytes > 7){// skip ADTS headerassert(bytes == (((ptr[3] & 0x03) << 11) | (ptr[4] << 3) | ((ptr[5] >> 5) & 0x07)));ptr += 7;bytes -= 7;}int rtpHeadLen = rtp_pack_header(rtpPkt);//RTP Headerunsigned char * header = rtpPkt + rtpHeadLen;// 3.3.6. High Bit-rate AAC// SDP fmtp: mode=AAC-hbr;sizeLength=13;indexLength=3;indexDeltaLength=3;header[0] = 0;header[1] = 16; // 16-bits AU headers-lengthheader[2] = (uint8_t)(bytes >> 5); header[3] = (uint8_t)(bytes & 0x1f) << 3;//13bit AU-size、3bit AU-Index/AU-Index-deltaunsigned char * pPayload = rtpPkt + rtpHeadLen + 4;memcpy(pPayload, ptr,bytes);return bytes + rtpHeadLen + 4;
从RTP包里面得到AAC音频数据的方法://功能:解RTP AAC音频包,声道和采样频率必须知道。
//参数:1.RTP包缓冲地址 2.RTP包数据大小 3.H264输出地址 4.输出数据大小
//返回:true:表示一帧结束  false:帧未结束 一般AAC音频包比较小,没有分片。
bool UnpackRTPAAC(void * bufIn, int recvLen, void** pBufOut,  int* pOutLen)
{unsigned char*  bufRecv = (unsigned char*)bufIn;//char strFileName[20];unsigned char ADTS[] = {0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0xFC}; int audioSamprate = 32000;//音频采样率int audioChannel = 2;//音频声道 1或2int audioBit = 16;//16位 固定switch(audioSamprate){case  16000:ADTS[2] = 0x60;break;case  32000:ADTS[2] = 0x54;break;case  44100:ADTS[2] = 0x50;break;case  48000:ADTS[2] = 0x4C;break;case  96000:ADTS[2] = 0x40;break;default:break;}ADTS[3] = (audioChannel==2)?0x80:0x40;int len = recvLen - 16 + 7;len <<= 5;//8bit * 2 - 11 = 5(headerSize 11bit)len |= 0x1F;//5 bit    1            ADTS[4] = len>>8;ADTS[5] = len & 0xFF;*pBufOut = (char*)bufIn+16-7;memcpy(*pBufOut, ADTS, sizeof(ADTS));*pOutLen = recvLen - 16 + 7;unsigned char* bufTmp = (unsigned char*)bufIn;bool bFinishFrame = false;if (bufTmp[1] & 0x80){//DebugTrace::D("Marker");bFinishFrame = true;}else{bFinishFrame = false;}return true;
}

视频时间戳

rtp协议中视频一般以90000为时间基,一帧应该是对应多少次的采集;比如视频20帧,采样率是90KHZ,那么1帧就3600次的采集(90000 / 20 = 4500 ),也就是时间戳每帧每次增加4500个单位。

在这里插入图片描述

其他

rtp receive 暂时没有增加音频的接收,仍然是ps流的接收和普通rtp流的接收,rtmp流发送照旧是视频,近期增加音频的同步发送

http://www.hkea.cn/news/533755/

相关文章:

  • 南京网站建设优化今日头条普通版
  • 网站编辑的工作职能有哪些活动营销案例100例
  • 小程序招商加盟平台我是seo关键词
  • wordpress 发帖机镇江抖音seo
  • 网站建设的小结可以发外链的论坛有哪些
  • 网站正常打开速度网店营销与推广策划方案
  • 义乌 网站制作进入百度app
  • 做外围网站赌球红树林seo基础入门免费教程
  • 绿色风格网站seo排名赚钱
  • 南宁企业免费建站百度推广营销怎么做
  • 建立个人网站的成本短视频seo营销系统
  • 深圳公司名称大全网站结构优化的内容和方法
  • 安康市代驾公司上海网站关键词排名优化报价
  • 怎么在网站上建设投票统计在线培训系统app
  • 泰州网站建设哪家好网站seo的主要优化内容
  • 洛卡博网站谁做的seo权重查询
  • 东莞网络科技公司有哪些山东网站seo
  • 网站建设需要学什么网站模板购买
  • 用html做的游戏网站关键词推广效果分析
  • 做影视网站引流正规推广平台有哪些
  • 免费下载简历模板北京seo排名厂家
  • 西昌市做网站的百度搜索排名靠前
  • 办公室装修实景拍摄图重庆seo俱乐部联系方式
  • 网站建设阶段推广计划书怎么写
  • 代做毕业设计网站现成注册网站平台
  • 电商网站开发工作计划企业网络营销策划
  • 用wps网站栏目做树形结构图网页设计代码案例
  • 多媒体网站设计开发是指什么每日关键词搜索排行
  • 网站 seo正规网络公司关键词排名优化
  • 建立网站赚多少钱seo收录排名