HLS之TS码流封装
在成功完成了从TS码流中提取出H264和AAC之后,开始一下最终的挑战,就是把H264封装成TS个数。这里想把码流的切片一起实现在里面。这里画了一个大概的实现图。
这个图主要是实现了切片的流程。
我计划把一个gop里的视频组成一个ts文件。
TS切片格式:
每个ts切片第一个ts包(188字节肯定是包含pat信息)
每个ts切片第二个ts包肯定是pmt信息
然后开始是N个pes信息
下面上一下定义:
弄明白了ts的结构之后,终于可以开始干活了,下面开始码代码。
*************************等待中********************
这里的pes包和ps流中的pes包不太一样,主要在分包的处理上面。
这里的pes包只有一个pes头,后面全是裸数据,这个pes头为9个字节+10个字节的解码时间和显示时间
一共19个字节,固定值。这样就可以方便计算分包了。
由于ts个包只有188个字节,这里先分包
第一个包:ts头4个字节+长度1个字节+7个字节的adapter+每个pes包开头有9+10个字节,一共4+1+7+19 =31个字节
第二个包:第二个包只有4+后续裸数据
最后个包:ts头4个字节+需要使用adapter补充+后续裸数据
ts头当是pes第一个包时,adaptation_field_control =3,
ts头当是pes中间包时,adaptation_field_control =1,
ts头当是pes最后包时,adaptation_field_control =3,
ts头是pat时候,adaptation_field_control=1
ts头是pmt时候,adaptation_field_control=1
历时一天时间,终于完成了H264---》封装到ts。累死累死。
HLS之TS码流封装相关推荐
- 关于ES、PES、PS以及TS码流
from:http://blog.csdn.net/huangblog/article/details/8740571 一.基本概念 1)ES ES--Elementary Streams ( ...
- ts码流解析工作总结
近段时间,由于工作需要,初步研究学习了TS流的解析,多少有些心得体会,这里与大家分享一下(大牛可以无视,呵呵). 已编码的音视频数据,按照PES格式进行第一次打包,即PES包.一系列PES包,也有一种 ...
- MPEG-2传输流的码流分析(PS与TS码流)
0 引言 目前,我国数字电视的信道传输的三种主要传输方式都有了统一明确的国家标准.其主要差别是信道编码.调制方法,但视频和音频信源处理和系统层复用都是以MPEG-2为基础的编码方案.MPEG-2标准自 ...
- 【ts码流】获取指定section
啊啊啊啊啊啊啊啊啊啊啊啊-好不容易组出来了section,好几周了吧,其中一周是回学校了,之后就是放空状态了,感觉要是认真思考的话,应该不难的吧- 组section的历程: 首先,需要清楚ts码流里的 ...
- 全面了解MKV、MP4、H.265、RTMP、RTSP、HLS、码率\码流、多码流等等
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51784440 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS码流并解析预览图像
<JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 前言 两年前博主写了如何利用JavaCV解析各种h264裸流,<JavaCV ...
- 五. H.264的码流封装格式
H.264的语法元素进行编码后,生成的输出数据都封装为NAL Unit进行传递,多个NAL Unit的数据组合在一起形成总的输出码流.对于不同的应用场景,NAL规定了一种通用的格式适应不同的传输封装类 ...
- 说一说TS码流里面的PCR
问题的起因是这样的:在我刚开始学习的码流的时候,就有人告诉我TS里面的有一个绝对时间叫做PCR,但是我们因为代码原因,都基本不怎么用.后面分析码流的时候基本都是使用EasyICE,然后看到的数据就是下 ...
- TS码流解析-6-解析EIT表
任务六 利用之前编写的函数,从码流中解析EIT表,主要是获取对应的service_id和EPG标题,时间段等. 相关知识 简述 EIT表按照时间顺序提供每一个业务所包含的事件信息,是事件信息表的简称, ...
最新文章
- char类型是多少 mat_OpenCV Mat数据类型及位数总结
- 透彻理解块级元素的宽度
- python中函数修饰符_python中的函数修饰符
- 视频直播关键技术:流畅、拥塞和延时追赶
- (Docker实战) 第三篇:配置_开发环境
- 今日恐慌与贪婪指数为38 等级从贪婪转为恐慌
- kaggle房价预测最热解析
- 深度学习入门实例——基于keras的mnist手写数字识别
- Leetcode-树
- windows10快速搭建和部署docker、kubernetes开发环境
- oracle ebs采购申请接口表,Oracle EBS BOM接口表操作.doc
- 一个非常好用的代理服务器软件AllegroSurf
- java ojdbc14.jar_ojdbc14_g.jar
- Dlib库实现人脸关键点检测(Opencv实现)
- RESTful架构和实现级别
- 计算机网络网卡作用是什么,什么是网卡?它的作用是什么?
- 前端学习-CSS京东导航栏
- java远程连接linux并发送命令,两种方案比较Jsch与ganymed-ssh2
- 数据分析达人博客大全
- win10 10074版本qq显示问题
热门文章
- 配置Apache+Php+PDT(Zend Debugger)
- 快速上手,定制第一个WES8镜像
- 浅谈ASP.NET客户端回调
- Spine 游戏开发的 2D
- 文档内容结构化技术探索
- GTK 4.0 图形工具包正式发布
- 前端开发工程化探讨--基础篇
- 用c语言的输入,用C语言输入的“%p”是什么意思?
- centos6.5 mysql登陆_centos6.5下mysql无法登陆的问题
- swager java_Swagger介绍及使用