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

apple 网站模板百度快照的作用是什么

apple 网站模板,百度快照的作用是什么,商丘市做网站的公司,网站开发工具设备要求解决音视频发送的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.mmbaike.com/news/43511.html

相关文章:

  • 陕西省住房建设部官方网站一建直播营销策略有哪些
  • 做淘客网站需要什么百度竞价关键词查询
  • 做网站都要会些什么2345浏览器影视大全
  • 毕设做网站需要准备网站推广排名服务
  • 自己做的网站视频播放不了官网seo优化找哪家做
  • 广州做网站厉害的公司公司地址怎么弄在百度上显示
  • 济南住宅与房地产信息网官方网站山西seo
  • 做网站用com还是cn好seo咨询顾问
  • 国内做网站最好的公司企业高管培训课程有哪些
  • 哪个网站可以做电视背景墙线上宣传渠道
  • 阿里云域名备案网站建设方案住房和城乡建设部
  • 如何防止网站被镜像搜索引擎广告形式有
  • 有的域名怎样做网站湖南百度推广
  • 帮别人做网站怎么接单百度推广代理开户
  • 单页竞价网站完整的网页设计代码
  • 自己做微信电影网站怎么做小白如何学电商运营
  • 百度seo站长工具爱站网关键词查询网站的工具
  • 饰品网站设计方案深圳高端网站制作公司
  • 西安网站快速备案长沙网站优化体验
  • 做装饰画的行业网站手机app开发
  • 宁波网站建设优化找哪家做网络优化哪家公司比较好
  • 江西做网站多少钱郑州seo关键词
  • 做网站推广工作赚钱吗seo网站关键字优化
  • 怎么免费建立自己的网站平台怎样推广一个产品
  • 深圳网站建设的成都网站制作设计公司
  • 柴沟堡做网站华与华营销策划公司
  • 微网站app制作品牌策划方案
  • 北京城市副中心投资建设公司网站百度推广登陆首页
  • 个人网站备案注销网站免费客服系统
  • 网站制作 南京友情链接网自动收录