![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
流媒体开发
antonio@qaa
90后硕士奶爸,流媒体开发者
展开
-
RK3399音视频开发之花屏、抖动分析(硬核文章)
1.引言最近在RK339开发做项目时,碰到一个非常棘手的问题,挂机测试或终端后重启后具有小概率的花屏,抖动,而且这个现象是不可逆,只有重启推流服务或者重启整个终端,才会恢复。这个问题会导致视频采集,编码,推流的效果很差,导致用户体验很差。所以本文我就来分析下整个过程,以及解决办法。2.视频花屏、抖动问题定位我们在谈到视频花屏时,一般首先想到就是丢帧导致,那为什么会丢帧呢?丢帧是一个结果,那是什么原因导致丢帧?采集模块丢帧,编码模块丢帧,还是推流模块丢帧呢?还是什么其它原因呢?顺着这个思路开始了大量的原创 2020-05-21 11:33:13 · 1386 阅读 · 0 评论 -
ffmpeg源码优化之推流发送篇
1.引言大家好,距离上篇文章已经过去有一段时间了,主要是最近太忙了,一直没有更新。今天总算能抽出一点时间,说说ffmpeg源码级别的优化了,这块应该会连载,请大家持续关注。废话不多说,接下来就进入正题,说说怎么样进行优化。2.问题引出及解决使用ffmpeg接口去推流,当网络不稳定时,av_interleaved_write_frame有时候会出现长期无法返回,也就是卡死在里面,造成无法退出或不能进行下一步处理。下面我们就来分析下该接口究竟干了什么,揭开其神秘的面纱。int av_interleav原创 2020-05-09 19:17:54 · 2175 阅读 · 4 评论 -
实现音视频在Android与IOS平台的采集与编码之Android视频(1)
一、前言前面我们已经讲解了视频的编码、解码、网络传输的相关基础知识,相信认真阅读多的朋友,应该熟悉了,有人会问,这些知识能够帮我们做什么呢?本篇文章就来说说具体能做那些项目。由于时间和篇幅的关系,先来说说音视频的采集、编码、推流(网络传输),这种应用场景大多在直播,拍摄视频上传服务器等场景。比如通过手机摄像头拍摄了一段很精彩的视频,发送到朋友圈,这个过程就是本文所要详细描述的音视频采集、编码、推...原创 2020-01-17 16:05:48 · 411 阅读 · 0 评论 -
解析音视频网络传输技术之一
前面讲解了音视频编解码的基本知识,相信阅读过的朋友,都有个基本的认识。音视频除了存储,还如何传输呢?比如直播互动,网上课堂等,这些场景中,音视频是如何实现在网络中传输呢?今天这篇文章,就讲解下,音视频的传输的基本知识。本文主要讲解一些基本的传输协议、拥塞控制,音视频同步,校验,QOS服务质量等。一.传输协议流媒体的很多协议都是在传统的TCP/UDP协议之上,加强流媒体在网络传输中的稳定性。在端...原创 2020-01-14 18:49:19 · 3888 阅读 · 0 评论 -
H264解码器原理之一
H264的层次结构包括VCL(视频编码层)与NAL(网络提取层),具体的语法结构,在之前的文章已经提到过,这里就不再赘述了。NAL主要是把VCL的内容进行封装,帮助更好的适合复杂的网络环境。在解码端,NAL解码器又复杂拆分,进行图像重构建,如下图所示解码流程图。大致的解码流程为,解码器接收到压缩的码流,经过熵解码,再经过反量化,再反变换,得到残差数据,当解码器获得解码的头信息后构建一个预测块PR...原创 2020-01-11 11:12:27 · 1099 阅读 · 0 评论 -
H.264详解之一
前面有一篇文章,利用H264举例,讲解了编码的基础知识。这篇文章,就详细的剖析H264。H264究竟是什么结构?为什么性能好?带着这些问题来讲解,来完成这篇文章。1.H264元素的分层结构H264每个基本元素由视频序列(Group of Picture),图像、片(slice)、宏块(block)、子宏块等组成。H264的元素对每个slice中的公共数据做了提取,减少了冗余度。H264的分...原创 2020-01-06 20:59:14 · 492 阅读 · 0 评论 -
视频编码的基础知识
视频编码的基础知识在流媒体的平台搭建过程中,编码是无法避免的一个话题,为什么要编码?熟悉流媒体的朋友都知道,编码是为了压缩原有输入源的大小,使其更好的适应网络带宽,特别是在网络带宽不是很好的情况,所以学习流媒体,编码技术的理解和学习显得很重要,首先我们就来讲讲编码的基础知识。这里以H264为例子来讲解。H264是什么?H264是市面上常见的编码算法,其中编码后的文件,能够高效的在网络实现传输...原创 2020-01-03 17:22:23 · 561 阅读 · 0 评论