自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 【音视频】RTSP拉流: RTP负载H264详解(四)

H.264也被称为高级视频编码(Advanced Video Coding,简称 AVC),是一种被广泛使用的高精度视频的录制、压缩和发布格式。该标准引入了一系列新的技术,能够大大提高压缩性能,同时在高码率端和低码率端都超越了以前的标准。编码效率:H.264的编码效率显著高于以往的编码标准。例如,与MPEG-2相比,H.264可以在相同的视频质量下减少约50%的码率,这使得其在有限的带宽下能够传输更高质量的视频内容。帧类型。

2025-02-17 15:33:50 1226

原创 【音视频】RTSP拉流: RTP负载AAC详解(三)

RTP(Real-time Transport Protocol)是一种用于网络上传输实时数据(如音频、视频等)的协议,广泛应用于流媒体、视频会议、VoIP等场景。RTP协议的核心目标是为实时数据的传输提供时间戳、序列号等信息,以便接收端能够正确地重组数据流,保证数据的实时性和顺序性。RTP协议不保证数据的可靠传输,通常与RTCP(RTP Control Protocol)配合使用,以实现流量控制、拥塞控制等功能。

2025-02-11 17:59:14 1161

原创 【音视频】RTSP拉流: RTP协议头部详解(二)

实时传输协议(Real-time Transport Protocol,RTP)是一种网络传输协议,主要用于在互联网上传输实时数据,如音频、视频和数据等。RTP最初由互联网工程任务组(IETF)在1996年定义,并在RFC 1889中进行了详细说明。随着技术的发展,RTP协议在2003年进行了更新,新的标准文档为RFC 3550。RTP协议的用途非常广泛,它被广泛应用于各种多媒体通信场景。例如,在视频会议系统中,RTP协议用于将视频流和音频流从发送端传输到接收端,确保数据的实时性和顺序性。

2025-01-25 10:33:30 1053

原创 Linux系统内存泄露检测工具Valgrind-使用方法

Valgrind是一个非常强大的内存调试工具,广泛用于检测内存泄漏、内存越界等问题。

2025-01-06 17:25:29 1238

原创 【音视频】RTSP拉流: RTSP协议详解(一)

RTSP(Real Time Streaming Protocol)即实时流媒体协议,是一种应用层协议,主要用于娱乐、会议系统中控制流媒体服务器。它定义了一对多应用程序如何有效地通过IP网络传送多媒体数据,提供了一种可扩展的框架,能够按需传输实时数据,如音频流、视频流等。RTSP适用于流媒体直播、点播和监控等应用,通过与RTP/RTCP等协议配合,实现流媒体数据的实时传输和控制。

2025-01-04 22:24:13 3482

原创 C# 编程系列:网络通信之TCP通信(第五篇:在线五子棋)

欢迎阅读本系列教程——《C# 编程系列:网络通信之TCP通信》。作为.NET开发者,掌握TCP/IP协议和其在C#中的应用,对于构建稳定、高效的网络应用程序至关重要。本系列教程面向有一定C#基础,希望深入了解网络通信,特别是TCP通信的开发者。本系列都将为您提供全面指导。

2024-12-31 08:45:00 670

原创 C# 编程系列:网络通信之TCP通信(第四篇:分析TCP数据传输的机制和优化)

欢迎阅读本系列教程——《C# 编程系列:网络通信之TCP通信》。作为.NET开发者,掌握TCP/IP协议和其在C#中的应用,对于构建稳定、高效的网络应用程序至关重要。本系列教程面向有一定C#基础,希望深入了解网络通信,特别是TCP通信的开发者。本系列都将为您提供全面指导。

2024-12-30 09:15:00 1710

原创 C# 编程系列:网络通信之TCP通信(第三篇:探讨异步编程在TCP通信中的应用)

欢迎阅读本系列教程——《C# 编程系列:网络通信之TCP通信》。作为.NET开发者,掌握TCP/IP协议和其在C#中的应用,对于构建稳定、高效的网络应用程序至关重要。本系列教程面向有一定C#基础,希望深入了解网络通信,特别是TCP通信的开发者。本系列都将为您提供全面指导。

2024-12-27 09:00:00 589

原创 【Linux编程】C++ UDP的UdpClient 类详解与网络通信实现(三))

UdpClient类提供了一个完整的UDP客户端实现,它封装了UDP通信的核心功能,包括数据的发送和接收、套接字的管理以及事件驱动的网络事件处理。通过非阻塞模式和epoll机制,UdpClient类能够高效地处理多个并发连接,适用于需要高性能网络通信的各种应用场景。

2024-12-26 15:45:00 507

原创 C# 编程系列:网络通信之TCP通信(第二篇:详解C#中的TcpClient对象(三))

TcpClient 类是用于基于 TCP 协议进行客户端通信的重要类。它封装了连接、数据传输、异常处理等常见操作,提供了易用的 API。通过 TcpClient,你可以轻松地实现客户端与服务器之间的连接,并进行可靠的数据交换。NetworkStream 类则为数据传输提供了流式接口,使得发送和接收数据变得更加简单和直观。上一篇下一篇。

2024-12-26 11:05:35 1162

原创 C# 编程系列:网络通信之TCP通信(第二篇:详解C#中的TcpListener 对象(二))

是.NET Framework中提供的一个类,用于创建基于TCP协议的服务器端应用程序。它封装了底层的Socket操作,使得开发者可以更加便捷地监听和接受TCP网络连接。类继承自类,提供了简单易用的API来处理TCP网络通信。的配置参数对于优化网络通信性能和调整服务器行为至关重要。这些参数允许开发者根据具体的应用场景和网络环境定制的行为。的生命周期管理是确保资源有效利用和服务器稳定性的关键。它包括正确地初始化、启动、执行和关闭的各个阶段。

2024-12-26 11:05:00 1188

原创 【Linux编程】TcpServer 类的设计与实现:构建高性能的 TCP 服务器(二)

TcpServer 类是一个用于创建和管理 TCP 服务器的类。它封装了套接字创建、绑定、监听、客户端连接处理、数据发送和接收等操作,使得网络通信更加简洁和易于管理。本文详细介绍了 TcpServer 类的设计与实现,包括构造与析构、服务器启动与停止、资源管理、非阻塞模式设置、客户端连接处理以及 epoll 事件处理。通过这个类,我们可以更容易地理解和实现 TCP 通信的细节。这个类提供了一个简洁的接口来管理 TCP 服务器,使得网络编程更加高效和易于维护。

2024-12-25 16:00:00 1200 2

原创 C# 编程系列:网络通信之TCP通信(第二篇:详解C#中的Socket对象(一))

Socket是网络编程中的一个基本概念,它代表了网络中不同主机上的应用进程之间进行双向通信的端点。在C#中,Socket类位于命名空间下,提供了创建和使用套接字的方法。一个Socket对象可以看作是网络上进程通信的一端,它提供了应用层进程利用网络协议交换数据的机制。从结构上讲,Socket上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,也是应用程序与网络协议栈进行交互的接口。

2024-12-24 15:57:02 1164

原创 C# 编程系列:网络通信之TCP通信(第一篇:介绍TCP协议在C#中的基本概念和工作原理)

传输控制协议(TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,其定义在RFC 793中。TCP的主要作用是为应用程序提供一种可靠的数据传输服务,确保数据在网络中传输的完整性和顺序性。TCP通过三次握手建立连接,保证了数据传输的可靠性,并通过确认应答、数据重传、流量控制和拥塞控制等机制,确保数据的正确送达。

2024-12-24 15:56:04 1572

原创 打造高效清晰的技术文档:结构、表达与维护指南

打造一份优秀的技术文档需要全面考虑文档的规划布局、语言表达和持续维护。合理的文档结构、准确简洁的语言表达以及及时更新和优化的流程,能够确保文档始终高效且易于使用。无论是初学者还是资深开发者,提升文档质量,都是技术团队不可忽视的重要任务。

2024-12-24 15:50:54 2720

原创 【Linux编程】一个基于 C++ 的 TCP 客户端异步(epoll)框架(一))

TcpClient 类是一个用于创建和管理 TCP 连接的客户端类。它封装了套接字创建、连接、数据发送和接收、断开连接等操作,使得网络通信更加简洁和易于管理。本文详细介绍了 TcpClient 类的设计与实现,包括构造与析构、绑定与连接、数据传输、资源管理、缓冲区管理、套接字操作、数据接收与处理以及辅助函数。通过这个类,我们可以更容易地理解和实现 TCP 通信的细节。这个类提供了一个简洁的接口来管理 TCP 连接,使得网络编程更加高效和易于维护。

2024-12-24 15:11:43 1223

原创 【Linux编程】使用 C++ 获取当前时间并字符串格式化(精确到毫秒)

通过上述代码,我们可以准确地获取当前时间,并以格式化的方式输出,包括秒和毫秒部分。利用库,C++ 提供了高精度的时间计算功能,非常适合需要精准时间戳的场景,如日志记录、性能监控和调试等。

2024-12-19 20:42:36 1408

原创 【Linux编程】 C++获取系统时间的几种方式

如果需要精确的时间戳,推荐使用(C++11及以上)。如果你需要精确到微秒,可以使用(POSIX)。如果只需要秒级别的系统时间,std::time或都很合适。如果只关心程序运行时间,可以使用。根据您的需求,选择最合适的方式来获取当前系统时间。

2024-12-19 19:20:21 778

原创 【Linux编程】Linux下的I/O复用技术-epoll应用及select、poll比较

epoll的基本特性:epoll在处理大量文件描述符时,比select和poll更加高效。尤其是在大规模并发连接的场景中,select和poll需要每次遍历所有的文件描述符,而epoll只会检查那些已经准备好进行 I/O 操作的文件描述符,因此能大幅减少不必要的工作量。2.水平触发()和边缘触发():水平触发(LT: 这是epoll的默认模式。它类似于select和poll,会在文件描述符状态发生变化时通知应用程序,并且当文件描述符的状态没有完全处理时,会重复通知。边缘触发(ET。

2024-12-17 22:32:11 1138

原创 【Linux编程】Linux中UDP编程的优化及实现

在 Linux 下的 UDP 编程,除了传统的 socket API 外,新的技术和工具为高效的网络通信提供了更强大的支持。UDP-Lite 是一种类似于标准 UDP 的协议,但与 UDP 不同的是,它支持部分数据的完整性检查。在 UDP 中,如果数据包的某部分丢失,整个数据包就会被丢弃,而 UDP-Lite 允许用户定义哪些部分的数据是需要进行校验的,从而实现更灵活的数据完整性控制。:通过这些系统调用,应用程序可以避免将数据从内核空间复制到用户空间,从而减少数据复制的开销,提高数据的传输效率。

2024-12-17 19:30:45 863

原创 Ubuntu系统 root用户无法登录进入系统及登录认证失败问题

登录非root用户进去修改root用户的密码。

2024-12-16 21:50:24 505

原创 VMware虚拟机无法进入系统如何找回虚拟机磁盘存储的内容

如果 VMware 虚拟机无法进入系统,但你希望找回虚拟机磁盘存储的内容(如文件或数据),你可以通过以下几种方法进行恢复。这里的重点是通过访问虚拟机的虚拟磁盘文件(如 .vmdk 文件)来提取数据。

2024-12-16 20:57:47 1950

原创 基于FFmpeg进行rtsp推流协议分析过程(详细教程)(全息讲解)

RTSP(Real-Time Streaming Protocol,实时流传输协议)是一个应用层协议,主要用于控制音视频流的传输。RTSP 并不负责实际的数据传输,而是用于流的控制,如播放、暂停、停止等,它通常与其他协议(如 RTP)一起使用,后者负责媒体数据的实际传输。

2024-12-16 20:05:53 3065

原创 Ubuntu24.04 下源码编译安装最全的ffmpeg,生成动态库和静态库

在 Ubuntu 24.04 上编译和安装 FFmpeg 并生成完整的动态库和静态库,确实是一个复杂而详尽的过程,涉及很多不同的步骤与配置选项。以下内容将详细讲解如何在 Ubuntu 上进行 FFmpeg 编译安装,生成所需的动态库和静态库。

2024-12-16 16:53:52 1691

原创 通过vscode远程编译调试Ubuntu上的C++代码,脱离gdb的命令行调试难度

基于Windows安装的vscode远程连接Ubuntu的C++开发环境搭建与代码调试Windows安装vscode,及安装c++相关插件,远程插件。

2024-12-16 16:15:06 493

原创 VS Code 通过SSH远程连接到 Ubuntu 服务器,Ubuntu的远程开发

本章内容介绍如何使用Windows下安装的VS Code 中远程连接到 Ubuntu 服务器,并进行远程开发编译调试的过程。

2024-12-16 15:09:45 1356

原创 VMWare虚拟机安装Ubuntu24.04系统及其相关配置

VMWare虚拟机安装Ubuntu24.04及配置

2024-12-05 17:07:26 1403 5

原创 Linux环境Ubuntu24.04下安装Mysql数据库服务器

记录和分享在Ubuntu下安装MySQL的方法

2024-12-03 16:00:25 298

原创 Ubuntu24.04下安装Visual Studio Code

学习和记录Ubuntu下安装VSCode的方法

2024-12-03 14:06:58 1938

原创 Linux环境安装FTP服务器:Ubuntu24.04下安装vsftp服务器

Ubuntu下安装vsftpd进行文件传输

2024-12-03 13:04:16 353

原创 C# Winform 云原生多人在线两两对弈五子棋(Fivesonchess)

两人在线对弈的策略型棋类游戏。五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。游戏功能说明在线对弈的五指棋,功能包含 找棋友,重新开始,悔棋,认输,逃跑,棋谱记录,eabei聊天室

2024-12-03 10:43:28 447

C# Winform 云原生两人在线对弈五子棋(Fivesonchess)

游戏功能说明 1. 分为客户端和服务端,服务端控制业务逻辑,客户端展示及交互 2. 客户端功能包含: 2.1 找棋友: 通过服务器随机分配一名对手, 2.2 重新开始: 在完成一局之后,如果还想和该对手再来一局,可以点击重新开始,双方都要重新开始才能开始新一局游戏。反之则不能开始; 2.3 悔棋: 当一名对手下了一子,如果下得不对,想悔一步,则点击悔棋,如果对方想悔棋则是不能的,悔棋可以连续返回到最初开始的状态; 2.4 认输: 当觉得自己不能战胜对方时,点击认输,这时需要对手的同意才能完成认输过程。 2.5 逃跑: 当匹配到对手后,在任一时刻都可以逃跑。 2.6 棋谱记录: 棋谱记录了上一次下棋的过程,并且可以进行回放,回放方式设计了2种模式: 自动回放和手动回放; 2.7 Eabei聊天室: 聊天目前只能在匹配对手成功后,都可以进行聊天,如果逃跑,聊天则结束; 效果演示地址: https://blog.youkuaiyun.com/woter2019/article/details/144206736

2024-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除