JT/T 1078视频协议是基于JT/T 808协议的扩展。其中视频服务器和指令控制服务器用两个SOCKET 进行通信。

因为协议采用TCP-ip协议的基础上进行封装,需要对协议的数据进行解释。然后转化成RTSP或者RTMP通用的协议

以扩展视频应用的范围。其中我们用到了RTMP协议,在网络延迟越来越少的情况下。RTMP协议的服务器性能更加稳定,web

开发更加方便。但这里主要因为面对的设备端主要使用海思的G726/G711A等格式来传送音频。但非常不幸的是这些格式并

不被RTMP协议所接受。所以需要进行转码。采用FFMPEG或者海思的专用解码器G726的数据线解释成PCM数据,然后再用

FACC 编码库转成AAC 通过RTMP 推流器推送到服务器。

需要注意以下几个方面:

1. 海思的数据中包含了海思的4个字节头,如果采用别的解码器解码需要去掉

2. AAC 编码的时候需要注意,需要将PCM的数据拼接成编码器制定需要的大小,然后再送进去进行编码。

3. 需要考虑服务器多并发的性能问题

不多说,将核心代码贴上:

G726Decoder->AFrameDecoder((char*)pBuffer, rtpLength, szOutData, &nOutDataLen);

if (m_index + nOutDataLen <= m_nPCMBufferSize)

{

memcpy(m_pbPCMBuffer + m_index, szOutData, nOutDataLen);

m_index += nOutDataLen;

if (m_index == m_nPCMBufferSize)

{

m_index = 0;

AAClen = m_pPCMToAAC->Encode((int*)m_pbPCMBuffer, m_nPCMBufferSize, pbAACBuffer, m_pPCMToAAC->GetMaxOutputBytes());

}

}else

{

int last = m_index + nOutDataLen - m_nPCMBufferSize;//剩下不的部分

memcpy(m_pbPCMBuffer + m_index, szOutData, m_nPCMBufferSize - m_index);

AAClen = m_pPCMToAAC->Encode((int*)m_pbPCMBuffer, m_nPCMBufferSize, pbAACBuffer, m_pPCMToAAC->GetMaxOutputBytes());

memcpy(m_pbPCMBuffer , szOutData+ m_nPCMBufferSize - m_index, last);

m_index = last;

}

if (AAClen > 0)

{

push(MEDIA_TYPE_AUDIO, header.dataType, header.payLoad, header.timeStamp, (char*)pbAACBuffer, AAClen);

}

car-eye开源官方网址:www.car-eye.cn

car-eye 流媒体平台网址:www.liveoss.com

car-eye 技术官方邮箱: support@car-eye.cn    
car-eye技术交流QQ群: 590411159

CopyRight©  car-eye 开源团队 2018

Car-eye JT/T1078 视频服务器开发过程中的音频处理相关推荐

  1. 我的抖音视频服务器维护中无法看,抖音短视频怎么不能看?原因是什么?

    抖音已经成为了人们的一种娱乐方式,在抖音里面,可以看一些别人发的段子,并且也可以自己发抖音来记录美好的生活,抖音app给用户创造了很多不一样的玩法,也让很多用户从中感到快乐,但是有的时候,会出现抖音短 ...

  2. 抖音视频服务器维护中暂时无法观看,抖音显示服务器维护中暂时无法观看视频的原因分析...

    最近有不少抖音用户在使用软件的同时遇到一些问题,就是打开抖音发现不能观看视频了,抖音显示服务器维护中暂时无法观看视频这个到底是什么意思?要是抖音服务器维护该怎么办?如何才能涮抖音视频呢?不少小伙伴都有 ...

  3. 抖音短视频服务器维护中什么意思,抖音短视频运营的几大误区,新手一定要注意!...

    原标题:抖音短视频运营的几大误区,新手一定要注意! 在当下互联网短视频创作热潮中,很多小伙伴都投入了创作抖音视频的道路中,运营创作抖音短视频的道路艰难且长,很多小伙伴也不同程度的进入了各种运营误区中, ...

  4. 抖小火山视频服务器维护中,抖音、火山小视频、悟空问答昨天都崩了

    原标题:抖音.火山小视频.悟空问答昨天都崩了 导读 宕机属于电脑运作的一种正常现象,任何电脑都会出现这种情况,服务器也不例外. 刺猬公社 | 石灿 昨天下午6点左右,抖音.火山小视频和悟空问答崩了!头 ...

  5. 抖音短视频服务器维护中无法打开,打不开抖音视频的解决办法

    打不开抖音视频的解决办法 2020-12-16 12:19:45  来源:网络整理 扫码可以: 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要: 以抖音12.9.0版本为例,打不开抖音视频的原因及 ...

  6. 火山小视频服务器维护中,火山小视频整改时间多久 火山小视频整改哪些方面...

    火山小视频v3.7.0安卓版 类型:影音播放大小:24.7M语言:中文 评分:5.5 标签: 立即下载 火山小视频app是一款短视频录制软件,喜欢玩短视频的伙伴,大多数都在玩火山小视频,但是由于某些方 ...

  7. 火山小视频服务器维护中,只有20%懂的玩转火山小视频,80%违规!

    这段时间我写的火山小视频的文章,很荣幸的被官方推荐,也获得不少朋友的支持以及阅读.有部分操作这个项目的朋友,你可以也收到过"火山小助手"的通告吧,如果你没仔细阅读后去操作这项目很容 ...

  8. Java在游戏服务器开发中的应用

     Java在游戏服务器开发中的应用 width="22" height="16" src="http://hits.sinajs.cn/A1/we ...

  9. 在手机上怎么提取视频中的音频?就这么简单

    我愿意为正版歌曲付费,但不想找首歌要下载几个音乐APP,在不同的平台上反复充值注册会员."对于普通用户来说,在一个App上可能听到更多喜欢的音乐,不需要下载多个App就是最大期盼. 今天就给 ...

最新文章

  1. 设计模式之Pimpl模式
  2. 拉杰尔安卓服务器注册上限,拉结尔多开养小号刷副本 用多多云手机离线能升级...
  3. Vue008_ Vue实例生命周期
  4. Java ByteArrayInputStream reset()方法及示例
  5. 吉林大学计算机英语成绩,吉林大学复试出结果,初试分差84分,复试成绩却相差无几!...
  6. oracle 减少回表,減少oracle sql回表次數 提高SQL查詢性能 | 學步園
  7. 比特币的密钥、地址、钱包
  8. 人机交互大作业_为百亿级未来布局 徐工XG新一代高空作业设备全球首发
  9. nodejs学习笔记-入门helloworld
  10. 21天学通JAVA:如何使用现有类
  11. 解决edge可以访问github,谷歌却无法访问的问题
  12. 知识图谱学习笔记(三)——知识表示方法
  13. STL之vector的push_back过程详解
  14. [转载]C++URL编码转换
  15. 应用Druid监控SQL语句的执行情况
  16. 梦幻手游版华为显示未连入服务器,《梦幻西游》手游双平台区为什么我手机没有?...
  17. 基于opencv人脸识别
  18. sipp: bind_local;watchdog timer trip
  19. OpenCV(九)形态学操作4--礼帽与黑帽(顶帽与底帽)
  20. 【软件应用开发】基于SSM框架的共享云盘系统设计与实现

热门文章

  1. 互联网运营面试题_网站运营面试问题
  2. classes是什么意思怎么读_英语单词class怎么读,class的音标是什么,class是什么意思 - 音标网...
  3. win10无法登陆到你的账户
  4. 连接mysql报错 errorCode 1129, state HY000, Host ‘xxx‘ is blocked because of many connection errors
  5. 魅族mx4 android5.0,魅族MX4 Pro长测(2):安卓5.0 Flyme体验
  6. 达人评测 酷睿i9 12950hx和i9 12900hx区别哪个强
  7. 一头扎进Shiro 笔记 Shiro 支持特性
  8. 2019年帮解BUG,做设计,Android,WEB
  9. fastadmin 使用switch 点击修改无反应 提示“未更新任何行”
  10. Ubiquiti MAC Address Changer 3.0 Crack