admin 发布的文章
WPF 和FFmpeg.AutoGen6.1视频水印工具(固定右下角显示)
使用WPF和FFmpeg.AutoGen 6.1开发一个为视频添加动态图片水印的工具时,你可以创建一个简单的界面,并使用C#代码实现相应的逻辑。下面是一个简单的示例,涵盖了基本的界面和代码:
首先,确保你已经将FFmpeg.AutoGen 6.1添加到你的项目中。你可以使用NuGet包管理器安装它。
请注意,下述代码仅为基本示例,你可能需要根据实际需求和FFmpeg的使用方式进行调整。确保你的项目中包含了FFmpeg.AutoGen 6.1,并根据你的系统配置正确的FFmpeg可执行文件路径。
<Window x:Class="WpfApp3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp3"
mc:Ignorable="d"
Title="视频水印工具" Height="350" Width="500">
<Grid>
<StackPanel Margin="10">
<TextBlock Text="视频文件路径:"/>
<TextBox x:Name="txtVideoPath" Margin="0,0,0,10"/>
<TextBlock Text="水印图片路径:"/>
<TextBox x:Name="txtWatermarkPath" Margin="0,0,0,10"/>
<Button Content="选择视频文件" Click="SelectVideoFile_Click"/>
<Button Content="选择水印图片" Click="SelectWatermark_Click"/>
<Button Content="开始添加水印" Click="AddWatermark_Click" Margin="0,10,0,0"/>
</StackPanel>
</Grid>
</Window>namespace WpfApp3
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void SelectVideoFile_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "视频文件|*.mp4;*.avi;*.mkv|所有文件|*.*";
if (openFileDialog.ShowDialog() == true)
{
txtVideoPath.Text = openFileDialog.FileName;
}
}
private void SelectWatermark_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "图片文件|*.png;*.jpg;*.jpeg|所有文件|*.*";
if (openFileDialog.ShowDialog() == true)
{
txtWatermarkPath.Text = openFileDialog.FileName;
}
}
private async void AddWatermark_Click(object sender, RoutedEventArgs e)
{
string videoPath = txtVideoPath.Text;
string watermarkPath = txtWatermarkPath.Text;
if (string.IsNullOrEmpty(videoPath) || string.IsNullOrEmpty(watermarkPath))
{
MessageBox.Show("请选择视频文件和水印图片");
return;
}
await Task.Run(() => AddWatermark(videoPath, watermarkPath));
}
private void AddWatermark(string videoPath, string watermarkPath)
{
// 在这里编写使用 FFmpeg 添加水印的代码
// 请确保你已经正确配置 FFmpeg.AutoGen,并且有 FFmpeg 的可执行文件
// 以下是一个简单的示例,你可能需要根据实际情况调整参数
string outputVideoPath = @"D:\SoftWare\FFmpeg\output.mp4";
string ffmpegPath = @"D:\SoftWare\FFmpeg\ffmpeg.exe"; // 请根据实际路径配置 FFmpeg 可执行文件路径
Process process = new Process();
process.StartInfo.FileName = ffmpegPath;
process.StartInfo.Arguments = $"-i {videoPath} -i {watermarkPath} -filter_complex overlay=W-w-10:H-h-10 {outputVideoPath}";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForExit();
MessageBox.Show("水印添加完成");
}
}
} 海螺主题修复积分付费点播
/www/wwwroot/demo11.codesdemo.top/template/conch/html/vod/player.html 替换下面的代码
<div class="btn">
<a class="cz hl-text-conch" href="{:url('user/buy')}" target="_blank">马上充值</a>
<a class="gm hl-bg-conch" href="javascript:;" onclick="MAC.User.BuyPopedom(this)" data-id="{$obj.vod_id}" data-sid="{$param.sid}" data-mid="{$maccms.mid}" data-nid="{$param.nid}" data-type="4">确认购买</a>
</div> 苹果CMS自动还原 shell脚本
#!/bin/bash
# 备份网站路径
backup_web_path="/www/backup/site"
# 备份数据库路径
backup_sql_path="/www/backup/database"
# 数据库凭据
db_user="demo11_codesdemo"
db_password="ycKT2CBD3rPJXycn"
db_name="demo11_codesdemo"
restore_website() {
# 备份文件名
website_backup="$backup_web_path/web_demo11.codesdemo.top_20230918_030548_dLUdqM.tar.gz"
# 删除原网站文件
rm -rf /www/wwwroot/demo11.codesdemo.top/*
# 还原网站文件
tar -xzf "$website_backup" -C /www/wwwroot/demo11.codesdemo.top
#移动文件
mv /www/wwwroot/demo11.codesdemo.top/demo11.codesdemo.top/* /www/wwwroot/demo11.codesdemo.top/
#删除文件夹
rm -r /www/wwwroot/demo11.codesdemo.top/demo11.codesdemo.top
}
restore_database() {
# 备份文件名
db_backup="$backup_sql_path/db_demo11_codesdemo_20230918_030539_YV6fHz.sql.gz"
# 获取所有表名
table_names=$(mysql --user="$db_user" --password="$db_password" --database="$db_name" -N -e "SHOW TABLES;")
# 逐个清除表
for table_name in $table_names; do
mysql --user="$db_user" --password="$db_password" --database="$db_name" -e "DROP TABLE IF EXISTS $table_name;"
done
# 登录到 MySQL并导入数据库
gunzip -c "$db_backup" | mysql -u "$db_user" -p"$db_password" "$db_name"
}
main() {
# 还原网站文件
restore_website
# 还原数据库
restore_database
}
# 调用主函数
main 解决苹果CMS采集后没有显示图片的问题
一般采集数据后,图片容易丢失,如下:
解决方法:
①进入后台按顺序点击:视频>视频数据>同步图片(这个步骤是同步已经采集过的视频图片)
②开启下次采集自动同步图片配置步骤:系统>采集参数配置>自动同步图片开启
Midjourney制作LOGO语法
1.software company,logo design
2.software company,logo design,phoenix bath fire rebirth
3.software company,logo design,phoenix bath fire rebirth,--no text fonts letters watermark words typography slogans signature
4.software company,logo design,minimalistic design,vector,White background,phoenix bath fire rebirth,icon style, by Paul Rand,--no text fonts letters watermark words typography slogans signature --no realistic details
宝塔面板部署SSM留言簿系统
idea-------------------------------------
1.项目正常部署运行,数据库换成服务器的,这里注意一下数据库的连接用户(这里可能会出错)
2.maven clean和package
宝塔-------------------------------------
1.安装宝塔后,打开网站--JAVA项目---添加Java项目
2.选择独立项目,输入域名和端口号
3.上传idea中maven打包的war包,并解压
4.tomcat配置文件中改下项目名称路径
Context crossContext="true" docBase="/www/wwwroot/107.151.201.181/message_war_exploded" path="/message_war_exploded" reloadable="true" />5.重新启动服务
Navicat连接服务器报错:Client does not support authentication protocol requested by server解决办法
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.60 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.18 sec) DBeaver连接MySQL 8提示Public Key Retrieval is not allowed
CentOS配置JDK环境变量、Mysql、Redis、Nginx
JDK1.8安装
1.下载linux版本的jdk
2.上传压缩包到/usr/local目录
3.解压jdk
tar -xvf jdk-8u351-linux-x64.tar.gz- 在/etc/profile.d目录下增加环境变量脚本文件配置JDK环境变量(推荐)
/etc/profile在每次启动时会执行/etc/profile.d下全部的脚本文件
通过命令 vim /etc/profile.d/my_env.sh 创建并编辑脚本文件 文件内容如下:
#JAVA_HOME export JAVA_HOME=/usr/local/jdk1.8.0_351 export PATH=$PATH:$JAVA_HOME/bin export CALSSPATH=$CLASSPATH:$JAVA_HOME/lib #JRE_HOME export JRE_HOME=/usr/local/jdk1.8.0_351/jre export PATH=$PATH:$JRE_HOME/bin export CALSSPATH=$CLASSPATH:$JRE_HOME/lib6.重载配置文件,使得环境变量配置生效,然后执行查询JDK版本命令,查询成功说明JDK环境变量配置已生效。
source /etc/profileMysql安装
1.下载MySQL仓库并安装
wget -i -c https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm yum -y install mysql80-community-release-el7-3.noarch.rpm yum -y install mysql-community-server 启动前设置忽略大小写 sudo vi /etc/my.cnf [mysqld] lower_case_table_names = 1 systemctl start mysqld.service #查看mysql默认密码 cat /var/log/mysqld.log | grep password #登录 mysql -uroot -p #修改默认密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123456+'; #如果提示未找到命令 执行 yum -y install wget #如果安装server提示GPG报错 执行再安装 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
redis安装
sudo yum install epel-release
sudo yum install redis
sudo systemctl enable redis
sudo systemctl start redis
sudo systemctl status redisNginx安装
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
#现在,你应该已经成功在CentOS 7上安装并启动了Nginx。你可以使用服务器的IP地址或域名访问Nginx的默认欢迎页面,例如 #http://服务器IP地址 或 http://域名。
#如果你想自定义Nginx的配置或网站设置,请编辑/etc/nginx/nginx.conf文件和相关的虚拟主机配置文件,并在修改后重新加载#Nginx配置:
sudo systemctl reload nginx Linux部署ERP系统
官方文档:http://doc.jeecg.com/2043886
前端部署
1.下载安装CentOS7 https://zhuanlan.zhihu.com/p/60408219
2.VirtualBox安装完CentOS后网络改成桥接模式,然后使用FinalShell链接
3.前端.env修改成生产pro环境,.env.production的ip修改成虚拟机ip
4.编译前端
# 下载依赖
yarn install
# 编译项目
yarn run build5.把前端的dist文件夹中的内容上传到Nginx的html目录中 /usr/share/nginx/html
8.关闭系统防火墙
# 查看防火墙状态 systemctl status firewalld.service ---“active(running)”,说明防火墙是开启状态
# 停止防火墙 systemctl stop firewalld.service
# 启动防火墙 systemctl start firewalld
# 永久关闭防火墙 systemctl disable firewalld.service后端部署
1.安装mysql,把sql文件导入
#登录数据库 mysql -uroot -p
#创建数据库 create database psi;
#切换数据库并且设置编码 use psi; set names utf8;
#导入sql source /www/wwwroot/psi-master/db/psi-mysql-5.7-1.sql
source /www/wwwroot/psi-master/db/psi-mysql-5.7-2.sql
#查看一下是否成功 SHOW TABLES;
#退出 exit;
如果导入psi-mysql-5.7-2.sql 报错的话
解决方法:
在 MySQL 中创建函数时出现这种错误的解决方法:
在 MySQL 数据库中执行以下语句,临时生效,重启后失效
set global log_bin_trust_function_creators=TRUE;
2.修改配置文件 application-prod.yml,修改 数据库连接、缓存redis、上传附件等配置(数据库和redis的ip都是本地ip,默认不改)
3.切换Maven为生产模式
4.通过jeecg-boot-parent打包
5.拿到 jeecg-system-start-{版本号}.jar 包
6.上传jar包到linux中,通过JAR方式启动后台
Window启动命令:
java -jar jeecg-system-start-3.4.3.jar
Linux下后台进程启动命令:
nohup java -jar jeecg-system-start-3.4.3.jar >catalina.out 2>&1 &
关掉项目:
ps -ef|grep java
kill 进程号 Nginx配置
前端nginx配置
nginx监听:80端口
绑定域名(示例):boot.jeecg.com
server {
listen 80;
server_name 前端访问域名;
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
location / {
root html;
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
}后端nginx配置
nginx监听:80端口
绑定域名(示例):api.boot.jeecg.com
upstream api.boot.jeecg.com {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name api.boot.jeecg.com;
location / {
root html;
index index.html index.htm;
proxy_pass http://api.boot.jeecg.com;
#ip remote_addr
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}实例
本地环境部署linjiashop-Uniapp
1.使用Hbuilder X 开发工具打开本项目进行开发
2.本地环境搭建需要修改common/config.js,修改为本地域名
3.然后发行微信小程序
4.发现后台商品详情上传的图片,小程序里面不能访问,暂时没有发现解决方法,只能采用oss存储第三方外链
Win10配置JDK环境变量
1.下载并安装 JDK
首先,你需要从 Oracle 官网上下载 JDK 的安装包,并进行安装。可以选择适合你操作系统的版本,一般推荐下载最新的版本。
2.找到 JDK 的安装路径
安装完成后,你需要找到 JDK 的安装路径。默认情况下,JDK 会被安装在 "C:\Program Files\Java" 目录下,如果你选择了其他安装路径,则需要相应地调整下面的步骤。
3.设置 JAVA_HOME 环境变量
在 Windows 10 上,你可以通过以下步骤设置 JAVA_HOME 环境变量:
4.右键点击 "此电脑",选择 "属性"。
点击 "高级系统设置"。
在 "高级" 选项卡中,点击 "环境变量"。
在 "系统变量" 区域中,点击 "新建"。
在 "变量名" 中输入 "JAVA_HOME",在 "变量值" 中输入 JDK 的安装路径(比如:C:\Program Files\Java\jdk1.8.0_281)。
点击 "确定" 按钮保存设置。
将 JDK 的 "bin" 目录添加到 PATH 环境变量
在 Windows 10 上,你可以通过以下步骤将 JDK 的 "bin" 目录添加到 PATH 环境变量:
5.在 "环境变量" 对话框中,找到 "系统变量" 区域中的 "Path" 变量,并点击 "编辑" 按钮。
在 "变量值" 中添加 JDK 的 "bin" 目录的路径(比如:C:\Program Files\Java\jdk1.8.0_281\bin)。
点击 "确定" 按钮保存设置。
验证配置是否成功
配置完成后,你可以打开命令提示符,输入 "java -version" 命令,查看是否成功配置了 JDK 环境变量。如果成功,你应该能够看到 JDK 的版本信息。
宝塔服务器部署linjiashop前端的过程
admin---------------------------------
1.把项目linjiashop-admin打包:npm run build:prod 打包前需要
npm install --registry=https://registry.npmmirror.com
2.宝塔服务器中新建一个文件夹,把打包好的dist文件夹里面的内容上传
3.修改项目配置文件(后端api项目中配置),原来存在的要适当修改删除(原来的location要删除)
server {
listen 80;
server_name admin.caiyongda.com;
index index.html index.htm default.htm default.html;
root /www/wwwroot/shopStore/admin/;
<-这个location是需要替换原来的->
location /
{
root /www/wwwroot/shopStore/admin-front;
index index.html index.htm;
}
location /prod-api/ {
proxy_pass http://localhost:8082/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#SSL-START SSL相关配置
#error_page 404/404.html;
4.下载项目测试数据的图片:链接:https://pan.baidu.com/s/1i06H4dAM1M7mYQU9etBrfw 提取码:mqvf ,将图片存放到t_sys_cfg表中system.file.upload.path配置的目录下(注意该目录为绝对路径,该目录可以通过“系统管理”-“参数管理”进行配置)
mobile---------------------------------
1.把项目linjiashop-mobile打包:npm run build:prod (需要修改package.json 加上下面的代码)
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"build:prod": "vue-cli-service build",
"lint": "vue-cli-service lint"
},打包前需要 npm install --registry=https://registry.npmmirror.com
2.宝塔服务器中新建一个文件夹,把打包好的dist文件夹里面的内容上传
3.修改项目配置文件(后端api项目中配置),原来存在的要适当修改删除(原来的location要删除)
server
{
listen 80;
server_name caiyongda.com;
index index.html index.htm default.htm default.html;
root /www/wwwroot/shopStore/mobile/;
<-这个location是需要替换原来的->
location /
{
root /www/wwwroot/shopStore/admin-mobile;
index index.html index.htm;
}
location /prod-api/ {
proxy_pass http://localhost:8081/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#SSL-START SSL相关配置
#error_page 404/404.html;
宝塔服务器部署linjiashop后端api的过程
idea-------------------------------------
1.导入后端的api项目
2.修改linjiashop-admin-api和linjiashop-mobile-api的数据库配置信息,生产环境的数据库地址改成localhost:8080
3.配置文件改为spring.profiles.active=prod,并且把spring.jpa.hibernate.ddl-auto=create注释掉,或者改update
4.俩个logback.xml文件的log地址改成服务器的 /var/log/linjiashop/... 这个文件地址服务器里面也要去创建
4.找到lingjiashop 然后maven clean和package
宝塔-------------------------------------
1.安装宝塔后,打开网站--JAVA项目---添加Java项目
2.选择独立项目,输入域名:admin.xxx.com和端口号:808x
3.上传idea中maven打包的war包,并解压
4.重新启动服务
5.打开http://localhost:8081/swagger-ui.html 或者 http://localhost:8082/swagger-ui.html 查看是是否部署成功
如何运行vue项目(超详细图解)
Navicat创建用户并赋予权限
win10关闭指定端口
netstat -ano|findstr 1099
taskkill /pid 24588 /F 用eclipse运行SpringBoot养老院系统的问题解决
Mysql5和8的pom依赖和链接地址
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=UTF8<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>jdbc:mysql://127.0.0.1:3306/xxx?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8