Tag Archives: 音视频

2019
11-21

Intel平台硬件加速视频编解码开发 261 VIEW

Intel平台硬件加速视频编解码开发 视频编解码分为硬件加速以及非硬件加速。硬件加速是指通过显卡,FPGA等硬件进行视频编解码,由于硬件有专门优化,所以性能高,能耗低,非硬件加速编解码是指通过CPU进行视频编解码,性能就没那么高(虽然有相关CPU指令优化),由于视频编解码计算量很大,所以能耗也很高。在PC平台上主流的硬件加速编解码有Intel集成显卡,Nvidia显卡。Nvidia平台的编解码用的比较多,网上资料也多,接口也很简单,但....Read More >
2019
09-02

WebRTC研究:丢包判断 419 VIEW

使用RTP协议封装数据时,我们可以通过RTP头部的序列号连续性判断是否丢包。但由于RTP头部序列号只有两字节表示,值范围[0,65535],存在回绕问题(参考之前文章:WebRTC研究:RTP中的序列号以及时间戳比较,建议先阅读一遍此文章)。所以判断序列号连续性时得考虑回绕问题。下面我们就结合WebRTC这相关源码,讲下如何有效地根据序列号进行丢包判断。首先看下这块代码,代码位于src\modules\video_coding中的jitter_buffer.cc中: [crayon-5....Read More >
2019
08-25

音视频开发入门:音频基础 408 VIEW

音视频开发入门:音频基础 什么是声音 介质振动在听觉系统中产生的反应。是一种波。因为是一种波,所以我们可以用频率、振幅等描述。图1.蚊子翅膀振动产生声音传到人耳频率与振幅 有两个基本的物理属性:频率与振幅。声音的振幅就是音量,也叫作响度,频率是单位时间振动次数,频率的高低就是指音调,频率用赫兹(Hz)作单位。图2.声音波形 人耳只能听到20Hz到20kHz范围的声音。小于20HZ的叫次声波,大....Read More >
2019
07-06

WebRTC研究:RTP中的序列号以及时间戳比较 683 VIEW

WebRTC研究:RTP中的序列号以及时间戳比较 在使用RTP协议时,如果需要网络对抗,保障QoS(Quality of Service,服务质量),我们需要通过序列号以及时间戳的比较,以进行丢包、乱序等处理。但是有个问题,比如一个RTP包,序列号为number1:5000,另一个RTP包序列号为number2:60000,可以说60000一定比5000大,是个更新的RTP包吗?当然不是了,首先我们先重温下RTP数据包的结构。....Read More >
2019
05-28

WebRTC研究:关键帧请求 1204 VIEW

WebRTC采用UDP传输流媒体数据,不可避免存在丢包情况。WebRTC主要采用FEC(Forward Error Correction,前向纠错)以及NACK(negative-acknowledge character,否定应答)对抗网络丢包。对于NACK,遇到丢包了才通知发送端重传对应数据包,但不是所有情况下某个包丢了就一定重传该包,有些场景下,重传该包会带来其它问题,例如增大延时,缓存过大,同时也可能发送端没有该数据包缓存,导致无法重传,此时会放弃重传该包。由于关键帧可以单独解码出图像,....Read More >
2019
03-25

ZLMediaKit高并发实现原理 404 VIEW

ZLMediaKit高并发实现原理 欢迎对流媒体服务开发感兴趣的关注该项目,同时也可以加下QQ群(见文末)进一步交流。 项目介绍 ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows、ios、android平台,支持的编码格式包括H264、AAC、H265(仅rtsp支持H265);采用的模型是多线程IO多路复用非阻塞....Read More >
2019
03-24

ffmpeg视频编码YUV与AVFrame对应关系 516 VIEW

最近群里有人问:NV12格式,怎么对应AVFrame中的data[0],data[1],data[2]。其实ffmpeg视频编码,YUV与AVFrame对应关系很简单。在视频编码时,我们需要把YUV数据拷贝到AVFrame.data中,视频编码有硬件加速以及非硬件加速两种,所以对应关系也有两种。硬件加速编码 指通过显卡进行硬件加速编码,例如指定vaapi进行编码。使用硬件加速编码时,YUV输入格式一般都是NV12,我做过的Intel以及Nvidia编码都是这样。之所以使用NV1....Read More >
2019
02-23

安防视频播放秒开优化 1022 VIEW

安防视频播放秒开优化 在视频播放中,播放器立即出图像(秒开)非常重要。能够极大提高用户的体验度。网上有很多关于直播行业秒开的优化经验,但是没有安防行业的,安防行业跟直播还是有些不一样的,下面说下一些安防行业视频秒开的优化经验。直播行业视频封装传输遵循RTMP/HLS/DASH这些标准。安防行业视频播放都是遵循GBT28181。目前常见的视频编码格式有H264/H265/MPEG-4/Svac,通常都封装为PS流....Read More >