音视频开发常见的开源项目汇总

FFmpeg

  1. 地址https://ffmpeg.org/
  2. 介绍:FFmpeg 是一个非常强大的开源多媒体框架,它可以用来处理视频和音频文件。它支持多种格式的转换、编码、解码、转码、流处理等。FFmpeg 包括了 libavformat、libavcodec、libavutil、libswscale、libpostproc 等多个库,以及 ffmpeg、ffplay、ffprobe 等命令行工具。它支持广泛的音视频格式转换、编解码、流媒体、滤镜和设备操作,并且可以在多个平台上运行,如 Windows、Linux、Mac、iOS、Android 等。FFmpeg在多媒体处理领域被广泛尊称为"瑞士军刀",基本能解决所有关于音视频应用的问题;目前市面上所有音视频应用软件底层基本都使用了FFmpeg。
  3. 标志

WebRTC

  1. 中文地址https://www.webrtc.org.cn/
  2. 介绍:WebRTC(Web Real-Time Communication)是一种支持网页浏览器进行实时语音对话或视频对话的技术。它允许直接在浏览器中进行音视频通信,而无需任何插件,并支持点对点通信,这意味着通信双方可以直接交换数据,而无需通过服务器。WebRTC 包括了多个API和协议,能够实现音频、视频和数据的实时传输。目前在实时音视频应用领域底层基本都采用了WebRTC技术。
  3. 标志

x264/x265

  1. 地址x264x265
  2. 介绍:x264是H.264视频编码器的开源实现,而x265则是HEVC/H.265视频编码器的开源实现,用于生成符合相应标准的视频码流。可以说x264是最好的符合H.264标准的视频编码器,x265是最好的符合HEVC标准的视频编码器。二者都属于VLC项目组中的项目。
  3. 标志

Opus

  1. 地址https://opus-codec.org/
  2. 介绍:Opus 是一种开源的音频编码格式,由 IETF 标准化,集成了 SILK 和 CELT 两种声音编码技术。它专为互联网上的交互式语音和音频传输设计,能够处理各种音频应用,包括 IP 语音、视频会议、游戏内聊天、流音乐以及远程现场音乐表演。Opus 支持从低比特率的窄带语音到高质量的立体声音乐,具有非常低的算法延迟,适合用于低延迟语音通话的编码。支持的比特率范围从 6 kb/s 到 510 kb/s,单一频道最高支持 256 kb/s。Opus 编码器的实现包括 libopus 编解码器库、opusfile 封装器、opusenc 和 opusdec 工具以及 opusinfo 工具。
  3. 标志

ijkplayer

  1. 地址https://github.com/bilibili/ijkplayer
  2. 介绍:IJKPlayer 是一个基于 FFmpeg 的开源多媒体播放器框架,由 Bilibili 开发并维护,支持 Android 和 iOS 平台。它具有跨平台、高度可定制、稳定性高和占用资源少等特点。IJKPlayer 支持多种视频格式,如 MP4、FLV、MKV、AVI 等,并且支持硬件加速解码,以提高视频播放的流畅度和清晰度。
  3. 标志:无。

GPUImage

  1. 地址https://github.com/BradLarson/GPUImage
  2. 介绍:GPUImage 是一个非常著名的基于 OpenGL 的图像和视频处理框架,它为 iOS 和 Android 开发者提供了强大的图像处理能力。它内置了超过 120 多种常见的滤镜效果,并且支持实时相机和摄像机的滤镜处理,同时也能够自定义图像滤镜。
  3. 标志

VLC media player

  1. 地址https://www.videolan.org/vlc/libvlc.html
  2. 介绍:VLC Media Player 是一款广受欢迎的自由、开源的跨平台多媒体播放器及框架,由 VideoLAN 组织开发。它能够播放大多数多媒体文件格式,包括但不限于 MPEG-1、MPEG-2、MPEG-4、DivX、DVD、VCD 以及各种流媒体协议。VLC 不需要用户安装额外的编解码器,因为它已经内置了对多种格式的支持,如 MP3、MKV、WMV、WEBM、MPEG-2、MPEG-4 和 H.264 等。
  3. 标志

Jitsi

  1. 地址https://jitsi.org/
  2. 介绍:Jitsi 是一个开源的实时通信项目,提供了一系列工具和库,用于实现包括安全的视频通话、会议、聊天、桌面共享以及文件传输在内的多种功能。Jitsi Meet 是 Jitsi 项目中最为知名的部分,它是一个基于 WebRTC 技术的开源语音、视频会议和即时消息服务。用户可以通过 Web 浏览器加入会议,无需安装任何插件,也支持通过移动应用或桌面应用进行会议。
  3. 标志

live555

  1. 地址http://live555.com/
  2. 介绍:Live555 是一个为流媒体提供解决方案的跨平台的 C++ 开源项目,它实现了对标准流媒体传输协议如 RTP/RTCP、RTSP、SIP 的支持。Live555 支持多种音视频编码格式的流化、接收和处理,包括 MPEG、H.264、H.265、H.263+、DV、JPEG 视频和多种音频编码。由于其良好的设计,Live555 非常容易扩展对其他格式的支持。
  3. 标志

Seetaface

  1. 地址https://github.com/seetaface
  2. 介绍:SeetaFace 是由中国科学院计算技术研究所的 VIPL(Visual Perception and Learning)团队开发的开源人脸识别引擎。它包含三个核心模块:人脸检测(SeetaFace Detection)、面部特征点定位(SeetaFace Alignment)以及人脸特征提取与比对(SeetaFace Identification),能够实现从图像或视频中检测人脸、定位面部特征点以及提取人脸特征并进行识别的全套流程。
  3. 标志

Soundtouch

  1. 地址http://soundtouch.surina.net/
  2. 介绍:SoundTouch 是一个开源的音频处理库,由 Olli Parviainen 开发。它能够实现音频的变速、变调和变速同时变调等功能,而不会降低音频质量。这个库特别适合用于实时处理媒体流和音频文件。
  3. 标志

OBS Studio

  1. 地址https://obsproject.com/
  2. 介绍:OBS,全称为Open Broadcaster Software,是一个开源的直播和录屏软件,广泛用于视频录制和直播推流。它支持多平台,包括Windows、macOS和Linux,提供了强大的音视频混流功能,非常适合视频博主和游戏直播人员使用。
  3. 标志

libyuv

  1. 地址https://chromium.googlesource.com/libyuv/libyuv/
  2. 介绍:Libyuv 是一个由 Google 开源的 YUV 图像处理库,它提供了包括缩放、格式转换、旋转等功能。Libyuv 支持多种 YUV 格式之间的转换,包括从摄像头格式转换为 YUV 格式,以及从 YUV 格式转换为 RGB 格式。此外,libyuv 还支持图像的旋转功能,可以旋转 90、180 或 270 度,适用于移动设备在不同方向上的显示需求。Libyuv 还针对不同的处理器架构进行了专门的指令集优化,如 SSSE3/AVX2 在 x86/x64 上,Neon 在 ARM 上,MSA 在 MIPS 上,以及 RVV 在 RISC-V 架构上的优化。
  3. 标志:无

OpenCV

  1. 地址https://opencv.org/
  2. 介绍:OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉库,它提供了广泛的编程函数,用于图像处理、视频捕获和分析、特征检测、机器学习、深度学习等。
  3. 标志

openh264

  1. 地址https://github.com/cisco/openh264
  2. 介绍:OpenH264 是由 Cisco 开源的 H.264 视频编解码器,它提供了适合实时应用的编码和解码功能,特别适用于 WebRTC 等场景。
  3. 标志:无

JSMpeg

  1. 地址https://jsmpeg.com/
  2. 介绍:JSMpeg 是一个用 JavaScript 编写的视频播放器,它能够解码 MPEG1 视频和 MP2 音频。这个播放器包括 MPEG-TS 解复用器、MPEG1 视频解码器、MP2 音频解码器、WebGL 和 Canvas2D 渲染器以及 WebAudio 音频输出。JSMpeg 支持通过 Ajax 加载静态视频文件,并且可以通过 WebSockets 实现低延迟(约50ms)的流媒体播放。
  3. 标志

AV1

  1. 地址https://aomedia.org/
  2. 介绍:AV1(Alliance for Open Media Video 1)是由开放媒体联盟(AOM)开发的新一代视频编码标准,旨在提供更高效的视频压缩,同时保持视频质量。AV1 相较于前代编码标准如 VP9,实现了更高的压缩效率和更好的视频质量。它支持高达 12 位颜色深度,允许更广泛的颜色范围和更好的视觉表现,并在颜色分级和后处理方面提供了更大的灵活性。AV1 支持从标清到超高清(4K 和 8K)的分辨率,并为自适应流提供可扩展性。
  3. 标志

SDL

  1. 地址https://www.libsdl.org/
  2. 介绍:在音视频开发领域,SDL(Simple DirectMedia Layer)是一个非常重要的开源库。它提供了跨平台的音频、视频、键盘、鼠标、游戏杆和图形硬件的低级访问,使得开发者能够通过编写一套代码实现在多个操作系统上的运行。SDL 特别适用于开发游戏、模拟器、媒体播放器等多媒体应用。
  3. 标志

SRS

  1. 地址https://ossrs.net/lts/zh-cn/
  2. 介绍:SRS(Simple Realtime Server)是一个开源的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。
  3. 标志
相关推荐
cuijiecheng20188 小时前
音视频入门基础:AAC专题(4)——ADTS格式的AAC裸流实例分析
音视频·aac
_xaboy9 小时前
开源项目低代码表单FormCreate中通过接口加载远程数据选项
低代码·开源·formcreate·低代码表单·低代码设计器
wly47692308317 小时前
ChatGPT 有什么新奇的使用方式?
人工智能·gpt·chatgpt·ai作画·区块链·音视频
0点51 胜17 小时前
[ffmpeg] 音视频编码
ffmpeg·音视频
sysin.org17 小时前
VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件
开源·虚拟化·virtualbox
Java指南修炼17 小时前
一个开源的大语言模型(LLM)服务工具,支持Llama 3.1、Phi 3、Mistral、Gemma 2 等, 87.4k star你必须拥有(附源码)
人工智能·后端·语言模型·开源·源码
DisonTangor19 小时前
DepthCrafter:为开放世界视频生成一致的长深度序列
人工智能·计算机视觉·音视频
0点51 胜19 小时前
[ffmpeg]音频格式转换
开发语言·c++·ffmpeg
中式代码美式咖啡1 天前
记录开发一个英语听力训练网站
java·spring boot·bootstrap·音视频·语音识别
神一样的老师1 天前
使用卷积神经网络进行人类活动识别的特征学习:惯性测量单元和音频数据的案例研究
学习·cnn·音视频