2019
05-28

WebRTC研究:关键帧请求 915 VIEW

WebRTC采用UDP传输流媒体数据,不可避免存在丢包情况。WebRTC主要采用FEC(Forward Error Correction,前向纠错)以及NACK(negative-acknowledge character,否定应答)对抗网络丢包。对于NACK,遇到丢包了才通知发送端重传对应数据包,但不是所有情况下某个包丢了就一定重传该包,有些场景下,重传该包会带来其它问题,例....Read More >
2019
03-25

ZLMediaKit高并发实现原理 357 VIEW

ZLMediaKit高并发实现原理 欢迎对流媒体服务开发感兴趣的关注该项目,同时也可以加下QQ群(见文末)进一步交流。 项目介绍 ZLMediaKit是一套高性能的流媒体服务框架,目前支持rtmp/rtsp/hls/http-flv流媒体协议。该项目已支持linux、macos、windows、ios、andr....Read More >
2019
03-24

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

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

Windows平台WebRTC编译-VS2017 3717 VIEW

Windows平台WebRTC编译-VS2017 在音视频领域,想深入研究的话,必定会接触WebRTC。WebRTC是一个庞大的工程,就像是音视频领域的百科全书,音视频采集,编解码,传输,渲染等一条龙在WebRTC里都有,而且WebRTC还有很多先进的音视频处理算法。由于WebRTC代码过于庞大,所以最好单步调试跟踪代码运行,这....Read More >
2019
03-08

Ubuntu vaapi-ffmpeg开发环境搭建 1721 VIEW

最近要在Linux上做编解码开发,为了成本考虑,没用NVIDIA的方案,用了Intel编解码方案。大家都知道Intel在Windows上有个Intel Media SDK的方案,比较常用,支持的CPU型号也多,在Linux上也有类似方案,叫做Intel Media Server Studio。但是Intel Media Server Studio支持的型号比较少,如下是官方文档....Read More >
2019
02-23

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

安防视频播放秒开优化 在视频播放中,播放器立即出图像(秒开)非常重要。能够极大提高用户的体验度。网上有很多关于直播行业秒开的优化经验,但是没有安防行业的,安防行业跟直播还是有些不一样的,下面说下一些安防行业视频秒开的优化经验。直播行业视频封装传输遵循RTMP/HLS/DASH这些标准。安防行业....Read More >
2018
12-23

vlc播放rtsp over tcp画面突然卡住问题 2220 VIEW

继完成rtmp服务器开发后,最近也写完了rtsp服务器,可以将国标ps流以及其他格式协议码流转rtsp协议输出。中间开发过程用了许多播放器测试,最常用的就是vlc。使用vlc测试过程,遇到了许多问题。今天就记录一个比较奇怪的问题。使用rtp over udp模式播放时,没出现问题,但是使用rtp over tcp模式时,vlc播放几十秒后画面突然卡住不动了,看了vlc ....Read More >