自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

崔杰城的博客

———崔杰城写字的地方

  • 博客(159)
  • 资源 (15)
  • 收藏
  • 关注

原创 MySQL连接失败

针对该问题,我检查了接手软件的代码,发现代码存在bug,导致了偶发无法释放数据库连接。然后修改MySQL允许的最大连接数,修改MySQL启动参数文件:vi /etc/my.cnf,在最后一行加入:max_connections=300,这样就把MySQL的最大允许连接数从之前的151改成了300。然后经过上述修改后,发现日志再没有打印连接MySQL失败的问题,说明确实是由于连接数的问题导致的连接失败。最近接手了公司的一个软件项目,通过打印日志,发现该软件会偶发出现连接MySQL数据库失败的问题。

2024-04-23 21:00:00 318

原创 Linux根据时间删除文件或目录

执行完后,再次通过ls -l --time-style="+%Y-%m-%d %H:%M:%S" /home命令查看/home目录下的文件和目录,可以发现90天之前的文件和目录被删掉了。下面我做一些补充,讲述一个具体例子。以删除/home目录下的文件为例。通过date命令可以查看到当前系统时间是2024年3月28日。按照年月日时分秒的形式显示/home目录下的文件和目录。》已经讲述了根据时间删除文件或目录的方法。如果报错:遗漏“-exec”的参数。

2024-03-28 20:25:48 664

原创 CentOS离线安装命令

某些CentOS安装后默认是没有部分Linux命令的,比如netstat和lsof:一般情况下我们可以通过yum install安装这些命令。但是在CentOS无法访问公网的时候(比如CentOS服务器部署在学校、军工等无法访问外网的环境),我们就只能通过离线安装的方式安装这些命令。

2024-03-27 21:11:08 511

原创 Windows下安装Kafka3

本文讲述Windows(win10)下安装Kafka3的方法。基本流程跟《》一样,也是一样需要先安装Java环境,再部署部署Kafka。首先在官网下载Kafka二进制压缩包。无论是在CentOS还是在Windows下都是下载该压缩包,里面已经包含了Kafka Linux和windows平台下的可执行文件了。选择目前比较新的3.6.1版本下载。

2024-03-12 07:23:41 944

原创 CentOS下安装Kafka3

kafka是分布式消息队列,本文讲述其在centos(centos 7.5)下的安装。安装过程可以参考其官方文档首先在官网下载Kafka二进制文件(官网的压缩包里面已经包含了Linux和windows的Kafka可执行文件了),选择目前比较新的3.6.1版本下载。

2024-03-03 23:38:39 982

原创 Wireshark不显示Thrift协议

使用Wireshark对thrift协议进行抓包。设置后,可以发现Wireshark里面显示的协议从Tcp变为Thrift了。将“当前”修改为Thrift,然后点击“确定”"右键" -> "Decode As"选择thrift的tcp端口。

2024-02-07 23:01:52 708

原创 Linux系统下使用systemctl启动服务失败

Linux下使用systemctl start/restart 命令启动服务,结果失败。通过该日志即可显示失败的原因。

2024-02-05 19:44:16 815

原创 通过Navicat for MySQL排查sql语句错误

打开Navicat for MySQL,连接该软件所用到的MySQL数据库,点击“新建查询”。将刚刚复制下来的sql语句黏贴到里面,"运行",返回了“1064”这个错误码,说明sql语句执行失败了。我们可以用Navicat for MySQL来排查sql语句是否存在语法错误等问题。这样就能知道sql语句问题出在哪里了。

2024-02-05 18:49:42 650

原创 CentOS下安装vlc

vlc是一跨多媒体播放器,可以播放本地媒体文件和网络串流,帮助我们排查音视频开发过程中遇到的问题。大部分情况下,我们只需要在Windows系统下安装vlc就可以了。但有一种情况是需要在Linux下安装vlc的:我们的音视频拉流软件(比如推流端)运行在Linux系统下,只能通过该Linux系统访问网络串流(比如摄像机的rtsp流),无法通过Windows系统访问这些网络串流。这个时候为了能判断该网络流的视频是否正常,我们就必须在Linux系统下安装vlc。

2024-02-03 20:26:53 1294

原创 CentOS gui 图形界面显示文字乱码

CentOS(CentOS 7.5)控制台下显示中文乱码:或者通过X11 Forwarding远程显示CentOS的图形化程序文字乱码:安装中文语言包:注:网上有些文章会推荐安装 fonts-chinese-3.02-12.el5.rpm 中文字体包:但是我试过发现fonts-chinese是无法获取的,只有kde-l10n-Chinese是可以安装的:修改i18n配置文件(如果没有该配置文件则新建该文件):添加:执行命令使修改生效:修改locale.conf的配置文件:

2024-01-31 08:02:05 749

原创 CentOS停止维护后,可以替代的新系统

以前国内运维一般都使用CentOS而不是Debian/Ubuntu作为Linux服务器,因为LTS支持周期,CentOS一般是10年,而Ubuntu免费支持周期只有5年,延长5年则需要额外付费。但CentOS官方将停止维护CentOS 7,CentOS 8了。其中,于2022年01月01日停止维护支持CentOS 8,于2024年06月30日停止维护CentOS 7,详情请参见。为啥官方不维护了呢?因为之前CentOS都是免费维护的,但Red Hat没钱养着一个团队一直维护CentOS这个开源软件了;

2024-01-24 21:42:58 2879

原创 Linux系统下编译MPlayer

Linux系统下编译MPlayer

2024-01-16 07:26:03 500

原创 RTMP流设置超时时间失败

使用FFmpeg(版本是5.0.3)将rtmp流作为输入,设置超时时间(使用-timeout参数),结果报错:Cannot open Connection tcp://XXX:1935?通过./ffmpeg -help full 命令查看FFmpeg帮助,可以看到-timeout参数确实是设置 rtmp流的超时时间的。所以为什么出现上述现象,因为FFmpeg出bug了!以rtmp流为输入时,设置超时时间得要用。将-timeout参数替换为-rw_timeout参数即可解决问题。参数,注意单位是微秒。

2023-12-10 12:29:43 895

原创 Wireshark抓包分析RTMP协议时,出现Unknown问题

编辑 -> 首选项 -> Protocols -> RTMPT,这里Maximum packet size默认是32768。进行rtmp推流时,使用wireshark抓包,发现部分包显示Unknown。将该值调大,比如调成1048576,即可解决该问题。

2023-12-03 16:11:42 1180

原创 Timestamps are unset in a packet for stream X.This is deprecated and will stop working in the future

解决的办法是在ffmpeg命令后面加上“-fflags +genpts”参数重新生成pts。

2023-12-02 22:44:48 519

原创 网络视频播放卡顿原因分析

某项目通过拉摄像机rtsp流转rtmp/http-flv/ws-flv的方案,使用户可以在网页中观看摄像机的视频画面。在观看视频时偶发出现卡顿现象。

2023-11-26 09:39:50 2052

原创 FFmpeg截图命令优化

由于项目要求,需要对摄像机的rtsp流进行截图

2023-10-14 09:48:26 861

原创 Flv.js编译使用

Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。本文讲述其编译使用。拷贝到Linux系统(Linux系统的ip为172.16.17.154)中,解压,将flv.js-1.6.2放到网站环境或http服务器根目录下。执行完后,可以看到源码目录下生成了dist目录。(flv.js所在电脑的ip为172.16.17.154,http服务器监听端口为30000)Flv.js目前最新版本是v1.6.2。官方示例代码在demo目录下。

2023-10-05 14:39:13 411

原创 WS-FLV直播协议分析

ws-flv(websocket-flv)是一种直播协议,其基于WebSocket来传输FLV格式的音视频。可以用来替代rtmp,解决其需要浏览器端依赖flash的问题;替代http-flv,解决浏览器同域名请求的最大并发数限制导致的浏览器只能播放6路http-flv流的问题。

2023-10-05 09:48:31 2233

原创 TCP端口崩溃,msg:socket(): Too many open files

linux系统中运行了一个TCP服务器,该服务器监听的TCP端口为10000。但是长时间运行时发现该端口会崩溃,TCP客户端连接该端口会失败:可以看到进行三次握手时,TCP客户端向该TCP服务器的10000端口发送了SYN报文,但是TCP服务器返回了RST报文。此时我们用netstat命令查看到10000端口没有被监听了,这意味着该端口被关闭或者不在监听中了。

2023-10-04 00:15:29 902

原创 FFmpeg报错:Connection to tcp://XXX?timeout=XXX failed: Connection timed out

FFmpeg拉流时会执行poll函数,poll函数超时时会返回0,然后FFmpeg的ff_poll_interrupt函数会返回-110,然后打印错误:Connection to tcp://XXX?

2023-09-02 18:52:57 3128

原创 Visual Studio编译出来的程序无法在其它电脑上运行

在其它电脑(比如Windows Server 2012)上运行Visual Studio编译出来的应用程序,结果报错:“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll。尝试重新安装该程序以解决此问题。属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库 -> 多线程(/MT)安装完后就可以正常启动exe了。编译出来的是X86程序安装。编译出来的是X64程序安装。在要部署的电脑上安装《

2023-08-28 06:30:26 3639 1

原创 CentOS下ZLMediaKit的可视化管理网站MediaServerUI使用

按照ZLMediaKit快速开始编译运行ZLMediaKit成功后,我们可以运行其合作开源项目MediaServerUI,来对ZLMediaKit进行可视化管理。通过MediaServerUI,我们可以实现在浏览器查看ZLMediaKit的延迟率、负载率、正在进行的推拉流、服务器配置等信息。

2023-08-07 07:39:36 1179

原创 Shedskin 使用

Shedskin是一个编译器工具,可以将Python代码编译为C++语言。如果我们的电脑是Ubuntu20.04,则其自带的python为3.8版本,我们下载。但抱着学习的心态我们还是可以学习使用该工具的。下面以最简单的Hello world为例子进行演示。执行命令shedskin后,看到输出如下,表示安装成功了。执行./test ,可以看到输出了Hello,World!执行完后,即会生成test.cpp等C++文件。然后执行make,就会生成C++的可执行文件。(注意:不要下载新版本的,比如。

2023-07-24 22:24:05 393

原创 使用thrift编写C++服务器、客户端

我们新建一个目录,将tutorial目录下的tutorial.thrift、shared.thrift和tutorial/cpp目录下的CppClient.cpp(包含客户端的主函数)、CppServer.cpp(包含服务器的主函数)拷贝到该目录中。有thrift的C++例子。在我们之前下载下来的thrift 源码根目录的tutorial/cpp目录下也有thrift的C++例子。》中,我们成功编译出了thrift的库文件,本节我们来编写thrift的C++服务器,客户端。

2023-07-16 10:19:46 627

原创 centos升级gcc

但是某些centos系统默认安装的gcc是低版本,比如centos7 默认的 gcc 是4.8.5,不完全支持C++14,会导致无法编译部分C++程序,所以我们得升级gcc。但是不要编译gcc!》的步骤,在make的时候,等待了12个小时也没有编译完成。我们可以通过devtoolset来升级gcc。

2023-07-01 20:56:39 1481

原创 FreeType库交叉编译

通过选项aarch64-linux-gnu指定交叉编译工具名称,选项prefix指定安装路径。然后就生成了FreeType库文件。

2023-06-18 14:19:30 358

原创 live555交叉编译

这是因为在给编译器输入源文件,目标文件或者动态库静态库文件时,如果B文件依赖A文件中的内容,那么B文件应该放在A文件的左边。查看我们交叉编译工具的所在路径。1.其中如果不添加选项-DNO_OPENSSL=1,则编译可能会报找不到openssl的问题。解压我们下载下来的live.XXX.tar.gz,得到live目录,进入该目录。针对我们的交叉编译工具,设置环境变量export PATH=XXX:$PATH。我们可以发现生成了live555的可执行文件,头文件和库(静态库)文件了。

2023-06-17 22:54:25 1108

原创 FFmpeg:Packet is missing PTS av_interleaved_write_frame():Invalid argument

用ffmpeg进行rtmp推流时报错:Packet is missing PTS av_interleaved_write_frame():Invalid argument。目前看来导致该报错的其中一种情况是B帧引起的。加上-bf 0 去掉B帧即可。另外还有一种解决方法是改ffmpeg源码:《

2023-06-05 21:37:12 914

原创 Linux下编译支持h264、h265、AAC编码的ffmpeg和ffplay

其中,--enable-debug --disable-optimizations --disable-asm --disable-stripping 是为了编译出带有调试信息,可以用gdb调试的ffmpeg。执行完后,即会在/root/NfsShareDir/trunk/avs/third_party/x264-master/install 目录下生成x264的头文件,库文件。执行完后,即会在source目录的install 目录下生成x265的头文件,库文件。

2023-05-22 21:44:29 1784 1

原创 Ubuntu安装MySQL

Ubuntu安装MySQL

2023-05-04 22:04:42 397

原创 Linux下可执行文件指定运行时库(.so文件)路径

rpath 全称是run-time search path,规定了Linux下可执行文件在寻找.so文件时的第一优先位置

2023-05-02 17:54:22 1787

原创 Linux下编译MySQL++/mysqlpp

Linux下编译MySQL++/mysqlpp

2023-05-02 12:15:36 647 1

原创 Linux下让进程不再被拉起

Linux下让进程不再被拉起,禁止开机自启动

2023-04-16 11:05:38 1156

原创 Linux控制台下svn使用图形化界面进行文件对比

把下载下来的安装包拷贝到 Linux中。进入.subversion文件夹,新建bc.sh和bc3.sh两个.sh文件。添加 diff-cmd 和 diff3-cmd。如果图形界面还是不出来,则可以参考《下载Beyond Compare。

2023-04-15 02:51:19 809

原创 FFmpeg交叉编译

FFmpeg交叉编译

2023-04-15 00:45:45 229

原创 Linux 下编译 thrift

thrift编译

2023-04-14 23:46:39 661

原创 Linux下编译/交叉编译Boost库

Boost库编译/交叉编译

2023-04-11 22:20:33 793

原创 libwebsockets交叉编译

CMAKE_FIND_ROOT_PATH:代表一系列的相关文件夹路径的根路径的变更,所有的Find_***.cmake脚本首先会在这个路径的usr/lib,lib目录下找,然后才会去系统的目录下找。CMAKE_FIND_ROOT_PATH_MODE_PROGRAM:有三种取值:NEVER,ONLY,BOTH,这边选NEVER表示不在当前机器的系统目录下查找,而是去宿主机查找。这里以v4.1.6为例,CMAKE_FIND_ROOT_PATH_MODE_INCLUDE:表示依赖的头文件只在交叉编译环境中找。

2023-04-10 22:16:23 862 1

原创 MobaXterm无法调出图形界面

MobaXterm远程连接上Ubuntu等Linux系统后,在其终端执行带有图形化界面的程序(比如gedit)时,是可以调出该程序的GUI图形界面的。但有时候按照默认设置可能会无法成功调出,我们得要做一些设置。第二种方式是export DISPLAY=windows主机的ip:0.0,表示将图形界面显示在客户端(比如Windows)上。linux服务器处于性能和效率考虑,一般都是没有安装图形化界面的,但通过X11 Forwarding可以实现远程显示服务器的图形化程序(GUI程序)。

2023-04-06 22:58:30 9217

Test14E.rar

本资源为博文《windows下使用OpenGL实现yuv420p转rgb播放视频(三重纹理实现)》,链接:https://blog.csdn.net/u014552102/article/details/118524708?spm=1001.2014.3001.5501的附件资源。里面包含演示用的整个工程,包括所有代码, 依赖的OpenGL的库,演示用的媒体文件。

2021-07-07

Test1A.rar

本资源为博文《C++压缩库zipper的使用》(链接:https://blog.csdn.net/u014552102/article/details/112387107)的附件资源,使用本例子可以将文件和文件夹压缩为zip文件

2021-01-09

Android模拟器虚拟串口实现串口通信的附件资源.rar

本资源为博文《Android模拟器虚拟串口实现串口通信》(链接:https://blog.csdn.net/u014552102/article/details/107891689)的附件资源,包含windows平台的串口调试助手,安卓平台的串口调试助手和虚拟串口工具vspd。

2020-08-09

ffmpeg.rar

本资源为博主自己编译的,具有drawtext功能的FFmpeg。里面包含的ffmpeg.exe和dll,均具有drawtext功能。功能测试已通过。可在32位和64位系统运行。为根据博文《执行FFmpeg命令时报错:No such filter: 'drawtext'》链接:https://blog.csdn.net/u014552102/article/details/104442111,编译出来的FFmpeg

2020-02-23

QtGuiApplication2.rar

本文为博主的博文《通过调用外部程序(ffmpeg.exe)的方式获取本地媒体文件的信息》(链接为https://blog.csdn.net/u014552102/article/details/102535491)的资源文件,包含博文中所用的Qt+vs的工程,代码,引用的ffmpeg.exe和媒体文件。各位可以通过该资源和博主的博文学习通过调用外部程序(ffmpeg.exe)的方式获取本地媒体文件的信息

2019-10-13

博文《关于在Opengl中先平移后旋转和先旋转后平移的效果不一样的原因》的附件资源

本资源是博主的博文《关于在Opengl中先平移后旋转和先旋转后平移的效果不一样的原因》的附件资源,里面包含博文演示用的代码和vs工程。博文地址为https://blog.csdn.net/u014552102/article/details/88136574

2019-03-04

包含GlU32.Lib glut32.dll glut32.lib glut.dll glut.h glut.lib

本资源是博主的博文《fatal error C1083 无法打开包括文件 “gl/glut.h” No such file or directory的解决方法》的附件资源,博文地址为https://blog.csdn.net/u014552102/article/details/88074691。下载下来后可以解决上述问题。

2019-03-02

gl/glext.h

本资源是博主的博文《fatal error C1083 无法打开包括文件 “gl/glext.h” No such file or directory的解决方法》的附件资源,博文地址为https://blog.csdn.net/u014552102/article/details/87945819。下载下来后可以解决上述问题。

2019-02-26

播放YUV视频文件的工程

本资源是博主博文《windows下使用FFmpeg生成YUV视频文件并播放(通过命令的方式)》的附件资源,博文地址https://blog.csdn.net/u014552102/article/details/82926477,资源里面包含博文演示用的ffplay.exe,ffmpeg.exe工具,转换用的video1.mp4视频文件,和转换成功的video1.yuv文件,用户可以结合该资源和博文学习生成和播放yuv文件的方法

2018-10-02

播放PCM音频文件的工程

本资源是博主博文《windows下使用FFmpeg生成PCM音频文件并播放(通过命令的方式)》的附件资源,博文地址https://blog.csdn.net/u014552102/article/details/82734278#t2,资源里面包含博文演示用的ffplay.exe,ffmpeg.exe工具,转换用的mp3音频文件,和转换成功的pcm文件,用户可以结合该资源和博文学习生成和播放pcm文件的方法

2018-09-17

NatvisFile.natvis

将该文件添加到vs2015工程中,可以解决vs2015调试时无法查看stl(vector,string,list等容器类)值的问题,加入方法可以参考博主博客https://blog.csdn.net/u014552102/article/details/82466516

2018-09-08

FFmpeg解封装并获取本地媒体文件信息的源码

本资源是博主的博文《FFmpeg解封装并获取本地媒体文件的信息》的源码,博文地址在https://blog.csdn.net/u014552102/article/details/81709929。该资源里面包含整个vs2015的工程,依赖的FFmpeg库,还有演示用的audio1.mp3和video1.mp4两个媒体文件,使用户可以学到用FFmpeg分别对视频和音频进行解封装的区别和联系。

2018-08-16

NSIS安装包制作工具

NSIS 是制作 windows 安装程序的工具。它提供了安装、卸载、系统设置、文件解压缩等功能。本下载提供nisedit_2.0.3.0.exe和nsis-3.03-setup.exe两个文件。用户下载后可以根据我的另一篇博客https://blog.csdn.net/u014552102/article/details/80385767 学习nsis的使用

2018-05-21

基于Qt的记事本

本设计的开发平台为vs2008和Qt4.7.3,能够实现记事本的新建文档,打开文档,编辑保存文档的功能,自带软键盘,能够方便地移植到嵌入式设备上使用

2018-05-13

基于状态机的独立按键程序

本程序使用一种基于状态转移的独立按键程序,能实现按键的去抖动以及识别按键的短按和长按,例程基于51单片机平台,但无硬件依赖性,能方便地移植到各个平台上

2016-02-15

空空如也

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

TA关注的人

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