对于音视频开发者来说,有个高效的辅助工具能大大提升开发效率。今天博主推荐这些年来桌面必备的工具,如果您觉得对你有用,可以收藏防止下次找不到。

? 一句话描述 :仅
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?source=cnblog&article56
⚓️ 下载链接
https://obsproject.com/?source=cnblog&article56
? 功能介绍
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
⚓️ 官方网站
? 功能介绍
OpenCV基于C++实现,但提供了Python、Java、Matlab等接口,并支持Windows、Linux、Mac、Android以及iOS等主流操作系统。在图像处理、图像分类、目标检测、图像分割、风格迁移、图像重构、超分辨率、图像生成、人脸识别等CV领域都有广泛的使用。
简单来说,Photoshop里面用到的功能都可以通过OpenCV来实现, 就问你它强不强!

? 一句话描述 :一款简单、高效的实时视频服务器。
? 开源地址
⚓️ 下载链接
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://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
⚓️ 官方网站
? 功能介绍
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-inspectorprotobuf_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系统)我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现