音视频技术
文章平均质量分 81
音视频的基础,进阶,实战
爽朗地狮子
做人做事,只有偏执到癫狂,才能达到顶峰
展开
-
记录<一次点播的无法seek的问题跟踪>的bug的完整排查思路
ts流中的三个时间戳,pts(33bit),dts(33bit),pcr(42bit). 当时间戳增加到语法无法容纳时,产生时间戳循环,时间线开始变小,循环点计算方式是:将要设置的值减去时间戳最大值,将差值写入语法结构。编码器设置时钟,以及解码器自己的系统时钟在达到最大值后,都根据此方式计算,不会产生时钟的不连续。原创 2022-11-15 17:23:05 · 972 阅读 · 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 · 554 阅读 · 0 评论 -
成本优化之使用P2P的方案的需要了解的本地SDK的背后的原理
使用X-P2P需要知道的原理原创 2022-11-15 16:22:01 · 1146 阅读 · 0 评论 -
记录一个<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 · 1548 阅读 · 0 评论 -
记录一个<RTMP的iOS推流无声音> 的完整的bug解决思路方案
提供一个RTMP推流无声音的思路解决方案原创 2022-11-09 11:23:18 · 666 阅读 · 0 评论 -
H264入门学习
H.264: H.264/AVC项目的目的是为了创建一个比以前的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性原创 2022-11-09 10:53:42 · 330 阅读 · 0 评论 -
直播问题常见的那些事
直播问题排查的一些经验总结原创 2022-11-08 17:35:36 · 246 阅读 · 0 评论 -
音画同步的几套方案的对比
思考一些音画同步的优化方案,这里做一下总结,以免大家走入误区原创 2022-11-08 17:08:43 · 507 阅读 · 0 评论 -
NALU的解析(包括SEI的知识)decodeSODBSeiData
AVCC和AnnexB,以及SEI的一些解析规则原创 2022-11-08 15:41:14 · 1578 阅读 · 2 评论 -
PTS追本溯源
我们常在技术文章中看到“h264中的pts”这种描述,实际上H.264或H.265的定义中并没有包含PTS、DTS,因此裸流数据中也没有PTS、DTS值,那么PTS是从哪里来的?为什么在PTS与时间的转换转换中总会出现一个90000?由于PTS和DTS的定义类似,所以下面就以PTS为例,追根溯源介绍一下原创 2022-11-07 11:51:30 · 743 阅读 · 0 评论 -
Mac上终端调试FFmpeg任意版本源码的最佳实践
mac上终端调试FFmpeg任意版本源码原创 2022-11-07 11:33:47 · 747 阅读 · 0 评论 -
FFmpeg修改源码支持H265
修改FFmpeg源码来支持想要的格式原创 2022-11-07 11:27:30 · 2060 阅读 · 0 评论 -
30分钟学会FLV
快速学会FLV格式原创 2022-11-07 11:00:57 · 292 阅读 · 0 评论