写点什么

开发者工具|15 款音视频开发者必备实用工具,看看你用过几个?

  • 2023-11-17
    广东
  • 本文字数:4635 字

    阅读完需:约 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 个主要入口:


在这里插入图片描述


  1. 录像机:用于录屏制作 gif 或视频

  2. 摄像头:实时采集摄像头数据制作 gif 或视频

  3. 画板:提供白板,实时记录画笔绘制画面,保存为 gif 或视频

  4. 编辑器:编辑视频或 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

⚓️ 下载链接

​https://obsproject.com/

🎯 功能介绍

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

⚓️ 官方网站

https://opencv.org

🎯 功能介绍

​OpenCV​​​基于​​C++​​​实现,但提供了​​Python​​​、​​Java​​​、​​Matlab​​​等接口,并支持​​Windows​​​、​​Linux​​​、​​Mac​​​、​​Android​​​以及​​iOS​​​等主流操作系统。在图像处理、图像分类、目标检测、图像分割、风格迁移、图像重构、超分辨率、图像生成、人脸识别等​​CV​​领域都有广泛的使用。

简单来说,​​Photoshop​​​里面用到的功能都可以通过​​OpenCV​​来实现, 就问你它强不强!




🔨 推荐 9 SRS(Simple Realtime Server)


在这里插入图片描述


📌 一句话描述 :一款简单、高效的实时视频服务器。

👀 开源地址

https://www.zego.im?sourse=infoq&article56

⚓️ 下载链接

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。


在这里插入图片描述


⚓️ 官方网址

https://www.zego.im

🎯 功能介绍

  1. 实时音视频, 可实现多人聊天室

  2. 即时通信,可实现聊天 App

  3. 元宇宙,捏脸,虚拟形象聊天


在这里插入图片描述





🔨 推荐 11 wireshark


在这里插入图片描述


📌 一句话描述 :是一个网络封包分析软件,可以分析网络实时收发数据包。

👀 开源地址​https://github.com/wireshark/wireshark​

⚓️ 下载链接​https://www.wireshark.org/#download​

🎯 功能介绍

  1. 支持分析数百种网络协议,并实时更新最新的新协议。

  2. 支持在线抓包,离线分析。

  3. 支持主流操作系统平台。

  4. 支持丰富且强大的包过滤语法

  5. 支持读取分析多种文件格式:​​tcpdump​​​(​​libpcap​​​), ​​Pcap NG​​等。

  6. 支持抓取多种物理接口:​​Ethernet​​​, ​​IEEE 802.11​​​, ​​PPP/HDLC​​​, ​​ATM​​​, ​​Bluetooth​​​, ​​USB​​等。

  7. 支持分析解密多种安全协议:​​IPsec​​​, ​​ISAKMP​​​, ​​Kerberos​​​, ​​SNMPv3​​​, ​​SSL/TLS​​​, ​​WEP​​​, ​​WPA/WPA2​​等。


在这里插入图片描述





🔨 推荐 12 mitmproxy

📌 一句话描述 :为测试人员和软件开发人员提供的交互式 TLS 拦截 HTTP 代理。

👀 开源地址

​https://github.com/mitmproxy/mitmproxy​

⚓️ 官方网站

​https://mitmproxy.org/​

🎯 功能介绍

  1. mitm 提供了命令行、Web 界面、Python 库三种使用方式。

  2. 命令行如下所示。


在这里插入图片描述


  1. Web 界面如下所示。


在这里插入图片描述


  1. 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​

🎯 功能介绍

  1. 一种二进制数据交换格式。可以将​​C++​​中定义的存储类的内容与二进制序列串相互转换,主要用于数据传输或保存

  2. 定义了一种源文件,扩展名为​​.proto​​​(类比​​.cpp​​文件),使用这种源文件,可以定义存储类的内容

  3. ​protobuf​​​有自己的编译器​​protoc​​​,可以将​​.proto​​​编译指定语言源代码,如​​.cc​​​、​​.py​​​、​​.js​​等主流编程语言源码。




🔨 推荐 14 protobuf inspector

📌 一句话描述 :对未知结构的​​Protocol Buffer​​数据逆向并可视化结构。

👀 开源地址

​https://github.com/mildsunrise/protobuf-inspector​

⚓️ 安装使用


pip install protobuf-inspector
复制代码


🎯 功能介绍

  1. 安装库​​pip install protobuf-inspector​

  2. 安装完后可以直接使用命令行​​protobuf_inspector < my-protobuf-blob​​​,其中​​my-protobuf-blob​​​是未知的​​pb​​数据包。

  3. 示例如下:


$ protobuf_inspector < my-blobroot:    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​

🎯 功能介绍

  1. 在线网站体验:超轻量​​PP-OCR mobile​​​模型体验地址:​​https://www.paddlepaddle.org.cn/hub/scene/ocr​

  2. 移动端​​demo​​​体验:​​安装包DEMO下载地址​​(基于 EasyEdge 和 Paddle-Lite, 支持 iOS 和 Android 系统)

  3. 一行命令快速使用:​​快速开始(中英文/多语言/文档分析)​

用户头像

还未添加个人签名 2023-03-07 加入

还未添加个人简介

评论

发布
暂无评论
开发者工具|15款音视频开发者必备实用工具,看看你用过几个?_音视频开发_音视频开发_AIZ_InfoQ写作社区