对于音视频开发者来说,有个高效的辅助工具能大大提升开发效率。今天博主推荐这些年来桌面必备的工具,如果您觉得对你有用,可以收藏防止下次找不到。
一句话描述 :仅
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
会比较慢,稍等就快了。
一句话描述 :提供录屏转
gif
、gif
编辑、视频转gif
等功能。
开源地址
https://github.com/NickeManarin/ScreenToGif
⚓️ 下载链接
https://github.com/NickeManarin/ScreenToGif/releases
功能介绍
主要包含4个主要入口:
对于录制视频,ScreenToGif
可选定屏幕区域执行录屏,并可设定fps
,如下图所示。
对选定的视频
、gif
或录制好的内容
,包含如下所示的编辑功能
推荐总结:凡是涉及到gif相关的工作,强烈推荐Screen2Gif工具
一句话描述 :ColorPicker是一款基于MFC实现的屏幕拾色器。
开源地址
https://github.com/hufuman/colorpicker
⚓️ 下载链接
https://raw.githubusercontent.com/hufuman/colorpicker/master/ColorPicker.exe
功能介绍
鼠标所移之处实时显示RGB值,当确定选取当前位置的像素值时,按快捷键:ctrl + 1
。
一句话描述 :对个人电脑配置要求低,只需推流地址即可实现屏幕内容录制并推流直播。
开源地址
https://github.com/obsproject/obs-studio
⚓️ 下载链接
https://obsproject.com/
功能介绍
OBS Studio是一款免费开源的屏幕录制和实时流媒体软件,支持Windows、Linux和Mac操作系统。对资源占用较少,配置要求底。只需要有推流地址比如抖音推流地址,即可完成屏幕实时录制推流到抖音直播。
对于直播开发者来说,OBS是一款不错的测试客户端。
一句话描述 :FFmpeg是可以用于音频、视频、图像格式转换、编解码、切换压缩算法等非常强大的工具。
开源地址
https://github.com/FFmpeg/FFmpeg
⚓️ 下载链接
https://github.com/FFmpeg/FFmpeg/releases
功能介绍
毫不夸张地说,市面上80%以上视频处理类的软件(或App)底层都用到了ffmpeg库。对于ffmpeg库,底层通过C++直接调用;对于非开发者而言,可以直接调用官方编译好的工具通过命令行调用。
一句话描述 :Opencv官方出品的VisualStudio插件,它可以让开发者在调试一个OpenCV程序时,直观地看到内存中的图像,并能直接在调试界面中做一系列的图像操作。
⚓️ 获取方式
VisualStudio菜单 -> 工具 -> 扩展和更新(U)… -> 联机 -> 在右上角的搜索栏中直接搜索Image Watch -> 在搜索的结果点击下载即可。
功能介绍
在需要可视化的Mat对象后面加一个断点,触发断点后,在ImageWatch界面中会列出当前上下文中的所有Mat对象,点击Mat对象即可显示对应的图片,并且放大后可以看到具体的像素值。
一句话描述 :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。主要包含以下特性:
推荐总结:对于使用QT Creator的应用,Open Image Debugger调试OpenCV还是非常有用的。
一句话描述 :大名鼎鼎的Opencv,提供了汇编级优化过的图像处理算法集。
开源地址
https://github.com/opencv/opencv
⚓️ 官方网站
https://opencv.org
功能介绍
OpenCV
基于C++
实现,但提供了Python
、Java
、Matlab
等接口,并支持Windows
、Linux
、Mac
、Android
以及iOS
等主流操作系统。在图像处理、图像分类、目标检测、图像分割、风格迁移、图像重构、超分辨率、图像生成、人脸识别等CV
领域都有广泛的使用。
简单来说,Photoshop
里面用到的功能都可以通过OpenCV
来实现, 就问你它强不强!
一句话描述 :一款简单、高效的实时视频服务器。
开源地址
https://github.com/ossrs/srs
⚓️ 下载链接
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
对于新手来说,音视频的门槛真的非常高。前面也说了音视频开发门槛是无法消除的,最快的方式是借助第三方搭建好的实时音视频平台。市面上有很多,这里我简单介绍一下平时用的多的【即构平台】。
一句话描述 :免费额度大,整体性价比高,适合个人开发者快速搭建一个带有实时视频或直播的App。
⚓️ 官方网址
https://www.zego.im
功能介绍
一句话描述 :是一个网络封包分析软件,可以分析网络实时收发数据包。
开源地址
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
等。一句话描述 :为渗透测试人员和软件开发人员提供的交互式TLS拦截HTTP代理。
开源地址
https://github.com/mitmproxy/mitmproxy
⚓️ 官方网站
https://mitmproxy.org/
功能介绍
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",
)
一句话描述 :通过将结构化的数据进行序列化(串行化),用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
开源地址
https://github.com/protocolbuffers/protobuf
⚓️ 下载链接
https://github.com/protocolbuffers/protobuf/releases
功能介绍
C++
中定义的存储类的内容与二进制序列串相互转换,主要用于数据传输或保存.proto
(类比.cpp
文件),使用这种源文件,可以定义存储类的内容protobuf
有自己的编译器protoc
,可以将.proto
编译指定语言源代码,如.cc
、.py
、.js
等主流编程语言源码。一句话描述 :对未知结构的
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
一句话描述 :非常小的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/ocrdemo
体验:安装包DEMO
下载地址(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统)