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

网站建设群网站建设以及维护

网站建设群,网站建设以及维护,内蒙古呼和浩特特产,网站建设人工智能开发解决音视频发送的rtp问题 openrtp增加了音频aac的发送#xff0c;地址 OpenRTP Gitee开源地址 同时使用两个rtp #xff0c;来发送音频和视频 使用以下音频rtp#xff0c;是可以发送和接收的#xff0c;音频端口在视频端口上2 v0 o- 0 0 IN IP4 127.0.0.1 sMy Stream cI…解决音视频发送的rtp问题 openrtp增加了音频aac的发送地址 OpenRTP Gitee开源地址 同时使用两个rtp 来发送音频和视频 使用以下音频rtp是可以发送和接收的音频端口在视频端口上2 v0 o- 0 0 IN IP4 127.0.0.1 sMy Stream cIN IP4 0.0.0.0 t0 0 maudio 1234 RTP/AVP 97 artpmap:97 mpeg4-generic/44100/2 afmtp:97 profile-level-id1;modeAAC-hbr;sizelength13;indexlength3;indexdeltalength3音视频合成发送rtp vlc 使用分开的端口来接收经过测试无误 v0 o- 0 0 IN IP4 127.0.0.1 sMy Stream cIN IP4 0.0.0.0 t0 0 maudio 6002 RTP/AVP 97 artpmap:97 mpeg4-generic/44100/2 afmtp:97 profile-level-id1;modeAAC-hbr;sizelength13;indexlength3;indexdeltalength3 mvideo 6000 RTP/AVP 96 artpmap:96 H264/90000我把sdp文件放在了这里 是否使用同一端口发送音视频 一、协议规范 RTPReal-time Transport Protocol通常为音频和视频分别分配不同的端口以区分不同类型的媒体流。这样做符合协议设计的常规做法使得接收端能够明确地识别和处理不同类型的媒体数据。 二、处理复杂性 解码和播放如果音频和视频使用同一个端口接收端在处理数据时需要更加复杂的逻辑来区分音频和视频数据包。这增加了处理的难度和出错的可能性可能导致播放不稳定或不同步。 同步问题不同的媒体流需要进行同步才能保证良好的播放效果。使用不同的端口可以更容易地实现音频和视频的同步因为接收端可以独立地处理每个流的时间戳和同步信息。如果使用同一个端口同步处理会变得更加复杂可能会影响播放质量。 三、网络传输考虑 带宽管理音频和视频通常具有不同的带宽需求。分开使用不同的端口可以更好地进行带宽管理和流量控制。例如可以为视频流分配更多的带宽以确保高质量的视频播放而音频流可以使用相对较少的带宽。 网络故障处理如果音频和视频使用同一个端口当该端口出现网络问题时音频和视频都会受到影响。而使用不同的端口可以在一定程度上隔离问题使得在一个流出现问题时另一个流可能仍然能够正常传输。 综上所述为了保证音频和视频的稳定播放、便于处理和同步以及更好地进行网络管理建议为音频流和视频流分别使用不同的端口。 以上其实问题都能解决比如rtmp协议就是一个端口处理所有音视频对于rtp协议如果使用udp其实可以使用不同的端口来发送视频和音频这样处理逻辑更为简单但不是必要。 计算时间戳增量 音频时间戳 音频时间戳的单位就是采样率的倒数例如采样率44100那么1秒就有44100个采样每个采样1/44ms每个采样对应一个时间戳。RTP音频包如果是10毫秒的数据对应的采样数为 44100 * 10 / 1000 441也就是说每个音频包里携带440个左右的音频采样因为1个采样对应1个时间戳那么相邻两个音频RTP包的时间戳之差就是960。 那如果是回调函数采集的音频我们可以计算回调两次之间的时间差t - t0t0是第一次的时间这样有可能造成越来越来的累计时间如果我们知道是采样一次位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: modeAAC-hbr;sizeLength13;indexLength3;indexDeltaLength3;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] (audioChannel2)?0x80:0x40;int len recvLen - 16 7;len 5;//8bit * 2 - 11 5(headerSize 11bit)len | 0x1F;//5 bit 1 ADTS[4] len8;ADTS[5] len 0xFF;*pBufOut (char*)bufIn16-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/14386451/

相关文章:

  • 网站建设一般多少个板块新品手机上市
  • 注册建设通网站珠海市品牌网站建设公司
  • 登封网络推广公司seo外包一共多少钱
  • seo+网站排名自学网站开发流程
  • 网站建设基础策划电子商务与网站建设论文
  • 搭建一个商城网站做网站域名解析
  • 免费发布网页的网站广州站电话
  • 建设项目安监备案网站如何构建一个网站
  • 怎么做兼职网站查找网站开发者
  • 企业网站做多大祁阳网站设计
  • asp三层架构做网站网络广告管理办法
  • 手机网站前端用什么做冷链物流
  • 腾讯云服务器怎么做网站软文推广怎么写
  • 东营seo网站建设费用论坛网站怎么做
  • 付公司制作网站费怎么做凭证用老域名重新做个网站
  • 沈阳网站建设包括急招工地土建施工员
  • 自己做的网站源码如何安装白杨seo课程
  • 网站分享链接怎么做的重庆网站模板制作
  • 做网站推广书范法吗关键字优化策略
  • 怎样制作网站教程中国联通与腾讯设立混改合营企业
  • 网站配置服务Wordpress开不锈钢公司怎么做网站
  • 我先做个网站怎么做网站建设要注意哪些
  • 房产网站定制网页制作网站设计稿
  • 查看网站域名平坝网站建设
  • 如何做网站框架wordpress 修改字体
  • 求一个做健身餐的网站数字化营销怎么做
  • 企业网站建设应遵守的原则哈尔滨城乡建设网站
  • 网站建设的基本规范有什么网页制作基础教程指知识点
  • 免费网站建设联系电话注册公司域名后如何做网站
  • 深圳网站优化排名入门编程软件