首页 文章 精选 留言 我的

精选列表

搜索[音视频产品定制],共10006篇文章
优秀的个人博客,低调大师

短视频开发,音视频系统关于美颜SDK代码详解

随着短视频开发视频直播行业的兴起,抖音短视频受到了用户极度的追捧,整个行业的用户市场与发展前景都非常不错,已成为时下最热门的话题,大部分企业希望在自己的移动应用上添加类似动态贴纸、美颜SDK等功能需求,实现以上需求现在大部分企业是通过第三方视频SDK来完成的,那如何快速接入类似美颜SDK功能,本篇以**科技公司独自开发的美颜sdk特效为例:设置美颜强度compile 'com.aiyaapp.aiya:AyCore:v4.0.2'设置磨皮强度compile 'com.aiyaapp.aiya:AyEffect:v4.0.2'设置红润强度compile 'com.aiyaapp.aiya:AyFaceTrack:v4.0.2设置美白强度compile 'com.aiyaapp.aiya:AyShortVideoEffect:v4.0.2'具体使用可以参考Demo中DefaultEffectFlinger类中的使用短视频模块:引用的so库如下其现总共有13中效果分别是:无特效 —— LazyFilter.class灵魂出窍 —— SvSpiritFreedFilter.class抖动 —— SvShakeFilter.class黑魔法 —— SvBlackMagicFilter.class虚拟镜像 —— SvVirtualMirrorFilter.class荧光 —— SvFluorescenceFilter.class时光隧道 —— SvTimeTunnelFilter.class躁动 —— SvDysphoriaFilter.class终极变色 —— SvFinalZeligFilter.class动感分屏 —— SvSplitScreenFilter.class幻觉 —— SvHallucinationFilter.class70S —— SvSeventysFilter.class炫酷转动 —— SvRollUpFilter.class四分屏 —— SvFourScreenFilter.class三分屏 —— SvThreeScreenFilter.class黑白闪烁 —— SvBlackWhiteTwinkleFilter.class转场动画 —— SvCutSceneFilter.class优质特效内容的井喷式增长是引发下一步短视频系统领域爆发的绝对因素,而**科技美颜SDK作为首家可以提供视频编辑解决方案的提供商,相信定会为行业的高速发展贡献全部技术力量。

优秀的个人博客,低调大师

2026年WordPress定制开发最佳公司怎么选?

"需要做一个WordPress网站,要能做SEO"——这句话背后藏着至少三种完全不同的需求:品牌展示站、内容营销引擎、带会员体系和支付系统的业务平台。这三种需求技术架构差距悬殊,选错方向,后期改造成本是重做的两倍不止。2026年的WordPress生态已经不是"装个主题就能跑"的年代。Gutenberg全站编辑(FSE)、React驱动的Block开发、Headless架构、Core Web Vitals深度优化——这些技术栈的组合方式,直接决定了网站上线后能否在搜索结果里站稳脚跟。

优秀的个人博客,低调大师

定制个机器人帮你和Ta聊天

自动聊天示例 这是基于200万聊天记录训练出来的,你可以用自己和女朋友的记录训练了试试效果 :P 至于微信机器人怎么用,你可以 GitHub 搜搜看哈 聊天1: user: 在吗? bot: 在 user: 在干嘛呢? bot: 看电视 user: 看啥电视呀 bot: 活色生香 user: 很好看吗? bot: 特搞笑 user: 你在哪里呀? bot: 家里 user: 家里就你一个人嘛? bot: 我喜欢一个人玩 user: 那我过来找你? bot: 不可以,乖乖上班去 聊天2: Q: 在吗? A: 在 Q: 干嘛呢? A: 没事 Q: 陪我去逛街嘛? A: 嗯 Q: 你在打游戏? A: 没有 Q: 那去不去? A: 去 项目说明 chatbot 是一个通过已知对话数据集快速生成回答的 Go 问答引擎。 为啥会有 chatbot 项目呢? 好多年前,当我们需要一个聊天机器人的时候,我是先用了 ChatterBot,但是使用下来,我们的1.2亿对话语料训练后的模型回答一个问题需要21秒左右,实在没法接受。仔细看了 ChatterBot 源码之后,我用 Go 重新实现了一个,并用 go-zero 的 MapReduce 框架做了并行优化,结果我们一个回答平均耗时大概18毫秒。 国庆假期,我有点空闲时间,所以就把这个项目整理了开源出来,一是给大家一个实际的 go-zero 的 MapReduce 示例;二是也提供大家一个闲聊机器人的项目玩玩。 BTW:后续我可能会开源智能客服机器人的项目,可以关注我的github: https://github.com/kevwan 代码目录和命令行使用说明 bot 问答引擎,可以自定义自己的匹配算法 cli train 训练给定的问答数据并生成 .gob 文件 -d 读取指定目录下所有 json 和 yaml 语料文件 -i 读取指定的 json 或 yaml 语料文件,多个文件用逗号分割 -o 指定输出的 .gob 文件 -m 定时打印内存使用情况 ask 一个示例的问答命令行工具 -v verbose -c 训练好的 .gob 文件 -t 数据几个可能的答案 数据格式 如果你有语料数据,可以自行整理用来训练。 数据格式可以通过 yaml 或者 json 文件提供,参考 https://github.com/kevwan/chatterbot-corpus 里的格式。大致如下: categories: - AI conversations: - - 什么是ai - 人工智能是工程和科学的分支,致力于构建具有思维的机器。 - - 你是什么语言编写的 - Python - - 你听起来像机器 - 是的,我受到造物者的启发 - - 你是一个人工智能 - 那是我的名字。 致谢 go-zero - https://github.com/zeromicro/go-zero go-zero 的 core/mr 包的 MapReduce 实现使 chatbot 的回答效率得到了巨大的提升! ChatterBot - https://github.com/gunthercox/ChatterBot 最早我是使用 ChatterBot 的,但由于回答太慢,所有后来只能自己实现了,感谢 ChatterBot,非常棒的项目! 项目地址 https://github.com/kevwan/chatbot 欢迎使用并 star 支持!

优秀的个人博客,低调大师

【实战】再见Excel,我能自由定制表格

很多开发者说自从有了 Python/Pandas,Excel 都不怎么用了,用它来处理与可视化表格非常快速。 下面我来举几个例子。 1. 删除重复行和空行 我们直接用dict.fromkeys的方法把当前的数据转为字典,默认的值为None因为用不到,也就无所谓了。然后我们再用list直接对结果进行类型转换,转换为list。 In [135]: for row in rows4: print(row) ('name', 'address') ('tom li', 'beijing') ('tom li', 'beijing') ('',) ('mary wang', 'shandong') ('mary wang', 'shandong') ('',) ('de8ug', 'guangzhou') In [148]: dict.fromkeys(rows4) Out[148]: {('name', 'address'): None, ('tom li', 'beijing'): None, ('',): None, ('mary wang', 'shandong'): None, ('de8ug', 'guangzhou'): None} In [137]: list(dict.fromkeys(rows4)) Out[137]: [('name', 'address'), ('tom li', 'beijing'), ('',), ('mary wang', 'shandong'), ('de8ug', 'guangzhou')] 这时候,重复数据直接去掉了,注意我们这里的dict是python3新版本的,所以顺序没有影响,如果你还在用python2或者python3.5以下,建议升级一下python版本。 接下来,就是空数据的处理了。观察('',)是个元组,第一个位置的数据为空字符串,那么整体长度为1,可以直接通过循环来去掉。这里的循环我们可以用Python中的语法糖写法,直接一行搞定,最后加个判断只留下长度大于1,最后用list转换为列表。 In [179]: list(x for x in dict.fromkeys(rows4) if len(x[0])>1) Out[179]: [('name', 'address'), ('tom li', 'beijing'), ('mary wang', 'shandong'), ('de8ug', 'guangzhou')] 上面的研究搞定了,直接把研究结果放到函数中解决重复行和空行的问题。 注意这时候我们处理的行数据,所以就不再按列循环了。而且,当前的sheet中处理之后,每一行的内容都会修改位置或删除。所以我们先用old_rows = [x for x in sheet.values]取到旧的每一行的数据,注意这里的sheet后直接用values取到数据,而不是cell对象。这里的old_rows是个列表,就可以用刚才的研究直接转为删除重复和空行的数据了。 接下来,用sheet.delete_rows(1, sheet.max_row)删除所有行,第一个参数表示从第一行开始,第二个参数为最大行数。最后,用循环新的行数据的方式,把新数据写入当前的sheet。 In [189]: def handle_duplicate(wb, sheetname): """ 去除重复行,空行 先取出每一行,清空sheet,处理后写回 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] old_rows = [x for x in sheet.values] print('修改前:', old_rows) new_rows = list(x for x in dict.fromkeys(old_rows) if len(x[0])>1) print('修改后-》》', new_rows) # 删除所有行 sheet.delete_rows(1, sheet.max_row) # 写入新数据 for row in new_rows: sheet.append(row) 运行测试,查看结果。再说一次,一定记得测试啊!如果有错误就根据错误提示,查看代码,反复调试,去除bugs。 In [190]: wb = load_data() handle_duplicate(wb, '重复行') save_as(wb) 2.删除空格 删除空格也需要用到字符串的函数,所以这里还是简单研究一下。如果我们想去除字符串中间的空格,可以用split默认进行分割,然后把分割的结果用’’.join方法连接起来就可以了。注意join前是空的字符串。这里也用不到strip去除两端的空格了,因为split分割后只有几个最后的字符串组成的列表。 In [192]: a="a b c " In [194]: a.strip() Out[194]: 'a b c' In [195]: a.split() Out[195]: ['a', 'b', 'c'] In [196]: ''.join(a.split()) Out[196]: 'abc' In [ ]: 研究成功后,写入函数。这次命名为handle_blank。 In [197]: def handle_blank(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(): # 不加参数,循环所有列 for cell in col: print('修改前:', cell.value, end='') cell.value = ''.join(cell.value.split()) print('修改后-》》',cell.value) In [198]: handle_blank(wb, '空格') 3.修改日期和时间格式 有时候,我们需要对表格中时间相关的单元格进行格式修改,这里需要用到Python中时间模块datetime,将需要的格式进行拼接后,用strftime进行转换。 假设这里我们想把之前简单的1/11月日格式,更改为年月日的样式,中间加上分隔符/或-,就需要用"%x"或"%Y-%m-%d"来进行操作了。注意这里的%加字母都是官方定义好的格式而已,我们用到时候进行拼接,传给函数就可以了。 具体更多的拼接格式如下: In [199]: import datetime In [209]: d=datetime.datetime(2019,1,11) In [203]: d.strftime("%x") Out[203]: '01/11/19' In [205]: d.strftime("%Y-%m-%d") Out[205]: '2019-01-11' 研究完成后,我们编写函数。 首先需要用m, d = cell.value.split('/')把之前简单的日期进行分割,得到m,代表月份和日期,然后用datetime进行转换,生成时间相关的对象day,注意里面的参数是数字,所以用int转换,最后把day进行格式化输出。编写函数后,一定记得测试。 In [218]: def handle_time(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(max_col=1, min_row=2): # 找到时间的列, 第一列,从第二行开始 for cell in col: print('修改前:', cell.value, end='') m, d = cell.value.split('/') day = datetime.datetime(2019, int(m), int(d)) cell.value = day.strftime("%Y-%m-%d") print('修改后-》》',cell.value) In [220]: wb = load_data() handle_time(wb, '时间') save_as(wb) 4.修复数字和符号 接下来,处理数字和符号相关的操作。加入我们之前的价格,很多是有小数点的,这时候还想保存两位小数,并加上人民币符号为前缀。就需要新的一波研究了。 有小数点,一是要保证位数,我们这里要求2位,二是要对多余的位数四舍五入。可以有以下俩个方式完成,一个用Decimal一个用round,两个的区别是Decimal("0.00")指定位数后,会自动补0,而round遇到0就自动舍掉了。而且round在四舍五入的计算中,还有点特殊。具体可查看官方文档。 我们这里用Decimal来完成函数内相关操作。记得测试啊! In [227]: from decimal import Decimal In [240]: a = 3.1 b=Decimal(a).quantize(Decimal("0.00")) print(b) 3.10 In [244]: round(a,2) # 位数自动省略0 Out[244]: 3.1 In [247]: def handle_num(wb, sheetname): """ 按列循环, 通过参数确认目标 """ print(f'开始处理工作表:{sheetname}'.center(18, '-')) sheet = wb[sheetname] for col in sheet.iter_cols(min_col=3, max_col=3, min_row=2): # 找到时间的列, 第一列,从第二行开始 for cell in col: print('修改前:', cell.value, end='') # cell.value = round(float(cell.value), 3) cell.value = '¥' + str(Decimal(cell.value).quantize(Decimal("0.00"))) print('修改后-》》',cell.value) In [249]: wb = load_data() handle_num(wb, '数字符号') save_as(wb) 9元微专栏,带你《用Python玩转excel》 还有群答疑服务哦↓

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册