音视频研发分享:关键帧截图+wasm快照--我又做了一件有益于社会的事情

news2024/11/27 0:36:01

音视频研发分享:关键帧截图+wasm快照--我又做了一件有益于社会的事情

  • 简单的一个视频设备快照功能到底有多费事多费电?
    • 新的方法
      • 有方法!
    • 省了多少电?

简单的一个视频设备快照功能到底有多费事多费电?

以前,我做多路视频设备接入的时候,为了能更好地展示设备当前的画面状态,我们经常是每隔3分钟、5分钟去设备取一次视频流,不管是GB28181设备通过SIP调阅,还是RTSP设备通过拉流调阅,亦或是SDK设备取流的过程,都是先取流,然后呢,通过像播放视频一样的过程,调用ffmpeg、avfilter、avcodec,从视频流中截取一张jpg图,保存在视频服务的目录里面,然后再以接口的形式发布给客户端,例如:
传统快照模式

这些图,都是平台费劲地从设备取过来的,然后就为了这么展示一下,废了多事?GB28181-》PS-》ES-》ffmpeg-》JPG,实际这些图片的展示率有多少?
可能一晚上机器都在不停的取流-》解码-》转码成图片,但是一晚上都没有一个人在看的,浪费了多少电?

新的方法

有什么方法可以解决这些浪费资源的事情呢?我们拆解了一下这个事情:

  1. 取流过程大多数情况下需要设备协议支持,比如让设备推送一个快照过来、比如让GB28181设备发一个关键帧过来,但是这个不通用,所以,还是得走老路,直接通过各种协议把流取过来;
  2. 数据流取过来之后,就是各种解封装,直到解成ES,这一步资源消耗很少,无所谓;
  3. 耗费资源的来了,ES-》JPG这个过程涉及了一次解码和一次编码,整个过程可以说是仅次于GPU视频分析的资源消耗,我们能不能把这部分省去?

有方法!

我们可以这样,我整个快照过程ES取流就到此为止,我们只需要根据需求,取到ES的IDR帧数据,然后将整个"sps+pps+I"存储下来,当做一个raw的快照保存就可以了,raw帧数据放到前端Web Assembly去解码,有人看就解码,没人看就不解码,这样就能省去很多事情

wasm前端解码
wasm快照解码
用视频分析工具看这就是一帧

省了多少电?

  1. 服务器不用再无时无刻解码、转图片了;
  2. 编码逻辑更简单了,关键帧就可以当图用,不要再费开发时间转图片;
  3. 充分利用客户端前端资源,看的时候解码一下RAW数据,比如1000路设备接入,快照间隔是5分钟(300s),也就是常规情况下,机器每秒要快照3张图片,而且是没日没夜的运行,现在不需要了,周末没人看视频,就不会产生任何编解码消耗!
    前端解码
    如果大家都采用这种方式,我们每年会给整个社会省多少电费?所以,做程序开发也是一个可以为社会做贡献的事情!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C# 基础精讲】构造函数和析构函数

构造函数(Constructor)和析构函数(Destructor)是面向对象编程中的两个重要概念,它们分别用于在对象创建和销毁的时候执行特定的操作。这两个函数在C#以及其他面向对象编程语言中都具有重要的作用,用于初始化…

机器学习笔记:李宏毅chatgpt 大模型 大资料

1 大模型 1.1 大模型的顿悟时刻 Emergent Abilities of Large Language Models,Transactions on Machine Learning Research 2022 模型的效果不是随着模型参数量变多而慢慢变好,而是在某一个瞬间,模型“顿悟”了 这边举的一个例子是&#…

剪映:制作特效的常用方法

在创作短视频时,常常需要为一些镜头添加或制作特效,以增加趣味性、提升影片的艺术渲染力。本文介绍几种在剪映专业版中快速添加或制作特效的常用方法。 一、使用特效库 在“特效”库中提供了大量的特效供下载使用。找到自己中意的特效,直接拖…

alphassl便宜通配符SSL证书推荐

AlphaSSL是一家提供SSL证书的CA认证机构,其证书可以保护网站的安全性,防止黑客攻击和信息泄露。AlphaSSL的证书价格实惠,安全性高,AlphaSSL的证书还可以与各种服务器和网站平台兼容,包括Apache、IIS、Tomcat和Nginx等。…

【C# 基础精讲】类和对象的概念

在面向对象编程(Object-Oriented Programming,OOP)中,类和对象是两个核心概念,用于描述和实现现实世界中的实体和关系。OOP 是一种编程范式,通过将数据和操作封装为对象来组织和管理代码,使得代…

大模型时代,如何重塑AI人才的培养?知名高校专家为您解答

当下,随着人工智能技术的快速发展,大模型已经成为了人工智能发展的新方向,同时也对新时代AI人才的需求和培养带来了新的思考与挑战,需要结合当下社会对复合型AI人才的需求进行新思考,创新AI人才培养模式,以…

基于frida检测demo来学习frida检测及anti

原文地址:https://www.zhuoyue360.com/crack/108.html 前言 随着逆向的攻防强度不断的提升,目前主流的移动安全厂商的加固服务基本上都已包含了常见Hook框架的反调试,我们最常见的hook工具如下: fridaxposed 为了更好的提升自己相关的经验,我们可以拿这类demo来进行原理的学…

如何限制运行时间的一则考虑

在日常使用中,会遇到限制过期时间的问题,但是,对于时间的判断,很难找到一个信任根!如果没有信任根,这个问题其实无从判断。 从实用的角度来设计,我们假定可以找到一个相对可信的信任根&#xf…

从零实战SLAM-第三课(李群与李代数)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

2023年中国负极石墨用坩埚市场规模现状及前景分析:负极材料为行业增长助推器[图]

负极石墨用坩埚分为再生坩埚和石墨匣钵,其中,再生坩埚主要应用于艾奇逊炉工艺的石墨化工序,石墨匣钵主要应用于预碳化和碳化工序。 负极石墨用坩埚分类 资料来源:共研产业咨询(共研网) 得益于动力电池的旺…

Git Cherry-pick使用

概述 无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难。有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交。这个过程被称为 "挑拣", 即 Cherry-pick。 本…

java获取到heapdump文件后,如何快速分析?

简介 在之前的OOM问题复盘之后,本周,又一Java服务出现了内存问题,这次问题不严重,只会触发堆内存占用高报警,没有触发OOM,但好在之前的复盘中总结了dump脚本,会在堆占用高时自动执行jstack与jm…

百度云盘发展历程与影响

摘要: 百度云盘作为中国领先的云存储与共享服务提供商,自其创立至今经历了多个阶段的发展与变革。本论文通过对百度云盘的历史回顾与分析,探讨了其在技术、商业模式、用户体验以及对社会的影响等方面的演变。同时,还分析了在竞争激…

谈谈Java开发语言

目录 1.概念 2.特点 3.应用领域 4.就业情况 1.概念 Java是一种面向对象的编程语言,它由James Gosling和他的团队在1995年于Sun Microsystems(现在是Oracle Corporation)开发出来。Java的设计目标是让开发者能够编写一次代码,在…

服务器安装Tomcat

下载Tomcat 下载地址在这: Tomcat官网 下载完成以后把压缩包上传到服务器中(我传到了www/java),进行解压(解压到),如果没有进行指定解压到哪里,默认是到root文件夹中 tar -zxvf /www/java/apache-tomcat-9.0.103.tar.…

策略模式实战应用

场景 假设做了个卖课网站,会员等级分为月vip、年vip、终生vip,每个等级买课的优惠力度不一样,传统的写法肯定是一堆的 if-else,现在使用策略模式写出代码实现 代码实现 策略模式的核心思想就是对扩展开放,对修改关闭…

Leetcode33 搜索旋转排序数组

题解: /*** 旋转排序数组可分为N1 N2两个部分,如:[4,5,6,7,1,2,3],N1为[4,5,6,7],N2为[1,2,3]** 必然满足以下两个条件:* 1. N1和N2都是分别递增的;* 2. N1中的所有元素大于N2中的所有元素;** …

matlab解常微分方程常用数值解法1:前向欧拉法和改进的欧拉法

总结和记录一下matlab求解常微分方程常用的数值解法,本文先从欧拉法和改进的欧拉法讲起。 d x d t f ( x , t ) , x ( t 0 ) x 0 \frac{d x}{d t}f(x, t), \quad x\left(t_{0}\right)x_{0} dtdx​f(x,t),x(t0​)x0​ 1. 前向欧拉法 前向欧拉法使用了泰勒展开的第…

GitOps实践 | 企业生产环境Jenkins流水线分享,从Gitlab到镜像构建到部署测试以及企业微信消息通知...

关注回复【学习交流群】加入【安全开发运维】答疑交流群 目录: 0x00 前言简述 描述: 当前在企业内部开发中最常用的CI/CD(持续集成和交付),总是可以看到Jenkins(大叔)的身影,其作为老牌开源的CI/CD工具&…

【Minecraft】Fabric Mod开发完整流程3 - 配方与挖掘等级

目录 新配方工作台配方无序合成配方有序合成配方 熔炉配方 挖掘等级与掉落物挖掘等级标准等级配置易错点分析 战利品与掉落物普通方块掉落物矿石方块掉落物 新配方 工作台配方 为便于你快速创建配方,可以直接去这个网站上通过拖拽的方式创建属于你的配方表&#xf…