3 田野

杭州海康威视数字技术股份有限公司 - 视频云开发工程师

我要认证

目前从事一些音视频开发和AI工程化工作,有较为丰富的视频监控行业经验,感兴趣的可以交流学习:智媒黑板报。

等级
TA的排名 22w+

音视频常见问题分析和解决:HLS切片丢帧引起的视频卡顿问题排查

​问题背景:前两天看读者留言让再写写音视频问题排查方面的思路,前面大概写几篇:《音视频播放疑难杂症分析和解决 :序篇》、《音视频常见问题分析和解决:延时和抖动》、《记一次因为丢帧导致视频播放花屏问题的排查》。今天继续这个系列补充。由于移动互联网的快速发展,现在一些音视频IOT相关的智能设备如IPC、智能猫眼等,有很多移动端浏览器或者微信小程序的播放需求,这种情况我们用了HLS+TS方案。近期上线后,发现视频整体播放没有啥大问题,但是仔细看还是感觉有点卡顿,不仔细看不容易发现,就这个视频卡顿问题进行了

2020-07-20 09:05:26

HLS+FMP4方案对H.265+AAC支持要点

​问题背景:2017年的苹果WWDC大会上,苹果宣布HEVC支持HLS,涉及了iOS、MacOS和tvOS等系统终端。苹果之所以乐意这个事情,首先HLS就是他们家的,近些年一直把HLS致力于推成Web标准,其次苹果手握大量H.265的专利,也不想谷歌的AOM对应的VP9标准一家独大,HLS虽然延时有些大,但不可否认的,目前HLS是跨平台做的最好的协议。我们之所以想实现下这块是因为近年来:1.视频监控领域现在摄像头和NVR对H.265支持的越来越好,很多设备后台默认配置现在就是H.265,所.

2020-06-09 19:39:01

流媒体传输协议:RTMP、HLS和RTSP介绍

​问题背景:​问题背景:流媒体传输协议经过几十年的发展,越来越丰富。近期的SRT、DASH、QUIC等都已经在实际中有所应用,但是这些协议里面应用最成熟,最广的协议还是RTSP/RTP/RTCP、HLS和RTMP协议。同时这些协议背后解决的问题和设计思想大同小异,所以作为流媒体入门可以从这些协议入手,进行学习和实践。同时这些协议的资料丰富,实验环境也容易搭建。近期给身边同学分享这块内容时,写了点PPT介绍了下这些协议最基础和最重要的部分,共享出来作为大家学习阅读参考,同时也算流媒体传输协议.

2020-05-27 08:55:14

译:构建音视频直播应用需要考虑的12件事

​问题背景:近期看到一篇音视频技术周刊的一篇文章《12 Things to Consider When Buildinga Live Streaming App》,感觉写的还不错,是Red5官网挂出来的一篇博客,对设计、构建一个流媒体平台系统有一定的参考意义。这里简单翻译一下,以飨读者。其中Red5是一个采用Java开发的Flash流媒体服务器,与之对标的有Nginx-Rtmp、SRS和FMS等。打造一个流媒体平台除了像一般后端服务要求那样,比如性能、扩展性、可维护性以及可测试性,还有其它音视频技.

2020-05-12 09:05:45

基于HLS-TS&RTMP-FLV的微信小程序点直播方案

​问题背景:视频监控不仅仅要上云,还要支持多端播放,这一块在移动端APP和PC端难度不大,只要能实现一个简单的播放器引擎内核,然后交叉编译为不同端的SDK就可以。随着移动互联网的发展,特别是微信生态的完善。很多客户都在做轻量的微信小程序,所以支持在网页、微信小程序的点直播就很有必要了。在微信小程序上实现视频点直播,好处是不用装APP,随时随地能打开,便于分享,也容易和公众号等其它功能...

2020-04-23 09:59:00

一图看懂音视频核心技术栈(框架、工具和场景)

​其实前面整理过一波音视频技术栈涉及的核心内容和工具,这篇在上篇基础上再次进行补充。目的就是为了让大家快速对音视频技术有一个框架性的认识,同时也便于刚入门小白对这部分内容有一个清晰的学习脉络。如果你么看这篇文章《音视频基础知识:流媒体核心技术梳理》建议先点进去看下,这篇无非就是更详细点。上图,可以放大看:如果没办法看清,可以去下面git链接下载,里面有大量的音视频文档和...

2020-04-15 13:51:08

国产开源流媒体SRS4.0对视频监控GB28181的支持

前言:本篇文章是第一篇介绍SRS的文章,后续应该还会有一些测试和使用经验的文章,同时可能会有一些源码阅读笔记。本篇文章主要是介绍下国产开源流媒体SRS涉及的入门资料,SRS前期对标的nginx-rtmp-module,是国内第一款真正开源的流媒体服务,应用在直播和RTC领域。但是成立同学志存高远,不仅仅局限于某一个行业,近期WebRTC、SRT、GB28181支持的都很快,希望大家都能参与进来...

2020-04-09 09:32:53

从视频马赛克看编码量化参数对流控的作用

问题背景:最近我们做了一个小项目,通过对接亚马逊的开放API,将智能家居中的自营摄像头视频可以投屏到Alexa智能音箱上,可以对着喊一句:alexa,open the door。就可以将安装在门外的摄像头唤醒,然后观看视频直播。这即丰富了智能家居落地场景,也解放了双手,不用再打开APP查看云存储视频和直播了。但是在排查客户问题过程中国,发现有一款摄像头的视频,如果画面静止不动播放...

2020-04-01 10:31:10

如何给中间件和可执行程序打上GIT版本和编译时间

​问题背景:平时开发很多的C/C++后台服务或者中间件,这些成果物以可执行的二进制程序或者以动态库、静态库的形式部署在线上。一旦将该服务上线,出问题后一般都需要我们确定该程序的版本分支和版本号,下面介绍一种简单方法将程序的编译信息硬编译到二进制成果物中。解决目标:给成果物符号文件中加上git提交版本号和编译日期,允许通过strings或者nm命令查询该成果物的符号文件,然后通过g...

2020-01-19 09:15:59

家庭消费类摄像头选择攻略和隐私保护小建议

​问题背景:由于毕业后一直在这个安防圈内,朋友有时咨询我应该买哪家的摄像头,说想装到家里看娃看门和陪伴老人。为了避免广告嫌疑,下面推荐几款,各有利弊大家自由选择。同时给出买消费类摄像头的注意事项。其实这种推荐和大家买手机一样,就是看下品牌,外观和功能,专业一点的人会看下CPU型号、内存、拍照功能。摄像头也类似,基本也需要关注一些基本功能和设备参数,同时家庭消费类摄像头有一个关注点比较重要就是隐...

2019-12-23 10:14:09

记一次因为丢帧导致视频播放花屏问题的排查

​问题背景:最近开发了一个HLS服务,主要是满足用户在浏览器上播放直播和点播视频的需求,特别像小程序或者微信这种,只有有链接就能查看视频,也不用装APP,还是方便不少。在开发过程中排查了一次花屏问题,感觉比较典型,分享下排查思路,其实这种问题排查思路在前文讲过,这篇就是对这篇文章中提出思路的实践。PS:如果你对本篇文章感兴趣或者实际你们遇到了什么开发问题,抑或这篇文章跟你的工作有...

2019-11-29 09:27:22

SDP在RTSP、国标GB28181、WebRTC中的实践

​问题背景:无论你是用微信进行视频电话还是开Zoom视频会议,按照OSI网络七层参考模型,我们进行这些活动之前一般都要先建立一组会话。在建立会话的过程中,我们需要描述下会话的一些信息,描述这种会话能力时用到了SDP协议,也就是会话描述协议Session Description Protocol,协议详细内容在RFC4566中规定。这么说可能不够直白,大白话解释就是:由于Web端、IOS、A...

2019-11-13 09:14:33

视频监控摄像头的互联网化实践思路

​问题背景:最近在SRS群里回答一些视频监控设备上云问题时,SRS开源作者让我写一篇文章介绍下视频监控摄像头的互联网化实践思路,很有幸毕业这几年工作的大体方向都跟这个有关系,本篇就抛砖引玉说下视频监控设备上云的一些实践和思考。本篇文章核心内容大致分为下面几个部分,你可以选择感兴趣篇章阅读,如果你对视频监控行业比较陌生,可以看看以前这篇文章《从人类的第一次直播聊聊视频监控行业》:为什么监...

2019-11-04 09:46:57

周末活动回顾:视频质量主观评价、实时RTC架构和AV1进展

​问题背景:周末去网易参加了一个小型的音视频活动,活动上来自Bilibili、网易云信、微帧科技的大佬分别就视频质量主观评价、5G低延时通信、AV1等话题进行了分享。本篇文章记录下我的收获和一些关键点,做个搬运匠,放一些当时的PPT和我的一些理解,希望对你有所帮助。了解更多可以关注本人公众号:智媒黑板报Bilibili汤然:视频质量主观对比分析实践简要介绍:汤同学目前主要在...

2019-10-29 11:19:07

在HTML5上开发音视频应用的五种思路

​问题背景:无论是实时视频监控还是直播点播等应用场景,最起码的一个操作就是播放视频。其中最基本的思路就是利用OS的API在PC开发桌面应用、在移动端开发Native App,目前这种技术已经成熟,大厂小厂都是这么做的,但是缺点也很明显:开发比较费时费力,需要IOS开发一遍再去Android开发一遍。特别对于一些非刚性需求比如用户家里有一两个监控摄像头,一个礼拜也不会打开看几次,你却要他下载和安...

2019-10-25 12:26:59

音视频解封装:MP4核心Box详解及H264&AAC打包方案

​问题背景:上一篇文章《音视频封装:MP4结构概述和分析工具》让大家看了下MP4的主要结构和推荐了一些分析工具,如果你对MP4没有任何了解,还是先看上文,了解MP4的基本结构,其中还有许多工具需要下载和使用。这篇文章借助一个实例分析下核心Box的语法结构和字段含义,其次总结下H264码流的是如何打包到MP4中的,这篇文章也是下篇文章计算一些音视频信息,实现音视频操作和对MP4码流处理的基础。...

2019-10-16 09:18:05

音视频封装:MP4结构概述和分析工具推荐

问题背景:前面已经讲了好几种封装格式包括了TS、FLV、RTP等。现在用几篇文章讲解下MP4,这种封装格式设计思路和前面都不太一样,其应用范围最广、灵活性最高、跨平台最好,兼容性最强。带来的负面影响就是格式本身比较复杂,特别是在封装和转封装方面代码实现起来比较长。这个系列会和前面讲解思路一样,本篇会讲解下MP4的整体框架和结构,下篇会讲解下MP4的详细标准,同时用一个实例分析下对应字段含义...

2019-10-09 19:01:39

音视频压缩:H264码流层次结构和NALU详解

问题背景:前面在讲封装格式过程中,都有一个章节讲解如何将H.264的NALU单元如何打包到TS、FLV、RTP中,解装刚好相反,怎么从这些封装格式里面解析出一个个NALU单元。NALU即是编码器的输出数据又是解码器的输入数据,所以在封装和传输时,我们一般处理对象就是NALU,至于NALU内部到底是什么则很少关心。甚至我们在编解码时,我们只需要初始化好x264编码库,然后输入YUV数据,它就会给...

2019-09-30 13:40:24

音视频播放疑难杂症分析和解决思路

问题背景:音视频相较于其他业务开发,门槛比较高的一个原因开发过程遇到问题比较多,而且每个问题背后都需要一定的理论基础和丰富的调试经验的才能分析出来。有些音视频开发小白,遇到一些诸如视频卡顿、声画不同步等问题完全一脸懵逼,不知道从何处进行分析。我曾经在海康开发维护过一段时间的线上服务和基础库,一天基本需要排查十几个这种疑难杂症,而且这些问题表现形式非常灵活,有些是黑屏、花屏,有些直接播放端卡死发...

2019-09-27 14:05:08

音视频封装格式:AAC音频基础和ADTS打包方案详解

问题背景:现在主流的封装格式支持的音视频编码标配是H264+AAC,其中像TS、RTP、FLV、MP4都支持音频的AAC编码方式。当然,后继者不乏Opus这种编码方式,它主要应用在互联网场景,比如现在谷歌的WebRTC音视频解决方案就用的Opus,最新发布的Android10支持的音视频编码方式就是AV1和Opus,但是AAC目前在广电,安防,电影院等还是应用最多,Opus目前还不足以威胁到A...

2019-09-27 13:58:24

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。