当前位置: 首页 > news >正文

音视频开源项目列表

音视频开源项目列表

一、多媒体处理框架

通用音视频处理

  • FFmpeg - https://github.com/FFmpeg/FFmpeg

    • 最强大的音视频处理工具库
    • 支持几乎所有格式的编解码
    • 提供命令行工具和开发库
  • GStreamer - https://gitlab.freedesktop.org/gstreamer/gstreamer

    • 跨平台多媒体框架
    • 基于管道的媒体处理
    • 丰富的插件系统
  • libav - https://github.com/libav/libav

    • FFmpeg的分支项目
    • 更专注于代码整洁性
    • API与FFmpeg类似
  • MediaPipe - https://github.com/google/mediapipe

    • Google的多媒体机器学习框架
    • 支持人脸检测、手势识别等
    • 跨平台支持

二、流媒体传输

WebRTC相关

  • WebRTC - https://webrtc.googlesource.com/src/

    • Google实时通信框架
    • 支持音视频通话、屏幕共享
    • P2P通信核心库
  • Janus Gateway - https://github.com/meetecho/janus-gateway

    • WebRTC网关服务器
    • 支持多种信令协议
    • 可扩展的插件架构
  • mediasoup - https://github.com/versatica/mediasoup

    • WebRTC SFU媒体服务器
    • 高性能C++实现
    • 支持多语言客户端
  • Kurento - https://github.com/Kurento/kurento-media-server

    • WebRTC媒体服务器
    • 支持录制、转码等功能
    • 提供丰富的API

RTMP/HLS/DASH相关

  • SRS (Simple Realtime Server) - https://github.com/ossrs/srs

    • 简单高效的流媒体服务器
    • 支持RTMP/HLS/WebRTC
    • 国产优秀开源项目
  • nginx-rtmp-module - https://github.com/arut/nginx-rtmp-module

    • Nginx的RTMP模块
    • 支持RTMP推流和播放
    • 可与Nginx生态集成
  • Node-Media-Server - https://github.com/illuspas/Node-Media-Server

    • 基于Node.js的流媒体服务器
    • 支持RTMP/HLS/DASH
    • 易于部署和扩展
  • Live555 - http://www.live555.com/liveMedia/

    • RTSP/RTP协议栈实现
    • C++编写,跨平台
    • 用于IP摄像头等场景

三、播放器

跨平台播放器

  • VLC - https://github.com/videolan/vlc

    • 最流行的开源播放器
    • 支持几乎所有音视频格式
    • 跨平台,功能强大
  • MPV - https://github.com/mpv-player/mpv

    • 轻量级高性能播放器
    • 基于FFmpeg和libass
    • 支持硬件加速
  • Kodi - https://github.com/xbmc/xbmc

    • 开源媒体中心软件
    • 支持插件扩展
    • 适合HTPC使用

移动端播放器

  • ijkplayer - https://github.com/bilibili/ijkplayer

    • Bilibili开源的移动端播放器
    • 基于FFmpeg,支持iOS/Android
    • 轻量级,性能优秀
  • ExoPlayer - https://github.com/google/ExoPlayer

    • Google官方Android播放器
    • 支持DASH、HLS等协议
    • 高度可定制
  • GSYVideoPlayer - https://github.com/CarGuo/GSYVideoPlayer

    • Android视频播放器
    • 支持多种播放内核
    • 功能丰富,易于集成

Web播放器

  • video.js - https://github.com/videojs/video.js

    • HTML5视频播放器
    • 插件系统丰富
    • 跨浏览器兼容性好
  • flv.js - https://github.com/bilibili/flv.js

    • B站开源的FLV播放器
    • 纯JavaScript实现
    • 支持HTTP-FLV播放
  • hls.js - https://github.com/video-dev/hls.js

    • JavaScript HLS播放器
    • 支持MSE技术
    • 轻量级,性能好

四、编解码器

视频编解码

  • x264 - https://www.videolan.org/developers/x264.html

    • 最流行的H.264编码器
    • 高性能,广泛使用
    • 支持多种预设和参数
  • x265 - https://github.com/videolan/x265

    • H.265/HEVC编码器
    • 更高压缩率
    • 支持HDR和10bit
  • OpenH264 - https://github.com/cisco/openh264

    • Cisco开源的H.264编解码器
    • BSD许可证
    • 适合WebRTC使用
  • libvpx - https://github.com/webmproject/libvpx

    • VP8/VP9编解码器
    • Google开发
    • WebM格式核心
  • libaom - https://aomedia.googlesource.com/aom/

    • AV1编解码器参考实现
    • 下一代视频编码标准
    • 开放媒体联盟开发
  • SVT-AV1 - https://github.com/OpenVisualCloud/SVT-AV1

    • Intel的AV1编码器
    • 高性能实现
    • 适合服务器端使用

音频编解码

  • Opus - https://github.com/xiph/opus

    • 现代音频编解码器
    • 低延迟,高质量
    • 适合实时通信
  • LAME - https://lame.sourceforge.io/

    • MP3编码器
    • 高质量实现
    • 广泛使用
  • FLAC - https://github.com/xiph/flac

    • 无损音频编解码器
    • 开源免费
    • 音乐爱好者首选
  • Speex - https://github.com/xiph/speex

    • 语音编解码器
    • 针对人声优化
    • 支持降噪等功能

五、音频处理

音频库

  • PortAudio - http://www.portaudio.com/

    • 跨平台音频I/O库
    • 支持多种音频API
    • 实时音频处理
  • RtAudio - https://github.com/thestk/rtaudio

    • C++音频I/O库
    • 简单易用的API
    • 跨平台支持
  • OpenAL - https://github.com/kcat/openal-soft

    • 3D音频API
    • 游戏音频常用
    • 支持空间音效

音频处理工具

  • SoX - https://sourceforge.net/projects/sox/

    • 音频处理瑞士军刀
    • 命令行工具
    • 支持多种音频效果
  • Audacity - https://github.com/audacity/audacity

    • 开源音频编辑器
    • 图形界面
    • 功能丰富
  • Ardour - https://github.com/Ardour/ardour

    • 专业数字音频工作站
    • 多轨录音和编辑
    • 支持插件

六、计算机视觉

图像处理

  • OpenCV - https://github.com/opencv/opencv

    • 最流行的计算机视觉库
    • 丰富的图像处理算法
    • 支持多种编程语言
  • dlib - https://github.com/davisking/dlib

    • 机器学习工具库
    • 人脸检测和识别
    • C++实现,性能优秀
  • ImageMagick - https://github.com/ImageMagick/ImageMagick

    • 图像处理工具集
    • 命令行和API
    • 支持多种图像格式

视频分析

  • OpenPose - https://github.com/CMU-Perceptual-Computing-Lab/openpose

    • 人体姿态估计
    • 实时多人检测
    • 基于深度学习
  • YOLO - https://github.com/ultralytics/yolov5

    • 目标检测框架
    • 实时性能
    • 易于训练和部署

七、实时通信

信令服务器

  • Janus - https://github.com/meetecho/janus-gateway

    • WebRTC网关
    • 支持多种协议
    • 插件架构
  • Kurento - https://github.com/Kurento/kurento-media-server

    • 媒体服务器
    • WebRTC支持
    • 录制和处理功能
  • Coturn - https://github.com/coturn/coturn

    • TURN/STUN服务器
    • NAT穿透必备
    • 高性能实现

SIP/VoIP

  • FreeSWITCH - https://github.com/signalwire/freeswitch

    • 软交换平台
    • 支持多种协议
    • 企业级通信方案
  • Asterisk - https://github.com/asterisk/asterisk

    • 开源PBX系统
    • VoIP电话系统
    • 强大的可扩展性
  • PJSIP - https://github.com/pjsip/pjproject

    • SIP协议栈
    • 跨平台支持
    • 音视频通信库

八、工具和实用程序

分析工具

  • MediaInfo - https://github.com/MediaArea/MediaInfo

    • 媒体文件信息分析
    • 支持多种格式
    • GUI和CLI版本
  • ffprobe - FFmpeg工具集的一部分

    • 媒体流分析工具
    • 详细的技术信息
    • 命令行工具
  • VLC media player - 内置分析功能

    • 编解码信息查看
    • 流媒体分析
    • 图形界面

开发工具

  • OBS Studio - https://github.com/obsproject/obs-studio

    • 开源直播和录制软件
    • 插件系统
    • 跨平台支持
  • Kdenlive - https://github.com/KDE/kdenlive

    • 开源视频编辑器
    • 非线性编辑
    • 丰富的特效
  • Shotcut - https://github.com/mltframework/shotcut

    • 跨平台视频编辑器
    • 基于MLT框架
    • 易于使用

九、移动端SDK

Android

  • CameraX - https://developer.android.com/training/camerax

    • Google相机库
    • 简化相机开发
    • 兼容性好
  • Mobile FFmpeg - https://github.com/tanersener/mobile-ffmpeg

    • 移动端FFmpeg
    • iOS/Android支持
    • 轻量级实现

iOS

  • GPUImage - https://github.com/BradLarson/GPUImage2

    • GPU加速图像处理
    • 实时滤镜
    • Swift实现
  • LFLiveKit - https://github.com/LaiFengiOS/LFLiveKit

    • iOS直播推流SDK
    • RTMP推流
    • 美颜滤镜

跨平台

  • React Native Video - https://github.com/react-native-video/react-native-video

    • React Native视频组件
    • 跨平台播放器
    • 易于集成
  • Flutter Video Player - https://pub.dev/packages/video_player

    • Flutter视频播放插件
    • 官方维护
    • 跨平台支持

十、AI音视频处理

语音识别

  • Whisper - https://github.com/openai/whisper

    • OpenAI语音识别模型
    • 多语言支持
    • 高准确率
  • DeepSpeech - https://github.com/mozilla/DeepSpeech

    • Mozilla语音识别引擎
    • 端到端深度学习
    • 开源免费

音频AI

  • Spleeter - https://github.com/deezer/spleeter

    • 音源分离工具
    • 人声提取
    • 基于深度学习
  • RVC - https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI

    • AI变声工具
    • 实时语音转换
    • Web界面

视频AI

  • Real-ESRGAN - https://github.com/xinntao/Real-ESRGAN

    • 图像超分辨率
    • 视频增强
    • 实用的AI模型
  • DeepFaceLab - https://github.com/iperov/DeepFaceLab

    • 深度换脸技术
    • 视频人脸替换
    • 强大的训练工具

这些开源项目涵盖了音视频开发的各个方面,从基础的编解码到高级的AI处理。选择合适的项目可以大大加快开发进度,同时通过阅读源码也能深入学习音视频技术。建议从简单的项目开始,逐步深入到更复杂的系统级项目。

相关文章:

音视频开源项目列表

音视频开源项目列表 一、多媒体处理框架 通用音视频处理 FFmpeg - https://github.com/FFmpeg/FFmpeg 最强大的音视频处理工具库支持几乎所有格式的编解码提供命令行工具和开发库 GStreamer - https://gitlab.freedesktop.org/gstreamer/gstreamer 跨平台多媒体框架基于管道…...

论微服务架构及其应用

试题四 论微服务架构及其应用 微服务提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。在微服务架构中,每个服务…...

Spring Cloud与Service Mesh集成:Istio服务网格实践

文章目录 引言一、Spring Cloud与Service Mesh概述二、Istio服务网格架构三、Spring Cloud与Istio集成的基础设施准备四、服务发现与负载均衡五、流量管理与弹性模式六、安全通信与认证授权七、可观测性集成八、配置管理集成总结 引言 微服务架构已成为现代分布式系统的主流设…...

Day109 | 灵神 | 148.排序链表 | 归并排序

Day109 | 灵神 | 148.排序链表 | 归并排序 148. 排序链表 - 力扣(LeetCode) 以下是灵神的题解,笔者认为这题只要可以看懂就好了 两种方法:分治和迭代 文章目录 Day109 | 灵神 | 148.排序链表 | 归并排序前置题目方法一&#x…...

[更新完毕]2025东三省C题深圳杯C题数学建模挑战赛数模思路代码文章教学: 分布式能源接入配电网的风险分析

完整内容请看文章最下面的推广群 分布式能源接入配电网的风险分析 摘要 随着可再生能源渗透率的不断提升,分布式光伏发电在配电网中的大规模接入给传统电力系统运行带来了新的挑战。光伏发电固有的间歇性和波动性特征,加之配电网拓扑结构的复杂性&…...

ActiveMQ 集群搭建与高可用方案设计(二)

五、高可用方案设计与优化 (一)Zookeeper 在 ActiveMQ 集群中的应用 作用:在 ActiveMQ 集群中,Zookeeper 扮演着至关重要的角色。它主要用于选举 Master 节点,通过其内部的选举机制,从众多的 ActiveMQ Br…...

多协议 Tracker 系统架构与传感融合实战 第六章 多传感器时钟同步与数据对齐

第六章 多传感器时钟同步与数据对齐 摘要 本章围绕多源传感融合系统中——尤其是 IMU 与 UWB——的时钟同步与数据对齐问题展开,系统介绍: 硬件时钟源类型及漂移特性 软件校准策略:NTP/PTP 与自定义心跳同步 多源时钟同步算法:两阶段对齐与漂移补偿 数据缓冲与双队列对齐架…...

【算法基础】插入排序算法 - JAVA

一、算法基础 1.1 什么是插入排序 插入排序是一种简单直观的排序算法,它的工作原理类似于我们打牌时整理手牌的过程。插入排序的核心思想是将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的适当位置。 1.…...

#Paper Reading# DeepSeek-R1

论文题目: DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 论文地址: https://arxiv.org/pdf/2501.12948 论文发表于: arXiv 2025年1月 论文所属单位: DeepSeek 论文大体内容 本文提出DeepSeek-R1模型,主要是以DeepSeek-V3[…...

HTML与CSS实现风车旋转图形的代码技术详解

在前端开发中,HTML和CSS是构建网页的基础技术。通过巧妙运用HTML的结构搭建和CSS的样式控制,我们能够实现各种精美的视觉效果。本文将对一段实现旋转图形效果的HTML和CSS代码进行详细解读,剖析其中的技术要点。 一、运行效果 HTML与CSS实现风…...

AWS在跨境电商中的全场景实践与未来生态构建

AWS在跨境电商中的全场景实践与未来生态构建 一、核心应用场景与技术赋能 1. AI驱动运营效率革命 • 智能选品与市场分析:通过Amazon SageMaker机器学习平台,跨境电商企业可构建精准选品模型。陕西自贸试验区案例显示,AI对亚马逊等平台销…...

AWS云服务深度技术解析:架构设计与最佳实践

作为全球市场份额占比32%的云服务提供商(Synergy Research 2023数据),AWS的技术体系已成为企业级应用架构的标杆。本文将深入剖析AWS核心技术组件的实现原理,并附可落地的架构设计范式。 AWS云服务器:中国企业出海的“…...

130. 被围绕的区域

题目链接:130. 被围绕的区域 思路:使用两遍dfs,第一遍找到可以被替换区域的可进入点并记录,第二遍就从所有的可进入点入手遍历区域内所有点并替换。 这是我的思路,感觉还是挺新颖的(应该很少有人这样想我…...

【Linux】进程优先级与进程切换理解

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:Linux 目录 前言 一、进程优先级 1. 什么是进程优先级 2. 为什么有进程优先级 3. 进程优先级的作用 4. Linux进程优先级的本质 5. 修改进程优先级 二、进…...

数据分析与可视化实战:从鸢尾花到乳腺癌数据集

数据分析是现代数据科学中不可或缺的一部分,它帮助我们理解数据、发现模式并做出明智的决策。本文将分享两个实战案例:鸢尾花数据集分析和乳腺癌数据集预处理,展示如何使用Python进行数据探索和可视化。 鸢尾花数据集分析 数据加载与基本统…...

怎样提升社交机器人闲聊能力

怎样提升社交机器人闲聊能力 本文聚焦社交机器人闲聊能力,指出闲聊在社交中意义重大,当前大语言模型(LLMs)驱动社交机器人闲聊存在不足。通过实验评估ChatGPT-3.5、Gemini Pro和LLaMA-2等LLMs闲聊表现,发现其与人类闲聊存在差异。 为此提出基于观察者模型的反馈重定向方…...

图论之幻想迷宫

题目描述: 幻象迷宫可以认为是无限大的,不过它由若干个 NM 的矩阵重复组成。矩阵中有的地方是道路,用 . 表示;有的地方是墙,用 # 表示。LHX 和 WD 所在的位置用 S 表示。也就是对于迷宫中的一个点(x,y),如…...

数学实验Matlab

一、Matlab语言环境和线性代数实验 1.Matlab语言环境 Matlab简介 Matlab:Matrix Laboratry 矩阵实验室 Matlab 提供了强大的科学计算、灵活的程序设计流程、高质量的图形可视化与界面设计等功能,被广泛应用于科学计算、控制系统、信息处理等领域的分…...

AI日报 · 2025年5月03日|Perplexity 集成 WhatsApp,苹果传与 Anthropic 合作开发 Xcode

1、Perplexity AI 功能更新:新增 WhatsApp 集成与多项优化 Perplexity 于 5 月 2 日发布其每周更新摘要,重点包括新增 WhatsApp 集成,用户现可直接在 WhatsApp 内与 Perplexity AI 交互,显著提升了信息获取的便捷性 [1]。此次更新…...

Maven 实现多模块项目依赖管理

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...

【JavaScript-Day 2】开启 JS 之旅:从浏览器控制台到 `<script>` 标签的 Hello World 实践

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

Windows 中使用dockers创建指定java web 为镜像和运行容器

以下是在 Windows 中使用 Docker 创建 Java Web 应用镜像并运行容器的分步指南: 步骤 1:安装 Docker 下载并安装 Docker Desktop for Windows启动 Docker Desktop,确保使用 WSL 2 后端(推荐)或 Hyper-V。 步骤 2&…...

机器人--MCU

MCU MCU(Microcontroller Unit,微控制器) 是机器人的“神经末梢”,负责 实时控制、传感器接口、低层通信 等关键任务。 作用 MCU的核心作用 功能具体任务示例实时控制电机PWM生成、PID调节、紧急制动机械臂关节控制、无人机电调…...

从融智学视域快速回顾世界历史和主要语言文字最初历史证据(列表对照分析比较)

融智学视域下世界历史与语言文字起源对照分析表 以下从融智学五个基本范畴(物、意、文、道、理义法),梳理主要古代文明的文字起源,及其历史证据,并进行跨文明比较: 文明/文字 物(载体&#xf…...

JavaScript性能优化实战(8):缓存策略与离线优化

前言 在Web应用中,性能优化不仅仅是关于代码执行速度,还与资源获取和数据持久化密切相关。合理的缓存策略可以显著减少网络请求,提升应用响应速度,同时有效降低服务器负载和用户流量消耗。离线优化则进一步解决了网络不稳定或断网场景下的用户体验问题,为Web应用提供类似…...

quantization-大模型权重量化简介

原文地址 https://towardsdatascience.com/introduction-to-weight-quantization-2494701b9c0c/ https://towardsdatascience.com/4-bit-quantization-with-gptq-36b0f4f02c34/ 权重量化简介 大型语言模型(LLM) 以其庞大的计算需求而闻名。通常,模型的大小是通过将参…...

unity ScriptObject的使用

1.先定义一个类数据类型 [Serializable] public class FoodItemData { public int foodID; // 食物唯一ID public string foodName; // 食物名称 [TextArea(3, 10)] // 多行文本输入 public string description; // 食物描述 pu…...

广义线性模型三剑客:线性回归、逻辑回归与Softmax分类的统一视角

文章目录 广义线性模型三剑客:线性回归、逻辑回归与Softmax分类的统一视角引言:机器学习中的"家族相似性"广义线性模型(GLMs)基础三位家族成员的统一视角1. 线性回归(Linear Regression)2. 逻辑回归(Logistic Regression)3. Softmax分类(Softm…...

Linux时钟与时间API

深入理解 Linux 时钟与时间 API 时间是计算领域的基础概念之一。在 Linux 系统中,精确可靠的时间管理对于系统日志记录、任务调度、网络通信、性能分析、文件系统操作乃至应用程序的正确运行都至关重要。本文将深入探讨 Linux 中的时钟类型、相关的 C API、使用示例…...

闭包(Closure)及其作用和影响

一、闭包是什么 闭包(Closure)指的是​​一个函数能够记住并访问其词法作用域(lexical scope),即使该函数在其词法作用域之外执行​​。换句话说,闭包让函数可以“记住”它被创建时的环境。 闭包的核心特…...

toLua笔记

基本 LuaState luaStatenew LuaState(); luaState.Start(); luaState.DoString("xxx"); luaState.DoFile("yyy.lua"); luaState.Require("zzz");//不要加.lua后缀 luaState.CheckTop();//检查解析器栈顶为空 luaState.Dispose(); luaStatenull;…...

20:深度学习-多层感知器原理

深度学习-多层感知器的原理 ------------------常州龙熙机器视觉培训班-课程资料 1.单层感知机 多层感知机是由感知机推广而来,感知机学习算法(PLA: Perceptron Learning Algorithm)用神经元的结构进行描述的话就是一个单独的。 首先了解下单层感知机: b--常量 …...

高频数据冲击数据库的技术解析与应对方案

目录 前言一、问题现象与影响分析1.1 典型场景表现1.2 核心问题分类 二、失效根源深度剖析2.1 架构设计缺陷2.2 缓存策略缺陷 三、解决方案与最佳实践3.1 缓存架构设计3.1.1 分层缓存架构3.1.2 热点数据识别 3.2 缓存策略优化3.2.1 动态过期时间算法3.2.2 缓存更新策略对比 3.3…...

(37)VTK C++开发示例 ---纹理地球

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 将图片纹理贴到球体上,实现3D地球的效果。 该代码使用了 VTK (Visualization Toolkit) 库来创建一个纹理…...

LeetCode - 1137.第N个泰波那契数

目录 题目 解法 动态规划解法 核心思想 执行流程 具体例子 时间复杂度和空间复杂度 代码 题目 1137. 第 N 个泰波那契数 - 力扣(LeetCode) 解法 动态规划解法 核心思想 动态规划是一种通过将复杂问题分解为更小子问题来解决的算法方法。我将…...

智能决策支持系统的系统结构:四库架构与融合范式

前文我们已经了解了智能决策支持系统的基本概念以及基本构件,接下来我们了解一下系统结构。 有关“智能决策支持系统的基本概念”的内容,可看我文章:智能决策支持系统的基本概念与理论体系-CSDN博客 有关“智能决策支持系统的基本构建”的…...

单片机裸机环境下临界区保护

目录 1、直接中断屏蔽法 2、嵌套计数优化法 3、BASEPRI寄存器应用 4、动态优先级调整策略 5、LDREX/STREX指令应用 6、位带别名区原子访问 7、上下文感知保护 8、中断延迟优化技术 在嵌入式系统开发中,临界区保护是确保系统可靠性的关键技术。本文以ARM Cor…...

【数字电路】第六章 时序逻辑电路

一、时序逻辑电路概述 1.逻辑电路的分类 2.时序逻辑电路的一般结构形式 3.时序逻辑电路的描述方法 4.时序逻辑电路按触发器动作特点分类 5.时序逻辑电路按输出信号特点分类 6.常用时序逻辑电路 二、同步时序逻辑电路的分析 1.同步时序逻辑电路的分析方法 TTL触发器允许输入端…...

Spring Boot的GraalVM支持:构建低资源消耗微服务

文章目录 引言一、GraalVM原生镜像技术概述二、Spring Boot 3.x的GraalVM支持三、适配GraalVM的关键技术点四、构建原生镜像微服务实例五、性能优化与最佳实践总结 引言 微服务架构已成为企业应用开发的主流模式,但随着微服务数量的增加,资源消耗问题日…...

MySQL中的窗口函数

深入理解窗口函数(Window Functions) 窗口函数确实经常用于分组后为行分配序号(如1,2,3…),但它的功能远不止于此。窗口函数是SQL中极其强大的分析工具,可以让你在不减少行数的情况下进行复杂计算。 窗口函…...

WITH在MYSQL中的用法

WITH 子句(也称为公共表表达式,Common Table Expression,简称 CTE)是 SQL 中一种强大的查询构建工具,它可以显著提高复杂查询的可读性和可维护性。 一、基本语法结构 WITH cte_name AS (SELECT ... -- 定义CTE的查询…...

人工智能:如何快速筛选出excel中某列存在跳号的单元格位置?

前提: 电脑上必须提前安装好了【office AI】软件工具 方法如下: 1、打开要操作的excel表格,点击上方的【officeAI】,再点击左边的【右侧面板】按钮,就会出现如下右侧的【OfficeAI助手】 2、在OfficeAI助手的聊天框…...

动态功耗与静态功耗

0 英文缩写 SOI(Silicon on Insulator)绝缘体上硅FET(Field-Effect Transistor)场效应管CMOS(Complementary Metal Oxide Semiconductor)互补金属氧化物半导体 1 功耗分类 CMOS电路功耗主要可以通过如下…...

Webug4.0靶场通关笔记10- 第14关链接注入

目录 第14关 链接注入 1.打开靶场 2.源码分析 3.渗透实战 (1)方法1:跳转外部网页 (2)方法2:获取cookie 4.漏洞防御 本文通过《webug靶场第14关 链接注入》来进行渗透实战。 第14关 链接注入 链接注…...

PyTorch_指定运算设备 (包含安装 GPU 的 PyTorch)

PyTorch默认会将张量创建在 CPU 控制的内存中,即:默认的运算设备为 CPU。我们也可以将张量创建在 GPU 上,能够利用对于矩阵计算的优势加快模型训练。 将张量移动到 GPU 上有两种方法: 使用 cuda 方法直接在 GPU 上创建张量使用 …...

Pytorch-CUDA版本环境配置

Pytorch-CUDA版本环境配置 电脑如果是Windows平台下的Nvidia GPU的用户,需配置Pytorch的CUDA版本,分为三步: 1. 安装或更新NVIDA显卡驱动 官方驱动下载地址: https://www.nvidia.cn/Download/index.aspx?langcn 2. 安装CUDA To…...

力扣:24两两交换链表的节点

目录 1.题目描述: 2.算法思路: 3.代码展示: 1.题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能…...

SETNX的存在问题和redisson进行改进的原理

首先分布式锁的原理就是当锁不存在时则创建,创建到锁的线程则执行业务。但是在这些操作中会有一些问题,下面是redis命令setNX设置锁的代码片段 if(缓存中有){返回缓存中的数据 }else{获取分布式锁if(获取锁成功){try{查询数据库}finally{释放…...

抽象工厂模式(Abstract Factory Pattern)

很好!你现在已经开始接触设计模式了,而**抽象工厂模式(Abstract Factory Pattern)是一种常用于“创建一系列相关产品”**的经典设计模式。 我会一步步帮你理解: 🧠 一句话解释 抽象工厂模式:提…...

AVIOContext 再学习

这个目前阶段用的不多,暂时不要花费太多精力。 url 的格式不同,使用的传输层协议也不同。这块看代码还没看到自己想的这样。 目前看的信息是:avformatContext 的 io_open 回调函数 在默认情况下叫 io_open_default,在解复用的 av…...