- 博客(53)
- 问答 (1)
- 收藏
- 关注
原创 问题解决:WSL integration with distro ‘Ubuntu‘ unexpectedly stopped. Do you want to restart it?
可以发现我的ubuntu版本使用的是wsl1,而docker-desktop使用的是wsl2,两者无法兼容,所以要升级Ubuntu的wsl版本。首先:win+r 输入cmd进入控制面板,然后wsl --update,进行wsl的升级。发现两者版本对应了,
2025-02-17 10:12:23
1309
4
原创 配置cmake项目的环境的语法提示、智能导航、代码补全
通过在中设置,CMake 会在构建过程中生成文件。然后在中配置字段,指定文件的路径,并设置为。这样,C/C++ 扩展就可以利用文件中的信息,实现智能感知、代码导航、错误检查等功能。
2025-02-13 10:28:55
352
原创 crow服务器搭建(c++轻量级服务器)
第二处要修改的地方是install。主要难点是crow和asio库的适配,我喜欢使用独立的asio库,而非boost中的,所以自己在github上拉取了asio库,由于asio库是仅头文件库,所以不需要编译即可使用。官网:https://crowcpp.org/master/getting_started/setup/linux/注释掉的地方是官方原有的,这里的asio库是仅头文件的,所以不需要链接库,提供头文件路径即可。注意asio库的路径修改,我的asio库是直接放在crow项目目录下的。
2025-01-08 15:52:23
393
原创 c++中lamba表达式的使用方式
捕获列表允许您决定在哪个作用域内使用变量,并控制变量的生存期和修改能力。使用[&]捕获所有外部变量的引用,适合需要在 lambda 内部修改外部变量的场景,但要谨慎使用以避免悬空引用。常见的用法包括回调函数、事件处理、异步编程和逻辑简化,使代码更加简洁和高效。
2024-11-18 09:50:50
380
原创 在Ubuntu上配置python环境
是一个命令,用于在基于 Debian 的 Linux 系统(如 Ubuntu)上安装 Python 3.11 的虚拟环境模块。
2024-10-28 23:33:59
423
原创 linux系统中ps命令的使用
在 Linux 系统中,ps是一个用于显示当前运行进程的命令。ps -ef是其中一种常用的格式选项。-e-A-f总结起来,ps -ef命令会列出系统上所有运行的进程,并以详细格式输出。
2024-09-30 15:03:46
441
原创 流媒体之RTMP协议(其四)
RTMP,实时消息传输协议基于TCP,是一个协议簇,包括RTMP基本协议及RTMPT/RTPS/PTMPE等多种变种。RTMP是一种用于进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/Red5等。RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。采用tcp协议,避免了多媒体数据在广域网传输过程中的丢包对质量造成影响。
2024-09-17 15:19:40
830
原创 多人在线聊天服务器
C/S(Client/Server)模式,即客户端/服务器模式,是一种网络计算模型,它将任务和服务分为两个主要部分:客户端(Client)和服务器端(Server)。在这种模型中,客户端负责发送请求,服务器端则负责处理这些请求并返回响应。客户端(Client)角色:客户端是请求服务的发起者,通常是一个用户界面,允许用户请求服务器提供的数据或服务。功能发送请求:客户端向服务器发送请求,请求可以包括数据查询、文件传输、计算任务等。接收响应:客户端接收服务器处理请求后返回的响应,并将结果显示给用户。特点。
2024-09-17 15:18:25
1527
3
原创 流媒体之HLS协议(其三)
HLS与RTMP都是流媒体协议,RTMP由Adobe开发,广泛应用于低延时直播,也是编码器和服务器对接的实际标准协议,在PC(Flash)上有最佳的观感体验;HLS由苹果公司开发,可以支持Live(直播),也可以支持VoD(点播)。HLS是苹果平台的标准流媒体协议,和RTMP在PC上一样支持得非常完善。HLS全称HTTP Live Streaming,是一种基于HTTP的流媒体网络传输协议。它的基本工作原理是把整个流分成一个一个小的基于HTTP的文件来下载,每次只下载一些。
2024-09-10 21:54:48
1334
原创 SRS流媒体服务器从入门到精通(其一,环境搭建)
SRS(Simple Realtime Server)是一个简单高效的实时视频服务器,支持多种直播和录播场景。SRS由国内开发者创建,是一款开源流媒体服务器软件。它支持RTMP、WebRTC、HLS、HTTP-FLV等多种协议,适用于直播、录播和视频客服等多种场景。高效性能:SRS设计简洁,具有高性能的特点,能够处理大量的并发连接和流媒体数据。多种协议支持:SRS支持多种流媒体协议,包括RTMP、WebRTC、HLS、HTTP-FLV等,能够满足不同场景的需求。易用性。
2024-09-10 21:54:05
6302
原创 流媒体协议RTSP(其二)
RTSP(Real-Time Streaming Protocol)是一种网络协议,用于控制音频和视频流的传输,尤其是在点播和直播的应用场景中。RTSP 允许客户端对媒体流进行播放、暂停、停止等操作,是流媒体应用程序中的重要组成部分。相当于流媒体服务器的远程控制服务器和客户端双向请求应答,是对称协议与HTTP协议类似,基于文本,UTF-8编码特点:(1)可扩展性:新方法和参数很容易加入RTSP。(2)易解析:RTSP可由标准HTTP或MIME解释器解释。
2024-09-07 17:23:50
1112
原创 流媒体与直播的基础理论(其一)
流媒体是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上及时传输影音以供观赏的一种技术与过程,此技术使数据得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。完整的流媒体平台包括:前端摄像头、流媒体服务器、磁盘阵列、视频综合管理、电视墙、客户端等。流媒体最主要的技术特征是流式传输,它使数据像流水一样传输。实现流式传输主要有两种方式:顺序流式传输 和 实时流式传输。01顺序流式传输。
2024-09-07 17:22:16
1295
4
原创 FFmpeg的入门实践系列七(滤镜)
(1)过滤器的作用是在音视频数据流经FFmpeg时对其进行处理。视频分辨率转换音频混音视频特效(如模糊、锐化)图像格式转换时间基线校正(2)过滤器类型视频过滤器:如crop(裁剪)、scale(缩放)、vflip(垂直翻转)、hue(色相调整)等。音频过滤器:如volume(音量调整)、equalizer(均衡器)、aresample(重采样)等。图形和字幕过滤器:如drawtext(绘制文本)、overlay(图像叠加)等。格式转换过滤器:如format。
2024-09-04 09:45:29
1468
2
原创 ffmpeg命令(详解)
ffmpeg [输入文件的参数] -i [输入文件的位置] //输入处理(-vf/af/filter_complex [滤镜描述字符串]) //中间滤镜加工(可选)[输出文件的参数] [输出文件的位置] //输出处理在变中把握不变,是一切学习的真谛,或许有更好的框架,欢迎各位在评论区留言,在下不胜感激~至此,结束~望诸位不忘三连支持一下~
2024-09-04 09:45:11
1841
原创 使用sudo需要留意环境变量被重置
一直以为,sudo命令就是拿来升级权限的,今天才发现,sudo会把用户设置的环境变量重置,导致配置的环境变量失效,这也导致了我一直配置不成功avs2库。选项可以保留环境变量,但在某些情况下,出于安全考虑,某些环境变量可能会被。因此,如果你发现某些环境变量即使在。环境变量,并将其设置为当前用户的值。提升的权限下运行命令时,保留你的环境变量设置。选项下也不起作用,可能需要显式地设置它们。选项会保留用户的环境变量,这样就可以在。以及其他用户设置的环境变量将会被保留。重置了环境变量,你也能确保。
2024-08-30 14:23:36
463
原创 FFmpeg的入门实践系列六(编程入门之常见处理流程)
本章中,主讲了对音视频文件的从上到下的读写流程。这里着重讲了AVCodecContext这个结构体的使用方法,诸位在实际开发时,一定要有层次意识,首先要问一下该代码片段处理的内容是处于什么位置的,是属于音视频文件(AVFormatContext),属于数据流(AVStream),还是属于数据流下面的编解码器(AVCodec,AVCodecContext)?把脉络给理清了,开发过程中才不会如同无头苍蝇乱闯。下一期,会更精彩,期待诸位的关注~
2024-08-25 21:41:59
2211
4
原创 FFmpeg的入门实践系列五(编程入门之属性查看)
/ AVClass提供日志处理等功能// 输入格式// 输出格式// 私有数据,特定于输入或输出格式// 读写数据的IO上下文// 上下文标志// 流的数量// 指向流的指针数组// 文件名// 一些时间基准和时长信息// 文件时长// 比特率// 数据包大小// 最大延迟// 其他与解码、时序、元数据等相关的字段// 文件元数据,如标题、作者等// 其他字段省略...
2024-08-25 10:07:38
1086
原创 FFmpeg的入门实践系列四(AVS)
数字音视频编解码技术标准工作组由国家原信息产业部科学技术司于2002年6月批准成立。工作组的任务是:面向我国的信息产业需求,联合国内企业和科研机构,制(修)订数字音视频的压缩、解压缩、处理和表示等共性技术标准,为数字音视频设备与系统提供高效经济的编解码技术,服务于高分辨率数字广播、高密度激光数字存储媒体、无线宽带多媒体通讯、互联网宽带流媒体等重大信息产业应用。AVS是我国具备自主知识产权的第二代信源编码标准。
2024-08-24 08:22:22
1719
原创 FFmpeg和SDL的关系
SDL(Simple DirectMedia Layer)和 FFmpeg 是两个在多媒体开发中常用的开源库,但它们各自的功能和用途有所不同,通常一起使用以实现完整的多媒体处理和播放解决方案。
2024-08-24 08:22:04
592
原创 FFmpeg的入门实践系列三(基础知识)
库名称功能描述AVUtil核心工具库,提供基本的数据结构和实用函数。其他模块依赖AVUtil进行基本的音视频处理操作。AVFormat文件格式和协议库,处理多媒体文件的封装和解封装。封装了协议层、解复用器(Demuxer)和复用器(Muxer)层。AVCodec编解码库,处理音视频的编码和解码。支持多种编解码器,包括第三方编解码器如libx264、FDK-AAC等。AVFilter音视频滤镜库,提供音视频特效处理。可以直接在编解码过程中使用,方便高效。AVDevice。
2024-08-21 20:21:06
1108
原创 FFmpeg的入门实践系列二(基础知识)
欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力。
2024-08-21 20:20:03
1381
2
原创 基于Reactor模式深入探讨Libevent
事件驱动,高性能轻量级,专注于网络,不像ACE那么庞大源代码相当精炼,易读跨平台,支持Windows、Linux、*BSD 和 MacOS支持多种IO多路复用技术,如epoll、poll、dev/poll、select 和 kqueue等支持I/O,定时器 和 信号等事件支持注册事件优先级。Libevent是一个事件通知库,内部使用select、epoll、kqueue、IOCP等系统调用管理事件机制。Libevent使用C语言编写的,而且几乎是无处不用的函数指针。
2024-08-20 17:38:11
910
原创 FFmpeg的入门实践系列一
FFmpeg是一个开源项目,同时它也是一个非常流行的多媒体框架。它提供了一个完整的跨平台解决方案来记录、转换数字音视频,以及转换成不同的格式。FFmpeg可以捕捉、编码和转码多种视频和音频格式,它支持大量的音视频格式,包括但不限于H.264、H.265、VP8、VP9、AAC、MP3等。ffmpeg:用于处理音视频文件的工具,可以进行录制、转换格式、流化等操作。ffplay:一个简单的播放器,可以播放多媒体内容。ffserver:一个流媒体服务器,可以用来发布多媒体内容。libavcodec。
2024-08-20 17:37:24
1259
原创 Linux之HTTP服务器的构建
欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!
2024-08-17 20:23:17
2360
1
原创 Linux系统的Apache2如何启动cgi模块(Ubuntu)
通过以上步骤,你可以成功配置Apache运行CGI程序。在完成配置后,建议根据你的需要对CGI脚本目录进行访问控制,以确保服务器的安全性。望诸位不忘三连支持一下~
2024-08-17 20:04:46
1052
原创 在linux上架设Web服务器Apache(Ubuntu)
欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!
2024-08-15 17:23:36
1326
1
原创 Linux网络编程之循环服务器(其一)
循环服务器在同一个时刻只能响应一个客户端的请求,处理完一个客户端的工作后,才能处理下一个客户端的工作,就好像分时工作一样。循环服务器指的是对于客户端的请求和连接,服务器在处理完毕一个后,再处理另一个,即串行处理客户机的请求。这个I/O模型对应的是同步阻塞模型。有关五种网络I/O模型的详细了解,请参考下面的博客:Linux网络编程之I/O模型(详解)
2024-08-13 10:33:07
1063
原创 Linux网络编程的套接字分析(其一,基本知识)
允许对较低层次的协议直接访问,比如IP、ICMP,它常用于检验新的协议实现,或者访问现有服务中配置的新设备,因为原始套接字可以自如地控制Linux下的多种协议,能够对底层的传输机制进行控制,所以可以应用原始套接字来操控网络层合传输层应用。一个套接字嗲表通信的一端,每端都有一个套接字地址,这个socket地址包含了ip地址和端口等信息。总:原始套接字合标准套接字(前两个)的区别在:原始套接字可以读写内核没有处理的IP数据报,而流套接字只能读取TCP的数据,数据报套接字只能读取UDP的数据。
2024-08-10 22:57:14
495
原创 基本线程池(基于POSIX)
线程池就是预先把一堆线程封装好,使它变成一个项目的基础组件,当项目需要频繁使用线程来处理各式各样的任务时,可以直接拿这个组件来搭建项目。
2024-08-10 16:04:44
482
原创 Linux网络编程之dpdk的环境配置详解
接着让你选择PIC地址,我选择eth1,理由是eth0是用来通过ssh协议连接到xshell的,而且已经处于active状态,我们选择的网卡必须是没有工作的,否则要实现down下来:ifconfig eth0 down。export RTE_SDK=/home/user/dpdk/dpdk-stable-19.08.2/ (注意,该路径取决于你的dpdk路径)言归正传,编译成功后,再执行43,插入igb_uio模块,详细请看:https://zhuanlan.zhihu.com/p/483868843。
2024-08-05 11:24:46
2264
原创 NUMA系统和非NUMA系统
在计算机系统中,尤其是服务器和高性能计算环境中,大页(Huge Pages)是一种内存分配技术,它允许操作系统使用更大的内存页(通常是2MB或1GB,而标准页大小为4KB)来管理内存。这种技术可以减少内存分页表的大小,从而提高内存管理的效率,尤其是在处理大量内存访问的应用程序时。在Linux操作系统中,大页有两种类型:标准大页(Standard Huge Pages)和透明大页(Transparent Huge Pages,THP)。标准大页需要手动配置,而透明大页是由内核自动管理的。
2024-08-05 11:07:23
422
原创 Ubuntu(server)的镜像源配置
该配置是Ubuntu 16.04,如果是其它的版本,将xenial改成其它版本的版本号即可。修改好后,使用如下命令更新软件列表。如23.04是lunar。
2024-08-03 22:17:31
547
原创 linux之ip命令
文件配置网络可能不会生效,因为它们可能会覆盖这些配置。在这种情况下,你需要确保使用正确的工具来配置和管理网络。是 Linux 系统下用于配置和管理网络接口和路由表的强大命令行工具。命令的强大之处在于它的模块化和灵活性。命令选项和参数来执行复杂的网络管理任务。选项可以专门处理 IPv6 地址,使用。或者其他网络管理工具,那么使用。命令可能需要管理员权限(使用。选项可以获取更详细的信息等。请记住,如果你的系统使用的是。),特别是在更改网络配置时。获取更详细的帮助信息。
2024-08-03 21:21:32
763
3
原创 虚拟机网络配置(ubuntu)
【VMaware WorkStation Pro 17 虚拟机软件 设置网络】 https://www.bilibili.com/video/BV1vH4y1z7JG/?在虚拟机的网络配置中,三种常见的网络配置模式各具特点,分别是桥接模式(Bridged Networking)、网络地址转换模式(NAT)、以及仅主机模式(Host-Only Networking)。
2024-08-01 00:21:50
698
原创 根据不同的场景来使用进程、线程和协程
比如由一个网络服务器,是用来聊天,发数据的,那么就是IO密集型,因为他在计算方面很少,但是IO读写很多,这个时候就要选择协程做成网络框架再去开发。如果有一个网络服务器,是拿来做人脸识别,然后将结果返回给用户的,他需要很多计算量,然后访问量比较少,那么使用线程池来开发,是更好的选择。在实际开发项目中,选择协程、线程或进程取决于多种因素,包括项目的需求、性能目标、资源限制以及开发团队的熟悉程度。
2024-07-28 23:38:42
562
原创 协程小笔记
协程(Coroutine)是一种程序组件,它允许多个入口点用于暂停和恢复执行的函数,可以在单个线程内实现多任务的并发执行。与线程相比,协程提供了更轻量级的并发单元,因为它们共享同一线程的堆栈空间,并且协程之间的切换不需要操作系统的介入,从而减少了上下文切换的开销。来等待一个异步操作完成,这样它就可以让出控制权,允许事件循环执行其他任务。是一个协程函数,它使用。
2024-07-25 21:01:44
214
空空如也
ubuntu23的netplan怎么配置?
2024-08-03
用int(),和input(),为什么会出错?
2021-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人