音视频开发者都用什么工具|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

在这里插入图片描述

一句话描述 :提供录屏转gifgif编辑、视频转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++实现,但提供了PythonJavaMatlab等接口,并支持WindowsLinuxMacAndroid以及iOS等主流操作系统。在图像处理、图像分类、目标检测、图像分割、风格迁移、图像重构、超分辨率、图像生成、人脸识别等CV领域都有广泛的使用。

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



推荐9 SRS(Simple Realtime Server)

在这里插入图片描述

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

开源地址

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

推荐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. 命令行如下所示。
    在这里插入图片描述

  3. Web界面如下所示。
    在这里插入图片描述

  4. 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-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

功能介绍

  1. 在线网站体验:超轻量PP-OCR mobile模型体验地址:https://www.paddlepaddle.org.cn/hub/scene/ocr
  2. 移动端demo体验:安装包DEMO下载地址(基于EasyEdge和Paddle-Lite, 支持iOS和Android系统)
  3. 一行命令快速使用:快速开始(中英文/多语言/文档分析)

你可能感兴趣的:(开发者百宝箱,开发工具,音视频开发,直播)