首页
电脑工具
安卓工具
技术文章
资源分享
中文编程
其它资料
登录
搜索
登录
搜索
435000
累计撰写
382
篇文章
累计收到
0
条评论
首页
栏目
首页
电脑工具
安卓工具
技术文章
资源分享
中文编程
其它资料
登录
自定义幻灯片
自定义幻灯片
自定义幻灯片
自定义幻灯片
最新文章
2025-3-26
ffmpeg命令行参数中文详解
ffmpeg命令行参数中文详解 ts转mp4 (2.7.2 转码) 目录: 1 前言 2 命令选项 2.7.1 压缩分辨率 2.7.2 转码 2.7.3 截图 2.7.4 添加水印 2.7.5 设置264 Profile 2.7.6 设置SAR, DAR 2.7.7 设置帧率 2.7.8 推送rtmp码流 2.7.9 推送udp码流 2.7.10 探测视频是逐行还是隔行 2.1 通用选项 2.2 视频选项 2.3 高级视频选项 2.4 音频选项 2.5 音频/视频捕获选项 2.6 高级选项 2.7 常用参数举例 3 参数详解 3.1 视频 4 ffprobe常用参数 5 参考文献 1 前言 本文说描述的选项, 不是每个版本的ffmpeg都具有. 有些选项在不同的版本中有可能会有不同的名称或者表述方式. 2 命令选项 2.1 通用选项 -L license -h 帮助 -formats 显示可用的文件封装格式, 编解码, 协议等. 其中D为Decode或Demux, E为Encode或者Mux. -codecs 相对于-formats只显示编解码格式. -f fmt 强迫采用格式fmt(文件格式, 如wav, avi等). 如果不指定该选项, 则使用文件扩展名来自动探测格式. -i filename 输入文件 -y 覆盖输出文件 -t duration 设置录制/转码的时长. hh:mm:ss[.xxx]格式的记录时间也支持 -ss position 搜索到指定的起始时间 [-]hh:mm:ss[.xxx]的格式也支持 -title string 设置标题(本人编译的linux版本未带此选项) -author string 设置本人(本人编译的linux版本未带此选项) -copyright string 设置版权(本人编译的linux版本未带此选项) -comment string 设置评论(本人编译的linux版本未带此选项) -target type 设置目标文件类型(type可以为: vcd, svcd, dvd, 'dv', 'dv50')所有的格式选项(比特率, 编解码以及缓冲区大小)自动设置, 只需要输入如下的就可以了: ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg. 另外, type也可以加前缀: 'pal-', 'ntsc-' or 'film-'. -hq 激活高质量设置(本人编译的linux版本未带此选项) -itsoffset offset 设置以秒为基准的时间偏移, 该选项影响所有后面的输入文件. 该偏移被加到输入文件的时戳, 定义一个正偏移意味着相应的流被延迟了 offset秒. [-]hh:mm:ss[.xxx]的格式也支持 2.2 视频选项 -b:v bitrate 设置比特率, 缺省200kb/s(该数值依据转发的文章, 本人未验证). -r fps 设置帧率. 缺省25(该数值依据转发的文章, 本人未验证) -s size 设置帧大小 格式为WXH 缺省160X128. 默认为与源相同大小. 下面的简写也可以直接使用: Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576 -aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777 -croptop size 设置顶部切除带大小 像素单位 -cropbottom size -cropleft size -cropright size -padtop size 设置顶部补齐的大小 像素单位 -padbottom size -padleft size -padright size -padcolor color 设置补齐条颜色(hex,6个16进制的数, 红:绿:兰排列, 比如 000000代表黑色) -vn 不做视频记录 -bt tolerance 设置视频码率容忍度kbit/s -maxrate bitrate设置最大视频码率容忍度 -minrate bitreate 设置最小视频码率容忍度 -bufsize size 设置码率控制缓冲区大小 -vcodec codec 强制使用codec编解码方式. 如果用copy表示原始编解码数据必须被拷贝. -sameq 使用同样视频质量作为源(VBR). -pass n 选择处理遍数(1或者2). 两遍编码非常有用. 第一遍生成统计信息, 第二遍生成精确的请求的码率 -passlogfile file 选择两遍的纪录文件名为file 2.3 高级视频选项 -g gop_size 设置图像组大小 -intra 仅适用帧内编码 -qscale q 使用固定的视频量化标度(VBR) -qmin q 最小视频量化标度(VBR) -qmax q 最大视频量化标度(VBR) -qdiff q 量化标度间最大偏差 (VBR) -qblur blur 视频量化标度柔化(VBR) -qcomp compression 视频量化标度压缩(VBR) -rc_init_cplx complexity 一遍编码的初始复杂度 -b_qfactor factor 在p和b帧间的qp因子 -i_qfactor factor 在p和i帧间的qp因子 -b_qoffset offset 在p和b帧间的qp偏差 -i_qoffset offset 在p和i帧间的qp偏差 -rc_eq equation 设置码率控制方程 默认tex^qComp -rc_override override 特定间隔下的速率控制重载 -me method 设置运动估计的方法 可用方法有 zero phods log x1 epzs(缺省) full -dct_algo algo 设置dct的算法 可用的有 0 FF_DCT_AUTO 缺省的DCT 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC -idct_algo algo 设置idct算法. 可用的有 0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM -er n 设置错误残留为n 1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE -ec bit_mask 设置错误掩蔽为bit_mask,该值为如下值的位掩码 1 FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled) -bf frames 使用frames B 帧, 支持mpeg1,mpeg2,mpeg4 -mbd mode 宏块决策 0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD -4mv 使用4个运动矢量 仅用于mpeg4 -part 使用数据划分 仅用于mpeg4 -bug param 绕过没有被自动监测到编码器的问题 -strict strictness 跟标准的严格性 -aic 使能高级帧内编码 h263+ -umv 使能无限运动矢量 h263+ -deinterlace 不采用交织方法 -interlace 强迫交织法编码仅对mpeg2和mpeg4有效. 当你的输入是交织的并且你想要保持交织以最小图像损失的时候采用该选项. 可选的方法是不交织, 但是损失更大 -psnr 计算压缩帧的psnr -vstats 输出视频编码统计到vstats_hhmmss.log -vhook module 插入视频处理模块 module 包括了模块名和参数, 用空格分开 2.4 音频选项 -ab bitrate 设置音频码率. 有些版本是(-b:a bitrate) -ar freq 设置音频采样率 -ac channels 设置通道 缺省为与输入相同. -an 不使能音频纪录 -acodec codec 使用codec编解码 2.5 音频/视频捕获选项 -vd device 设置视频捕获设备. 比如/dev/video0 -vc channel 设置视频捕获通道 DV1394专用 -tvstd standard 设置电视标准 NTSC PAL(SECAM) -dv1394 设置DV1394捕获 -av device 设置音频设备 比如/dev/dsp 2.6 高级选项 -map file:stream 设置输入流映射 -debug 打印特定调试信息 -benchmark 为基准测试加入时间 -hex 倾倒每一个输入包 -bitexact 仅使用位精确算法 用于编解码测试 -ps size 设置包大小, 以bits为单位 -re 以本地帧频读数据, 主要用于模拟捕获设备 -loop 循环输入流(只工作于图像流, 用于ffserver测试) 2.7 常用参数举例 2.7.1 压缩分辨率 ffmpeg -i 1080.mp4 -s 1280x720 720.mp4 2.7.2 转码 ffmpeg -i h265.ts -vcodec h264 -acodec aac -strict -2 h264.mp4 2.7.3 截图 单张 ffmpeg -ss 00:02:00 -i car_1080.mp4 -vframes 1 -y car_1080.pngffmpeg -ss 00:02:00 -i car_1080.mp4 -vframes 1 -y car_1080.jpg 说明: -ss: 表示要截取的时间. 注意, 该参数要放在-i前面, 否则如果截取的时间点靠后的话会很慢. -vframes: 表示截取的帧数. 连续多张 ffmpeg -ss 00:02:00 -i car_1080.mp4 -vframes 20 -r 10 -y b-%3d.png 说明: -vframes 20: 表示截取20帧. -r 10: 表示截取的帧率(帧率10, 即一秒钟的内容, 截取为10张图片). 如果不指定表示按照原视频的帧率. b-%3d.jpg: 格式化文件命名,会生成 b-001.jpg,b-002.jpg 等 2.7.4 添加水印 水印局中: ffmpeg -i input.mp4 -i watermark.png -filter_complex overlay='(main_w/2)-(overlay_w/2):(main_h/2)-(overlay_h)/2' center.mp4ffmpeg -i input.mp4 -i watermark.png -filter_complex overlay='5:5' upper_left.mp4 说明: -i input.mp4: 视频源 -i watermark.png: 水印图片 overlay: 水印的位置 center.mp4: 输出文件 2.7.5 设置264 Profile -profile:v baseline -level 3.0-profile:v baseline -level 3.1-profile:v main -level 3.1-profile:v main -level 4.0-profile:v high -level 4.0-profile:v high -level 4.1-profile:v high -level 4.2 2.7.6 设置SAR, DAR 命令行: ffmpeg -i infile -vcodec copy -acodec copy -vbsf h264_changesps=arg1arg2[/arg3] outfile args can be: sar=x:y ---- Set sar to x:y, 0:0 will remove sar info there are two distinct cases: sar/dar is stored in container - AFAIK this should worksar/dar is stored in bistream - reencode is needed - though one could need to just replace few bits... 2.7.7 设置帧率 ffmpeg -i B.avi -codec:v mpeg4 -r 30 -qscale:v 2 -codec:a copy C.avi -codec:v mpeg4 - Use the encoder called mpeg4 for MPEG-4 Part 2 video. -r 30 - Set output frame rate as 30. -qscale:v 2 - Set video output quality using a constant quantization parameter. Recommended range is 2-5 for mpeg4. -codec:a copy - Copy the audio from input to output to avoid re-encoding. if you want more presice control, not only control fps. but also tbr, tbn, tbc. assume you understand what mean of it. tbc,tbn,tbr. check ffmpeg -x264opts timebase=??? or ffmpeg -time_base 2.7.8 推送rtmp码流 ffmpeg -re -i ./test.flv -acodec copy -vcodec copy -f flv rtmp://localhost/live/test 2.7.9 推送udp码流 ffmpeg -re -i ./test.ts -c copy -f mpegts -y udp://1.2.3.4:12345 如果需要指定udp包大小: ffmpeg -re -i ./test.ts -c copy -f mpegts -y udp://1.2.3.4:12345?pkt_size=1316 2.7.10 探测视频是逐行还是隔行 ffmpeg -filter:v idet -frames:v 100 -an -f rawvideo -y /dev/null -i test.ts 得到如下输出: [Parsed_idet_0 @ 0x2386bc0] Repeated Fields: Neither: 92 Top: 4 Bottom: 5[Parsed_idet_0 @ 0x2386bc0] Single frame detection: TFF: 101 BFF: 0 Progressive: 0 Undetermined: 0[Parsed_idet_0 @ 0x2386bc0] Multi frame detection: TFF: 101 BFF: 0 Progressive: 0 Undetermined: 0 此例检测了100帧, 得到TFF: 101, 说明是隔行(TFF表示隔行的顶场, BFF表示底场, Progressive表示逐行的帧). 如果都是Progressive, 则是逐行. 3 参数详解 3.1 视频 tbn the time base in AVStream that has come from the container. tbn代表文件层(st)的时间精度. tbc the time base in AVCodecContext for the codec used for a particular stream. tbc代表视频层( st->codec )的时间精度. tbr tbr is guessed from the video stream and is the value users want to see when they look for the video frame rate. 代表帧率; 4 ffprobe常用参数 -show_data show packets data -show_data_hash show packets data hash -show_error show probing error -show_format show format/container info -show_frames show frames info -show_format_entry entry show a particular entry from the format/container info -show_entries entry_list show a set of specified entries -show_packets show packets info -show_programs show programs info -show_streams show streams info -show_chapters show chapters info -count_frames count the number of frames per stream -count_packets count the number of packets per stream -show_program_version show ffprobe version -show_library_versions show library versions -show_versions show program and library versions -show_pixel_formats show pixel format descriptions -show_private_data show private data 5 参考文献 转自: http://blog.csdn.net/leixiaohua1020/article/details/12751349 并加入本人的解释. ffmpeg+libx264: https://trac.ffmpeg.org/wiki/Encode/H.264 Human knowledge belongs to the world
2025年-3月-26日
1 阅读
0 评论
技术文章
2025-3-26
群晖升级 DSM7.0 后,无法通过 SMB 连接 NAS 共享文件夹解决方法
http://www.ptyqm.com/29467.html 群晖 DSM7.0 默认停用了 NTLMv1 认证,仅启用 NTLMv2,部分 SMB 客户端(WindowsXP 设备,媒体播放器,网络打印机,智能电视,IP 网络摄像机等设备)将无法正常连接群晖 NAS,更新后如需正常使用以上设备的,请前往控制面板 > 文件服务 > SMB > 高级设置 > 其他,启用 NTLMv1 认证。 如果你的设备支持NFS,推荐使用NFS进行访问,更稳定。
2025年-3月-26日
1 阅读
0 评论
技术文章
2025-3-26
群晖DSM7.0降级到6.2.4(详细图文教程)
http://www.ptyqm.com/29189.html https://post.smzdm.com/p/a4womeg8/ https://www.baidu.com/s?ie=UTF-8&wd=%E7%BE%A4%E6%99%96DSM7.0%E9%99%8D%E7%BA%A7%E5%88%B06.2.4%EF%BC%88%E8%AF%A6%E7%BB%86%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B%EF%BC%89&tn=02003390\_52\_hao\_pg
2025年-3月-26日
3 阅读
0 评论
技术文章
2025-3-26
安卓手机使用VNET抓包京东wskey
https://blog.csdn.net/u012954039/article/details/120178959 苹果手机抓包教程:https://blog.csdn.net/u012954039/article/details/120179735 1、安卓手机需要下载VNET软件。下载官网:https://www.vnet-tech.com/zh/ 或者直接点击链接下载:https://cdn.jsdelivr.net/gh/goldenduo/Share/latest.apk 2、下载完成后安装,安装完成后打开,点击右下角三角形按钮(开始抓包按钮),会提示安装证书,点击确定即可: 3、然后点击上面的菜单按钮,选择【添加应用】(需要先停止抓包): 4、然后点击右上角加号,在弹出来的页面找到【京东】,然后返回 5、点击开始抓包按钮,然后打开京东app首页刷新一下,再返回VNET软件,停止抓包: 6、可以看到有很多个链接,找到api.m.jd.com的链接,点进去,查看cookie,找到带wskey的即可,如果没有,就看看其他链接,多找找就有了 苹果手机抓包教程:https://blog.csdn.net/u012954039/article/details/120179735
2025年-3月-26日
3 阅读
0 评论
技术文章
2025-3-26
京东获取cookie或wskey方法
挂机总共分为两种方式,都需要用一些手段抓取代码后填入到挂机网址节点中 代码分为两类: cookie类 这类代码的抓取方式比较简单,缺点是有效期不超过30天,随缘失效,需要经常关注账号状态格式类型pt_key=xxxxx;pt_pin=xxxxxxx; wskey类(建议使用) 这类代码的抓取方式稍微复杂一点,但有效期很长,基本抓了之后就不用再管了格式类型pin=xxxxxxxx;wskey=xxxxxxx; 获取代码后打开挂机网址,选择相对空余的节点,在cookie框中粘贴上cookie或wskey,在备注框中随意输入内容后点登陆即可,如果提示格式不对或失效请重新抓取cookie或wskey并检查格式。 cookie类 1.安卓获取方法 下载链接: https://wwa.lanzoui.com/iukutvtz90j 安卓用户下载 安装 并打开这个app 登录完成后,点击右下角的圆形按钮即可自动复制cookie,至此获取cookie完成 ck电脑获取方法2 下载链接: https://wwa.lanzoui.com/iNSjXtq8h0f pc端用户下载解压后打开chrome文件夹里的app文件夹,打开chrome.exe等待网页加载完成 在加载完成的登录页面中输入手机号和验证码登录,登录成功后点击右上角的饼干图标,搜索key和pin,流程如下图 登录界面 获取pt-key界面 获取pt-pin 将获取到的key和pin组合成下方这样的模式即可,注意分号 pt_key=你的key;pt_pin=你的pin; 示例: pt_key=AAJhZqYcADCkILv2jeuIzsqwrasfdafeazKa6I4EMI1VQR6CQvFDdgNoSZnHcZSDpwun6gOrk1YI;pt_pin=jd_Owqrfasfoy; 至此cookie获取完成 ck苹果获取方法3 ios端(这个博主未测试,搬得别人的教程) 参照https://www.bilibili.com/read/cv12903201里的Alook浏览器教程 wskey获取方法 参照教程:https://blog.csdn.net/u012954039/article/details/120178959 其中,安卓端的VNET下载地址如下: https://wwa.lanzouo.com/iL7P0xdlobc 按照教程获取到wskey开头的一堆代码后,把wskey=xxxxxxxxx;的这部分与pin=xxxxxxx;组合成这样pin=xxxx;wskey=xxxx;即可。(pin为自己的京东用户名,在app里点设置可以看到,为jd_xxxxxx的样式)
2025年-3月-26日
2 阅读
0 评论
技术文章
2025-3-26
epic无法登陆
手动添加host可以解决 1、打开电脑地址:C:\Windows\System32\drivers\etc 2、找到host,记事本打开 3、复制下面的host粘贴并保存即可 104.16.168.131 hcaptcha.com 104.16.168.131 newassets.hcaptcha.com 104.16.168.131 imgs.hcaptcha.com 4、操作完成启动epic登陆即可
2025年-3月-26日
4 阅读
0 评论
技术文章
2025-3-26
群晖NAS如何从SHR或者RAID1阵列模式拆分、降级为BASIC模式
http://www.ptyqm.com/29544.html 经常有群晖用户买多盘位机器,但暂时先插一个硬盘用,然后没留意,把磁盘模式设置成了SHR模式。后续加硬盘的时候,会很容易把新硬盘和旧硬盘组成SHR,两块硬盘做SHR相当于RAID1。这个时候就会把旧硬盘的数据完完整整地拷贝到新硬盘,本想着加个硬盘增加硬盘空间,最后空间没增加,新加的硬盘变成备份盘了。更多关于阵列模式的介绍可以看看《群晖NAS入门教程第四节:群晖存储空间管理员功能和磁盘阵列类型的简介》。 这个时候你想降级成BASIC模式,把两个硬盘拆分。一般来说,官方的推荐是利用USB之类的方式先备份出来,之后再还原,但这必须借助第三块盘。 以下方法是不借助第三块盘的情况下,拆分RAID。 首先模拟一下这种情况,我现在这两个1T的硬盘 是shr的阵列模式,也就是raid1,我现在想弄成两个独立的盘,不做raid1,而且手头没有其他硬盘。 可以看到video文件夹里面有一些文件。 1、开机正常运行情况下,直接抽掉一块1T的盘。一会机器就会叫,status亮黄灯,报警,先别管,去控制面板>硬件和电源>停止哔声,不然吵死了。 然后储存空间会报:堪用。别管他。 2、这时候把刚抽掉的一块盘再插进去。等一会后,盘会出现,然后显示未初始化,现在回到储存空间选项卡,点新增。 3、选自定义,然后下一步。 ▼再下一步 ▼继续下一步 ▼点选确定 ▼然后选basic ▼下一步 ▼点应用 ▼等一会后就会出现两个储存空间 4、接下来,在控制面板里新建文件夹,比如我选video文件夹-点【编辑】。 在编辑页面选择刚刚建立的储存空间2,做数据迁移。 这样,就把video文件夹的内容迁移到储存空间2了,重复刚才的过程,把其他文件夹都迁移到储存空间2。 5、迁移完成后,回到储存空间这里,把堪用的储存空间1删除。 删除后只剩一个储存空间2,而且是basic模式。 再新建储存空间1就行了。记得不要选shr了。。。。。步骤与上面相似,就不多写了。 6、最后,再去控制面板 >共享文件夹,给储存空间1新建几个文件夹就行了,记得文件夹不能与储存空间2的文件夹同名。 然后重新安装下软件就ok!
2025年-3月-26日
4 阅读
0 评论
技术文章
2025-3-26
宝塔Linux面板 v7.5.1 企业破解开心版
https://www.vxat.com/WangZhanYuanMa/600.html 宝塔介绍 宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。 有20个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。 修改说明 去除面板与宝塔官方的所有通信、数据上报、下发接口;全部官方插件免费无限制使用 安装脚本后无需注册宝塔账号,默认为宝塔企业版,宝塔开心版可以使用所有付费插件! 安装 v7.5.1 纯净版内测版本(极速安装方式 (安装时间1至10秒),升级后可能需要重启面板) 如果已经升级或安装官方v7.5.1正式版,再执行此脚本即可一键升级净化升级为宝塔纯净版; 此升级安装过程,不影响网站数据,不宕机,不修改任何网站数据,无缝切换,建议先测试; Centos/Debian升级命令: Bash wget -O /home/update7.sh http://download.hostcli.com/install/update7.sh && bash /home/update7.sh Centos安装命令: Bash yum install -y wget && wget -O install.sh http://download.hostcli.com/install/install_6.0.sh && sh install.sh Debian安装命令: Bash wget -O install.sh https://download.baotas.tech/install/install-ubuntu_6.0.sh && bash install.sh 还原官方版命令: Bash curl http://download.bt.cn/install/update6.sh|bash
2025年-3月-26日
3 阅读
0 评论
电脑工具
2025-3-26
Windows关机命令
“shutdown -s -t 0”:“-s”表示shutdown,关机;“-t”表示time,关机操作执行前等待的时间,秒为单位。该命令表示计算机将马上关机,可以自行修改时间,0表示马上执行关机操作 命令的s是指关机的意思,把s换为r,关机变为重启。同理,把s换为l,关机变为注销。t后面的时间也是可以更改的。如图,要想把关机改为重启,只需要把“-s”改为“-r” Shutdown.exe -s -t 3000 表示50分钟后自动关机 Shutdown.exe -s -t 3600 表示60分钟后自动关机 Shutdown.exe -s -t 7200 2小时 Shutdown.exe -s -t 14400 4小时 设置取消自动关机 shutdown -a
2025年-3月-26日
4 阅读
0 评论
技术文章
2025-3-26
emlog pro去除未注册提示
https://blog.csdn.net/qq9108780/article/details/120425680 申明:仅为模板开发,去除提示使用!如果喜欢该程序,请赞助原作者。 去除 注册码验证,原始文件36-57行。(路径:include\lib\register.php) public static function checkEmKey(\$emkey) { // if (empty(\$emkey)) { // return false; // } // // \$emcurl = new EmCurl(); // \$emcurl->setPost(['emkey' => \$emkey]); // \$emcurl->request(OFFICIAL_SERVICE_HOST . 'proauth/register'); // if (\$emcurl->getHttpStatus() !== 200) { // return false; // } // \$response = \$emcurl->getRespone(); // \$response = json_decode(\$response, 1); // if (\$response['code'] !== 200) { // \$CACHE = Cache::getInstance(); // Option::updateOption('emkey', ''); // \$CACHE->updateCache('options'); // return false; // } return true; } 去除 商店验证,原始文件27-31行。(路径:admin\store.php) if (\$ret['code'] === MSGCODE_EMKEY_INVALID) { // Option::updateOption('emkey', ''); // \$CACHE->updateCache('options'); // emDirect("./register.php?error_store=1"); }
2025年-3月-26日
2 阅读
0 评论
技术文章
32
33
34
35
36