粘包处理

对于JTT1078标准的终端视频流的输入,肯定有粘包,所以需要先进行粘包处理,大体就是将一个完整包拆解出来,使其他业务线程能够真正使用该完整包

消息头拆解

在粘包处理之后,针对单一的完整包,进行消息头的拆解,包括标志位、负载类型、包序号、SIM卡号、逻辑通道号、数据类型、时间戳以及消息体长度的信息,并缓存起来,

消息体处理

根据其sim卡号和逻辑通道号,可以确定该终端唯一通路的视频流信息(注意,此处如果跟历史回放视频同路的话,会造成无法正确识别是实时视频流,还是历史回放流,所以建议是另起一个监听端口,来接收历史回放流。
根据其数据类型,区分是音视频帧,还是视频帧。
如果是音频帧,则先判断处是aac、g711a还是adpcma,然后将他们统一转换为aac的格式,输入到视频服务系统中进行音频流的播放。
如果是视频帧,则从第一个包开始收集,集齐完整的一帧数据后,输送到视频服务系统中。
然后由视频服务系统对音视频流进行转换,转换成所需要的如rtsp、rtmp、http-flv等格式,供视频客户端进行播放调用。
(欢迎交流)

【JTT1078视频服务器】之音视频的拆解相关推荐

  1. 音视频开发成长之路—进阶之路3个重要知识点丨WebRTC丨FFmpeg丨SRS流媒体服务器丨C++音视频丨嵌入式音视频

    音视频开发成长之路-进阶之路3个重要知识点 视频讲解如下,点击观看: 音视频开发成长之路-进阶之路3个重要知识点丨WebRTC丨FFmpeg丨SRS流媒体服务器丨C++音视频丨嵌入式音视频 音视频高级 ...

  2. 腾讯团队,微信中使用到的视频技术,音视频研究

    > 微信商业化   微信商业化是三层架构:最底层是微信的社交平台,它聚集了海量的用户,这是商业化的养分:第二层是开放公众平台,它连接所有的主体(服务和内容提供方),这是商业化的土壤:第三层是业务 ...

  3. linux视频应用程序开发,Linux平台音视频开发和音视频SDK应用

    Linux平台音视频开发和音视频SDK应用 下面介绍一款强大的音视频即时通讯平台给大家,它就是--云智真音视频SDK. 云智真提供一套跨平台的音.视频即时通讯解决方案,基于先进的H.264视频编码标准 ...

  4. 走进音视频的世界——音视频的基本概念

    音视频通用的基本概念有码率.时长,而不同音视频有不同的封装格式.编码协议.其中视频关键参数有分辨率.帧率.画质.旋转角度.像素格式,而音频关键参数有采样率.声道数.声道布局.音质.采样数.采样位数.帧 ...

  5. Android实现视频剪切、视频拼接以及音视频合并

    因公司项目有需求,要实现视频剪切,视频拼接以及音视频合并的功能,自己通过在网上查找大量的资料终于把功能实现了,把实现的公共类提取出来,以便以后复习巩固. 使用map4parser作为视频处理包,and ...

  6. moviepy音视频剪辑:音视频的加载和输出

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在本地进行音视频处理时,首先要从视频文件 ...

  7. IOS视频编辑功能详解下篇-视频裁剪、视频拼接、音视频的处理

    转自:http://www.hudongdong.com/ios/550.html 前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUI ...

  8. 网页测试本地服务器_音视频开发搭建一个直播服务器

    现在抖音.快手等直播实在是太火了,因此对音视频的开发非常感兴趣.查阅了相关资料,使用Nginx搭建一个简单的直播跟点播流媒体服务器,能够实时推流到服务器,同时在网页端播放直播的视频. 先上效果 使用O ...

  9. 微信直播服务器架构,音视频直播--技术架构—易龙天

    今天和大家讲一下音视频直播技术架构.之前的关注点主要放在客户端如何采集音频数据上,经过这两天的思考,我觉得应该先给大家讲一下音视频直播技术架构,这样更容易从整体上理解视频直播技术是如何运转的,之后再逐 ...

  10. 音视频入门系列-音视频基础知识篇(录播、点播、直播)

    在学习音视频技术前,笔者还是希望可以分享给小伙伴们一些音视频方便的基本概念,掌握这些概念,有助于大家对于音视频有一个更直观和清晰的了解. 话不多说,今天笔者给大家分享下:录播.点播和直播. 录播:录播 ...

最新文章

  1. jquery程序 windows移植到linux显示不了,windows程序移植linux
  2. 网络套接字(Network socket)
  3. 如何:带有Thymeleaf和Spring Boot的Java 8日期和时间
  4. react安装_前端大牛进阶---gt;React必会教程
  5. Nginx之location配置
  6. linux 实验指导书,linux操作系统实验指导书新 - 图文
  7. MyBatis学习总结(27)——Mybatis-Plus使用小技巧
  8. 百度文库免费下载方法
  9. BZOJ 4216: Pig
  10. 什么是MACD,如何使用MACD指标(新手必学)
  11. 【IT职业】IT人的职业规划
  12. Android 系列 5.13添加简单光栅动画
  13. GitHub 热点速览 Vol.24:程序员自我增值,优雅赚零花钱
  14. 软件测试方法和技术第一章——引论
  15. 在 stm32CubeMX下生成程序完成流水灯以及完成STM32的USART串口通讯程序实现STM32系统给上位机(win10)连续发送“hello windows”
  16. Vue 前端导出Excel表格,多级表头合并
  17. 为什么 Redis 单线程却能支撑高并发?
  18. Python学习-1.基础语法元素
  19. 脱离圈套:“你希望与什么样的上级共事?”
  20. 大数据 SQL Boy 脱坑指南

热门文章

  1. 百练2967:特殊日历计算题解
  2. java最简单的打印日历表_java实现打印日历
  3. 【外贸建站规则】外贸网站建站流程有哪些?需要注意什么? (上)
  4. 魔兽世界阿拉索人数最多服务器,魔兽世界8月国服人口普查 2019wow各服务器阵容比例汇总...
  5. HackMyvm(九)Gigachad持续更新
  6. Excel / WPS 下拉选择数据
  7. [HAOI2009]毛毛虫(树形dp)
  8. JS/JavaScript中的概念区分:global对象、window对象、document对象
  9. Go语言的安装与环境配置
  10. 什么是域名,域名的购买流程是什么