开发者工具|15款音视频开发者必备实用工具,看看你用过几个?
对于音视频开发者来说,有个高效的辅助工具能大大提升开发效率。今天博主推荐这些年来桌面必备的工具,如果您觉得对你有用,可以收藏防止下次找不到。
🔨 推荐1 Ghips
📌 一句话描述 :仅
600KB
的开源软件,通过GitHub官方API获取所有IP,并自动找到最快IP。
👀 开源地址
https://github.com/aardio/Ghips
⚓️ 下载链接
https://github.com/aardio/Ghips/releases/latest/download/Ghips.7z
🎯 功能介绍
Ghips
通过GitHub
官方API获取所有IP
,并自动找到最快IP
。将得到的最快IP写入到本地hosts
。
注意:更新
IP
后首次访问GitHub
会比较慢,稍等就快了。
🔨 推荐2 ScreenToGif
📌 一句话描述 :提供录屏转
gif
、gif
编辑、视频转gif
等功能。
👀 开源地址
https://github.com/NickeManarin/ScreenToGif
⚓️ 下载链接
https://github.com/NickeManarin/ScreenToGif/releases
🎯 功能介绍
主要包含4个主要入口:
- 录像机:用于录屏制作gif或视频
- 摄像头:实时采集摄像头数据制作gif或视频
- 画板:提供白板,实时记录画笔绘制画面,保存为gif或视频
- 编辑器:编辑视频或gif,可以将视频或gif相互转换
对于录制视频,ScreenToGif
可选定屏幕区域执行录屏,并可设定fps
,如下图所示。
对选定的视频
、gif
或录制好的内容
,包含如下所示的编辑功能
📢推荐总结:凡是涉及到gif相关的工作,强烈推荐Screen2Gif工具
🔨 推荐3 屏幕拾色器
📌 一句话描述 :ColorPicker是一款基于MFC实现的屏幕拾色器。
👀 开源地址
https://github.com/hufuman/colorpicker
⚓️ 下载链接
https://raw.githubusercontent.com/hufuman/colorpicker/master/ColorPicker.exe
🎯 功能介绍
鼠标所移之处实时显示RGB值,当确定选取当前位置的像素值时,按快捷键:ctrl + 1
。
🔨 推荐4 OBS Studio
📌 一句话描述 :对个人电脑配置要求低,只需推流地址即可实现屏幕内容录制并推流直播。
👀 开源地址
https://github.com/obsproject/obs-studio?source=cnblog&article56
⚓️ 下载链接
https://obsproject.com/?source=cnblog&article56
🎯 功能介绍
OBS Studio是一款免费开源的屏幕录制和实时流媒体软件,支持Windows、Linux和Mac操作系统。对资源占用较少,配置要求底。只需要有推流地址比如抖音推流地址,即可完成屏幕实时录制推流到抖音直播。
对于直播开发者来说,OBS是一款不错的测试客户端。
🔨 推荐5 ffmpeg
📌 一句话描述 :FFmpeg是可以用于音频、视频、图像格式转换、编解码、切换压缩算法等非常强大的工具。
👀 开源地址
https://github.com/FFmpeg/FFmpeg
⚓️ 下载链接
https://github.com/FFmpeg/FFmpeg/releases
🎯 功能介绍
毫不夸张地说,市面上80%以上视频处理类的软件(或App)底层都用到了ffmpeg库。对于ffmpeg库,底层通过C++直接调用;对于非开发者而言,可以直接调用官方编译好的工具通过命令行调用。
- 图片方面,图片格式转换,图片转视频等。
- 视频采集方面,ffmpeg可以设置帧率(fps),编解码算法(h264,h265等),设置码率(bps)等。
- 视频格式方面,ffmpeg可以实现多种视频格式之间的相互转换(wma,rm,avi,mod等)。
- 直播方面,ffmpeg可以推流直播。
🔨 推荐6 Image Watch
📌 一句话描述 :Opencv官方出品的VisualStudio插件,它可以让开发者在调试一个OpenCV程序时,直观地看到内存中的图像,并能直接在调试界面中做一系列的图像操作。
⚓️ 获取方式
VisualStudio菜单 -> 工具 -> 扩展和更新(U)... -> 联机 -> 在右上角的搜索栏中直接搜索Image Watch -> 在搜索的结果点击下载即可。
🎯 功能介绍
在需要可视化的Mat对象后面加一个断点,触发断点后,在ImageWatch界面中会列出当前上下文中的所有Mat对象,点击Mat对象即可显示对应的图片,并且放大后可以看到具体的像素值。
🔨 推荐7 Open Image Debugger
📌 一句话描述 :Open Image Debugger用于在调试期间可视化内存图片,与Image Watch功能类似,不过Open Image Debugger更多聚焦在Linux和Mac系统上。
👀 开源地址
https://github.com/OpenImageDebugger/OpenImageDebugger
⚓️ 下载链接
https://github.com/OpenImageDebugger/OpenImageDebugger/releases/tag/v1.3.0
🎯 功能介绍
Open Image Debugger用于在调试期间可视化内存图片, 图片对象可以为Opencv的Mat以及Eigen的matrices,兼容GDB和LLDB。主要包含以下特性:
- GUI交互:
- 滚轮放缩,拖拽移动缓存区
- 对缓存区顺时针或逆时针旋转90度
- 跳转到任意像素位置
- 缓存值:放大到极限后,显示对应的像素数值。
- 自动更新:缓存视图会自动更新内容。
- 自动对比度:缓冲区中的整个值范围可以自动映射到可视化范围[0,1],其中0表示黑色,1表示白色。
- 对比度范围可以手动调整,这对于检查具有极值(例如无穷大、nan和其他异常值)的缓冲区非常有用。
- 视图链接在一起,在屏幕上移动任何单个缓冲区时同时移动所有关注的缓冲区。
- 支持的缓冲区类型:uint8_t,int16_t,uint16_t、int32_t、uint32_t,float和double
- 支持的缓冲通道:最多四个通道(灰度、两个通道、RGB和RGBA)
- 支持GPU加速
📢推荐总结:对于使用QT Creator的应用,Open Image Debugger调试OpenCV还是非常有用的。
🔨 推荐8 OpenCV
📌 一句话描述 :大名鼎鼎的Opencv,提供了汇编级优化过的图像处理算法集。
👀 开源地址
https://github.com/opencv/opencv
⚓️ 官方网站
🎯 功能介绍
OpenCV
基于C++
实现,但提供了Python
、Java
、Matlab
等接口,并支持Windows
、Linux
、Mac
、Android
以及iOS
等主流操作系统。在图像处理、图像分类、目标检测、图像分割、风格迁移、图像重构、超分辨率、图像生成、人脸识别等CV
领域都有广泛的使用。
简单来说,Photoshop
里面用到的功能都可以通过OpenCV
来实现, 就问你它强不强!
🔨 推荐9 SRS(Simple Realtime Server)
📌 一句话描述 :一款简单、高效的实时视频服务器。
👀 开源地址
⚓️ 下载链接
https://github.com/ossrs/srs/releases
🎯 功能介绍
SRS(Simple Realtime Server)
是一个简单高效的实时视频服务器,支持 RTMP
/WebRTC
/HLS
/HTTP-FLV
/SRT
/GB28181
,它是高性能的流媒体服务器。可以用来构建直播和视频会议的后端服务。SRS
项目的目标是降低(不能消除)音视频的门槛。
核心功能,如下:
更多技术细节可以参考官方文档:https://ossrs.net/lts/zh-cn/docs/v4/doc/getting-started
🔨 推荐10 免费额度大的第三方实时音视频SDK
对于新手来说,音视频的门槛真的非常高。前面也说了音视频开发门槛是无法消除的,最快的方式是借助第三方搭建好的实时音视频平台。市面上有很多,这里我简单介绍一下平时用的多的【即构平台】。
📌 一句话描述 :免费额度大,整体性价比高,适合个人开发者快速搭建一个带有实时视频或直播的App。
⚓️ 官方网址
🎯 功能介绍
- 实时音视频, 可实现多人聊天室
- 即时通信,可实现聊天App
- 元宇宙,捏脸,虚拟形象聊天
🔨 推荐11 wireshark
📌 一句话描述 :是一个网络封包分析软件,可以分析网络实时收发数据包。
👀 开源地址
https://github.com/wireshark/wireshark
⚓️ 下载链接
https://www.wireshark.org/#download
🎯 功能介绍
- 支持分析数百种网络协议,并实时更新最新的新协议。
- 支持在线抓包,离线分析。
- 支持主流操作系统平台。
- 支持丰富且强大的包过滤语法
- 支持读取分析多种文件格式:
tcpdump
(libpcap
),Pcap NG
等。 - 支持抓取多种物理接口:
Ethernet
,IEEE 802.11
,PPP/HDLC
,ATM
,Bluetooth
,USB
等。 - 支持分析解密多种安全协议:
IPsec
,ISAKMP
,Kerberos
,SNMPv3
,SSL/TLS
,WEP
,WPA/WPA2
等。
🔨 推荐12 mitmproxy
📌 一句话描述 :为渗透测试人员和软件开发人员提供的交互式TLS拦截HTTP代理。
👀 开源地址
https://github.com/mitmproxy/mitmproxy
⚓️ 官方网站
🎯 功能介绍
-
mitm提供了命令行、Web界面、Python库三种使用方式。
-
命令行如下所示。
-
Web界面如下所示。
-
Python库, python调用方式如下:
from mitmproxy import http
def request(flow: http.HTTPFlow):
# redirect to different host
if flow.request.pretty_host == "example.com":
flow.request.host = "mitmproxy.org"
# answer from proxy
elif flow.request.path.endswith("/brew"):
flow.response = http.Response.make(
418, b"I'm a teapot",
)
🔨 推荐13 protobuf
📌 一句话描述 :通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
👀 开源地址
https://github.com/protocolbuffers/protobuf
⚓️ 下载链接
https://github.com/protocolbuffers/protobuf/releases
🎯 功能介绍
- 一种二进制数据交换格式。可以将
C++
中定义的存储类的内容与二进制序列串相互转换,主要用于数据传输或保存 - 定义了一种源文件,扩展名为
.proto
(类比.cpp
文件),使用这种源文件,可以定义存储类的内容 protobuf
有自己的编译器protoc
,可以将.proto
编译指定语言源代码,如.cc
、.py
、.js
等主流编程语言源码。
🔨 推荐14 protobuf inspector
📌 一句话描述 :对未知结构的
Protocol Buffer
数据逆向并可视化结构。
👀 开源地址
https://github.com/mildsunrise/protobuf-inspector
⚓️ 安装使用
pip install protobuf-inspector
🎯 功能介绍
- 安装库
pip install protobuf-inspector
- 安装完后可以直接使用命令行
protobuf_inspector < my-protobuf-blob
,其中my-protobuf-blob
是未知的pb
数据包。 - 示例如下:
$ protobuf_inspector < my-blob
root:
1 <varint> = 1469046243471
2 <chunk> = "kotlin46"
7 <chunk> = bytes (5)
0000 00 01 03 04 07 .....
8 <chunk> = empty chunk
9 <varint> = 250
10 <32bit> = 0x43480000 / 1128792064 / 200.000
14 <chunk> = message:
1 <chunk> = "POKECOIN"
14 <chunk> = message:
1 <chunk> = "STARDUST"
2 <varint> = 100
🔨 推荐15 PPOCR
📌 一句话描述 :非常小的OCR模型,可以用于日常图片中文字提取。
👀 开源地址
https://github.com/PaddlePaddle/PaddleOCR
⚓️ 官方教程
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5/README_ch.md
🎯 功能介绍
- 在线网站体验:超轻量
PP-OCR mobile
模型体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr - 移动端
demo
体验:安装包DEMO
下载地址(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统) - 一行命令快速使用:快速开始(中英文/多语言/文档分析)