- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 记录<一次点播的无法seek的问题跟踪>的bug的完整排查思路
ts流中的三个时间戳,pts(33bit),dts(33bit),pcr(42bit). 当时间戳增加到语法无法容纳时,产生时间戳循环,时间线开始变小,循环点计算方式是:将要设置的值减去时间戳最大值,将差值写入语法结构。编码器设置时钟,以及解码器自己的系统时钟在达到最大值后,都根据此方式计算,不会产生时钟的不连续。
2022-11-15 17:23:05 847 1
原创 记录<一个多SDK中引入ffmpeg出现的top1的crash问题>解决方案
如果是内存破坏的话问题就很难解决了,因为内存破坏导致crash的时机很随机,除非能复现,不然要找出内存破话的地方非常难,必需分析内存破坏后内存的内容,但crash log没有crash上下文。crash栈信息很少,只能看出是线程刚启动就crash了,内存违规访问,并且通过image可以知道是crash在我们自己的代码里,除了这几点信息很难找出其他线索了。知道frame_worker_thread是FFmpeg库文件后,还有个问题,通过crash栈并不知道是SDK1还是SDK2的sdk引起的crash,
2022-11-15 16:57:26 413
原创 Docker+nginx在CVM的机器远程发布hellogin
有两种方式,一种通过docker容器安装,一种是直接安装, 这里我们通过docker服务安装。
2022-11-15 10:42:45 852
原创 记录一个<h265的Http-Flv的流无法播放> 的完整的bug解决思路方案
对于H.264/AVC编码格式的FLV文件,onMetaData是第一个Tag,之后的第二个Tag就是AVCDecoderConfigurationRecord, 也是第一个Video Tag, 在FLV文件中一般情况也是出现1次。分析测试发现编码信息比如分辨率等有变化的时候,I帧之前就会插入sps pps vps等数据,这时候只需要重置解码器参数,而后将相应的数据数据nalutype+naludata塞入解码层即可。分析发现以前的解码可以成功,以前的塞入给解码器的形式是。
2022-11-15 10:24:04 1318
原创 消息队列入门
消息队列(Message Queue,简称 MQ)技术是分布式应用间交换信息的一种技术。消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
2022-11-11 09:49:49 159
原创 对腾讯云的TDSQL的简单入门学习
OLTP 是 事件驱动 、 面向应用 的,也称为 面向交易的处理过程,OLAP 是 面向数据分析 的,也称为 面向信息分析处理过程。我们日常都是OLAP的数据库
2022-11-10 17:26:34 4457
原创 协程 线程 进程 基础
32 位系统,用户态的虚拟空间只有 3G,如果创建线程时分配的栈空间是 10M,那么一个进程最多只能创建 300 个左右的线程。64 位系统,用户态的虚拟空间大到有 128T,理论上不会受虚拟内存大小的限制,而会受系统的参数或性能限制
2022-11-09 16:59:20 215
原创 interface{} 多参数... 封装继承多态
XXX(args ... interface{})这种方式接收参数,如果你调用xxx(ids...), 会把ids直接传递过去,没有包装的开销。XXX(ids)这种会有包装开销,会申请个新切片,把ids作为切片第一个元素
2022-11-09 16:03:57 370
原创 H264入门学习
H.264: H.264/AVC项目的目的是为了创建一个比以前的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性
2022-11-09 10:53:42 289
原创 PTS追本溯源
我们常在技术文章中看到“h264中的pts”这种描述,实际上H.264或H.265的定义中并没有包含PTS、DTS,因此裸流数据中也没有PTS、DTS值,那么PTS是从哪里来的?为什么在PTS与时间的转换转换中总会出现一个90000?由于PTS和DTS的定义类似,所以下面就以PTS为例,追根溯源介绍一下
2022-11-07 11:51:30 648
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人