Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载

2023-11-15

☞ ░ 前往老猿Python博文目录

一、简介

MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切、拼接、标题插入)、视频合成(也称非线性编辑)、视频处理或创建高级效果。

它可以读写最常见的视频格式,MoviePy能处理的视频是ffmpeg格式的,老猿理解支持的文件类型至少包括:*.mp4 *.wmv *.rm *.avi *.flv *.webm *.wav *.rmvb等 。

MoviePy使用ffmpeg读取、导出视频和音频文件,使用ImageMagick生成文本和输出GIF文件。Python的快速数字库Numpy保证了不同媒体的处理。高级效果和增强使用了Python的许多图像处理库(PIL、Scikit-image、scipy等)。

moviepy的核心对象是剪辑(clips),包括AudioClips 和VideoClips。它们可以修改(剪切、减速、变暗…)或与剪辑混合以形成新剪辑,可以使用PyGame或IPython Notebook预览,并可以输出到对应类型的文件(如MP4、GIF、 MP3等)。例如,VideoClips可以从视频文件、图像、文本或自定义动画创建。VideoClips可以有一个音频轨道(这是一个AudioClip)和一个mask遮罩(一个特殊的VideoClip,指示当剪辑与其他剪辑混合时要隐藏哪些部分)。

关于moviepy的两个专栏是老猿阅读moviepy库当前最新版本1.0.3的文档、源代码以及大量测试的基础上总结的MoviePy学习教程,本文将两个专栏的核心知识点,包括重要类的相关方法及作用、视频音频剪辑变换方法、场景式的支撑能力进行了导览式介绍,并给出了相关知识点教程的原文链接。

教程同时介绍了使用PyQt+moviepy实现的图形化视频剪辑工具的开发过程,并提供多视频合成(含顺序拼接和同屏播放)、从视频中选择多时间段范围的视频拼接、将视频转动画或图片文件的工具的win7和win10版本可执行文件下载。

二、Moviepy导览

2.1、核心类介绍

2.1.1、剪辑基类clip

Moviepy的剪辑的实现由类库提供基础能力,其中clip类是基类,提供了:

  • 设置多个剪辑拼接时设置每个剪辑开始播放开始时间和结束时间的set_start方法和set_end方法
  • 设置剪辑时长的set_duration方法
  • 获取剪辑帧数据的get_frame方法
  • 对剪辑进行变换的fl方法
  • 基于剪辑时间线进行变换的fl_time方法
  • 对剪辑调用指定函数进行变换的fx方法
  • 获取剪辑片段的subclip方法
  • 去除剪辑指定时间线范围的cutout方法
    注意:截止现有的Moviepy1.03版本,所有剪辑的变换都不是对调用剪辑的改变,而是基于调用者的副本进行的改变,且这些剪辑方法返回的都是变换了的调用者副本。

更多关于剪辑基类clip的介绍请参考公开博文《moviepy音视频剪辑:moviepy中的剪辑基类Clip的属性和方法详解》或付费专栏文章《moviepy音视频剪辑:moviepy中的剪辑基类Clip详解》。

2.1.2、视频剪辑类VideoClip

视频剪辑类VideoClip是视频剪辑的基类,它提供了:

  • 将视频中指定时间点的视频转成图像保存的save_frame方法
  • 将视频剪辑输出到视频文件的write_videofile方法
  • 将视频剪辑按设定频率输出成一张张图片的write_images_sequence方法
  • 将视频剪辑输出成gif动画的write_gif方法
  • 将视频剪辑应用特定函数进行变换的subfx方法
  • 对get_frame方法获取的帧图像内容进行变换的fl_image方法
  • 将视频剪辑帧进行扩展或剪裁的fill_array方法
  • 给视频剪辑增加遮罩的add_mask方法
  • 用于当视频比较小扩展后给视频剪辑无视频部分设置背景色的on_color方法
  • 用于使用特定函数构造帧的set_make_frame方法
  • 设置剪辑音频的set_audio方法
  • 设置剪辑遮罩的set_mask方法
  • 调整剪辑透明度的set_opacity方法
  • 设置多个剪辑同屏播放时各剪辑在屏幕位置的set_position方法
  • 将指定时间的帧变成一个单独的图像剪辑(静止的图像视频剪辑)的to_ImageClip方法
  • 将调用者剪辑作为别的剪辑遮罩的to_mask方法
  • 将遮罩剪辑变成普通剪辑的to_RGB方法
  • 将剪辑去除声音的without_audio方法
  • 对剪辑的音频进行变换的afx方法

可以看到VideoClip提供了将视频剪辑进行输出和变换的相关方法,更多关于视频剪辑类VideoClip的内容请参考公开文章《moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解》或付费专栏文章《moviepy音视频剪辑:视频剪辑基类VideoClip详解》。

2.1.3、视频剪辑子类

视频剪辑子类都是从VideoClip直接或间接派生的类,包括:

  • 直接从视频文件构读取剪辑的VideoFileClip类
  • 将多个VideoClip类剪辑合成一个剪辑的CompositeVideoClip类
  • 从一个图片文件夹目录下的所有图片文件构造剪辑的ImageSequenceClip类
  • 直接从数组数据构造剪辑的DataVideoClip类
  • 可以用于科学研究特定场景的UpdatedVideoClip类,UpdatedVideoClip类构造的剪辑要求满足基于时间线要求的设定条件才会输出帧
  • 从一个图像文件或图像数组构造静态图像剪辑的ImageClip类
  • 仅显示一种颜色的剪辑ColorClip类
  • 用于生成文字视频的TextClip类。

更多关于这些类的介绍请参考公开博文《moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍》、《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip类详解》或付费专栏文章《moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍及使用案例》、《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip及使用案例》。

需要注意的是TextClip是基于安装了ImageMagick才能使用,并且中文处理还有些特殊注意的地方,具体请参考付费专栏文章《moviepy音视频剪辑:视频基类VideoClip子类DataVideoClip、UpdatedVideoClip、ImageClip、ColorClip、TextClip及使用案例》。

2.1.4、音频剪辑类

在本部分介绍了:

2.2、视频和音频剪辑合成变换方法

2.2.1、视频变换原理以及视频变换基础方法fl

视频帧在程序中被表示为与视频分辨率大小对应的一个三维矩阵,这个矩阵的行数是视频的高、列数是视频的宽,元素是YUV表示的像素点。视频剪辑变换本质上就是对帧数据的处理,也就是对帧对应的三维数组数据的操作。

可以使用fl方法进行视频的剪辑变换处理,fl方法是视频变换的基础方法,所有Moviepy的其他变换方法如fl_time以及后面介绍的其他变换函数都是基于fl来实现的。

更多关于视频变换的原理及fl方法的内容请参考《Python+moviepy音视频剪辑:视频帧数据的本质、Clip的fl方法进行变换处理的原理以及滚屏案例》。

2.2.2、时间特效变换方法fl_time

时间特效处理可以实现快播、慢播、倒播等,时间特效处理使用fl_time方法,它是基于前面介绍的fl方法的实现。

时间特效处理其实非常简单,就是对时间的一个变换,变换时,假设t1是剪辑的时间线,从0开始一直到剪辑的最后end地方的一个线性坐标,而时间特效是通过调用函数或方法得到t2,t2 = t_fun(t1),然后特效处理后的剪辑时间线t1对应的帧被替换为原剪辑t2位置的帧。

MoviePy中提供的与时间相关的变换函数如speedx等都是通过fl_time实现的。

更多关于时间特效的处理fl_time方法请参考《moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理和可能遇到的坑》或付费专栏文章《moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理、代码实现以及需要注意的坑》。

2.2.3、视频剪辑颜色变换函数

除了使用fl方法以及fl_time方法进行剪辑变换外,MoviePy还提供了一些通过二者实现的一些特定变换函数,好方便使用者能快速使用,这些变换函数老猿将其为分为颜色变换、时间变换、大小变换、内容变换四个部分。

颜色变换函数包括:

  • blackwhite函数将剪辑变为灰度剪辑,即黑白视频
  • colorx函数调整剪辑颜色的饱和度,使剪辑的明度变大或降低
  • fadein、fadeout实现剪辑开头或结尾的淡入淡出处理
  • gamma_corr对剪辑图像进行gamma修正
  • invert_colors函数实现剪辑像素颜色反转,即负片转换
  • lum_contrast函数对剪辑的亮度对比度(luminosity-contrast )进行校正
  • mask_color函数基于剪辑自身的像素值给剪辑生成不同透明度遮罩

更多关于视频剪辑颜色变换函数的详细内容请参考《moviepy音视频剪辑:颜色相关变换函数blackwhite、colorx、fadein/out、gamma_corr、invert_colors、lum_contrast、mask_color介绍》或付费专栏文章《moviepy音视频剪辑:颜色相关变换函数blackwhite、colorx、fadein/out、gamma_corr、invert_colors、lum_contrast、mask_color详解

2.2.4、视频剪辑时间变换函数

与时间变换相关的时间特效函数包括:

  • 将指定时刻位置的帧延时显示的freeze函数
  • 将剪辑中指定屏幕范围内容固定为参数指定的某个时刻的内容的freeze_region函数
  • 将剪辑重复n次或无限循环的loop函数
  • 使剪辑在它自己的末端逐渐淡入的make_loopable函数
  • 调整剪辑播放速度的speedx函数
  • 倒序播放剪辑的time_mirror函数
  • 合成当前剪辑叠加自身倒序播放剪辑的time_symmetrize函数

详细内容请参考《moviepy音视频剪辑:与time时间线相关的变换函数freeze_region、make_loopable、speedx、time_mirror、time_symmetrize介绍》或付费专栏文章《moviepy音视频剪辑:与time时间线相关的变换函数freeze_region、make_loopable、speedx、time_mirror、time_symmetrize详解及使用案例》。

2.2.5、视频剪辑大小变换函数

视频剪辑大小变换函数包括:

  • 从视频中选择一个矩形范围生成新剪辑的crop函数
  • 在剪辑的四周增加一个外边框的margin函数
  • 调整剪辑的大小的resize函数

详细内容请参考《moviepy音视频剪辑:与大小相关的视频变换函数crop、even_size、margin、resize介绍》或付费专栏文章《moviepy音视频剪辑:与大小相关的视频变换函数详解》。

2.2.6、视频剪辑内容变换函数

视频剪辑内容变换函数包括:

  • 实现人脸模糊化的headblur函数
  • 将两个遮罩剪辑的所有像素的RGB值各取最小值作为新剪辑的像素RGB值mask_and函数
  • 将两个遮罩剪辑的所有像素的RGB值各取最大值作为新剪辑的像素RGB值mask_or函数
  • 将剪辑内容左右对换或上下颠倒的mirror_x、mirror_y函数
  • 对剪辑中的图像使用画笔特效的painting函数
  • 将剪辑逆时针旋转指定的角度或弧度的rotate函数
  • 在屏幕上水平或垂直滚动播放剪辑的内容的scroll函数
  • 对剪辑像素值调整为前后一段时间范围剪辑像素的算术平均值的supersample函数

详细内容请参考《moviepy音视频剪辑:视频变换处理与内容相关的变换函数headblur、mask_and/or、mirror_x/y、rotate、painting、scroll介绍》或付费专栏文章《moviepy音视频剪辑:视频变换处理与内容相关的变换函数介绍》。

2.3、场景化支撑能力介绍

  • 可以使用VideoFileClip、AudioFileClip和write_videofile、write_audiofile进行音视频的加载和输出
  • 可以使用concatenate_videoclips和clips_array将多个视频合成一个顺序播放或同屏播放的视频
  • 输出视频文件前使用preview和imdisplay预览剪辑和视频帧
  • 使用manual_tracking和headblur实现手动追踪人脸打马赛克
  • 使用manual_tracking、autoTrack和headblur 视频半自动追踪人脸打马赛克
  • 使用credits1给视频加片头片尾字幕

相关文章请参考《PyQt+moviepy音视频剪辑实战文章目录》或付费专栏文章《moviepy音视频开发专栏文章目录》中的“moviepy场景化功能的支撑能力介绍”部分。

2.4、部分实战案例以及可执行工具

本部分主要介绍笔者用PyQt+moviepy实现的图形化视频剪辑工具,目前已经提供了多视频合成(包括顺序拼接和同屏播放)、从视频中选择多个时间段范围的视频进行拼接、将视频转动画或图片文件的工具,并提供相关工具的win7和win10下的打包可独立执行文件包的下载。

相关内容请参考《PyQt+moviepy音视频剪辑实战文章目录》或付费专栏文章《moviepy音视频开发专栏文章目录》中的“moviepy实战案例”部分。

2.5、moviepy部分关键知识点

这是老猿认为的MoviePy重要的知识点的介绍,相关文章请参考《PyQt+moviepy音视频剪辑实战文章目录》或付费专栏文章《moviepy音视频开发专栏文章目录》中的“moviepy部分关键知识点”部分。

2.6、moviepy学习遇到的坑

moviepy学习中遇到的问题不少,老猿将使用moviepy开发碰到的一些棘手问题的解决情况整理成单独的博文进行了介绍,相关文章请参考《PyQt+moviepy音视频剪辑实战文章目录》或付费专栏文章《moviepy音视频开发专栏文章目录》中的“moviepy学习遇到的坑”部分。

2.7、图形图像及音视频处理的基础知识

本部分主要适合笔者这种图像及音视频处理小白,在学习moviepy过程中发现需要了解的一些图形图像及音视频处理的基础知识的总结或转载。相关文章请参考《PyQt+moviepy音视频剪辑实战文章目录》或付费专栏文章《moviepy音视频开发专栏文章目录》中的“图形图像及音视频处理的基础知识”部分。

三、小结及后续安排

整个Moviepy的学习到现在断断续续已经三个多月,在学习过程中,老猿基于阅读moviepy1.03版本的源代码以及大量测试验证的基础上,将相关知识进行了总结,发布成了免费专栏《专栏:PyQt+moviepy音视频剪辑实战》和收费专栏《专栏:*moviepy音视频开发专栏》。两个专栏的内容基本对应,只是收费专栏内容相比免费专栏更详细和深入、案例更多。如果大家跟随老猿的学习脚步,应该还是有比较大的收获。

要学习和研究的东西很多,上述两个专栏将接近收尾,后续主要将不定期补充部分场景化能力或实战案例。

更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。

如对文章内容存在疑问,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。
在这里插入图片描述

关于老猿的付费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

收费专栏文章目录:《moviepy音视频开发专栏文章目录》、《使用PyQt开发图形界面Python应用专栏目录》。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python、学Moviepy!

☞ ░ 前往老猿Python博文目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载 的相关文章

  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • Lighttpd 和 cgi python

    我正在尝试通过 lighttpd 执行一些 python 脚本 但是当我尝试运行它时 我只得到一个要求我下载的空白文件 lighttpd conf server modules mod access mod alias mod access
  • 是否有解决方法可以通过 CoinGecko API 安全检查?

    我在工作中运行我的代码 一切都很顺利 但在不同的网络 家庭 WiFi 上 我不断收到403访问时出错CoinGecko V3 API https www coingecko com api documentations v3 可以观察到 在
  • 为什么从 Pandas 1.0 中删除了日期时间?

    我在 pandas 中处理大量数据分析并每天使用 pandas datetime 最近我收到警告 FutureWarning pandas datetime 类已弃用 并将在未来版本中从 pandas 中删除 改为从 datetime 模块
  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?

    我想检查一下表的字段是否TestProject包含了Client端传入的参数 嵌套for循环很丑陋 有什么高效简单的方法来实现吗 非常感谢您的任何建议 def test parameter a list parameter b list g
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以

随机推荐

  • Centos7配置静态IP

    Centos7配置服务器静态IP 1 使用 ip addr 查看当前网卡信息 通过执行结果我们可以看到我们使用的网卡名称为ens33 2 配置服务器静态IP vi etc sysconfig network scripts ifcfg en
  • STL list

    文章目录 一 list 类的模拟实现 list 是一个带头双向循环链表 可以存储任意类型 模板参数 T 表示存储元素的类型 Alloc 是空间配置器 一般不用传 一 list 类的模拟实现 iterator 和 const iterator
  • 傅里叶图像相关性匹配-《医学图像处理》小作业五-Python代码/Matlab代码

    天津中医药大学 20级医学信息工程 教师 王翌 学生 邓集亲 学长我是用的python写的 matlab同样可以参考 实验五 相关性匹配 作业要求 参考 傅里叶变换 课的内容 采用快速傅里叶变换 FFT 进行相关性匹配 如下图示例输出结果图
  • 数据结构(第2版)陈越主编课后习题_【课后习题答案】离散数学(第2版)—课后习题答案...

    资 源 介 绍 本次分享内容为课程课后习题答案 教材名称 离散数学 第2版 主编作者 屈婉玲 耿素云 张立昂 出版社 高等教育出版社 ISBN 9787040419085 课后习题答案 01 习题一 02 习题二 03 习题三 04 习题四
  • java.io.IOException: Connection reset by peer

    接口要是返回的是字节 1 首先查看本地调用是否能正常返回 2 其次判断同样的参数测试环境是否正常返回 3 本地要是正常 测试环境异常的话 很大可能就是http协议版本不一致导致 解决办法 在nginx conf的location里加上 pr
  • Angular4基础开发文档

    Angular4基础开发文档
  • netstat命令详解

    命令介绍 netstat命令用于显示与IP TCP UDP和ICMP协议相关的统计数据 一般用于检验本机各端口的网络连接情况 netstat是在内核中访问网络及相关信息的程序 它能提供TCP连接 TCP和UDP监听 进程内存管理的相关报告
  • java/php/net/pythonMES生产线控制系统设计

    本系统带文档lw万字以上 答辩PPT 查重 如果这个题目不合适 可以去我上传的资源里面找题目 找不到的话 评论留下题目 或者站内私信我 有时间看到机会给您发 生产线控制系统 的设计主要是为了满足生产线管理员的实际需求 因此 它需要通过Int
  • 移动应用开发期末总结

    移动应用开发 什么是intent 问答题 Intent是一个动作的完整描述 包含了动作的产生组件 接收组件和传递的数据信息 Intent为Activity Service和BroadcastReceiver等组件提供交互能力 将一个组件的数
  • 使用Modelarts快速开发Hilens Kit实现人脸识别功能

    导语 在华为云平台上线的Modelarts模型训练平台结合华为智能终端产品Hilens kit 对Hilens Kit进行开发 实现产品的快速使用以及功能的实现 自从2020年疫情开始 使得人与人的接触变得更加不方便 间接促使了人工智能产业
  • Java中9种常见的CMS GC问题分析与解决

    目前 互联网上 Java 的 GC 资料要么是主要讲解理论 要么就是针对单一场景的 GC 问题进行了剖析 对整个体系总结的资料少之又少 前车之鉴 后事之师 美团的几位工程师历时一年多的时间 搜集了内部各种 GC 问题的分析文章 并结合个人的
  • unity开发小贴士之三 UGUI-Lua Component回收

    ugui tolua local test test b gameobjecttest c gameobject GetComponent typeof UnityEngine UI Button 首先调用UnityEngine GameO
  • Java Logging

    最后一次实验要求用日志来记录信息 学习的内容整理如下 Java 中的 Logging API 让 Java 应用可以记录不同级别的信息 它在debug过程中非常有用 如果系统因为各种各样的原因而崩溃 崩溃原因可以在日志中清晰地追溯 日志工作
  • 在小程序中使用图标

    因为最近在自学微信小程序 掌握了他的基础的使用 包括小程序的语法 小程序的自有组件 小程序的自有API及小程序的自定义组件 在学玩以上的各方面的知识体系后 我就想着学了这么就的微信小程序 自己总要写出点什么东西来才对的起自己这段时间来的努力
  • Android退出应用程序方法总结

    Android退出应用程序方法总结 在Android开发中 我们运行了应用程序后 都需要退出应用的 那么该如何退出应用 又都有哪些实现方式呢 今天就为大家整理分享一些退出应用程序的方法 一起来看看吧 更新内容 Ver v1 任务管理器方法补
  • 简短的char*与char[]

    include
  • 这就是搜索引擎——索引压缩

    对于海量数据 建立倒排索引往往需要较大的磁盘空间 尤其是一些常见的单词 这些单词对应的倒排列表可能有几百兆 如果搜索引擎在相应用户查询的时候 用户查询包含了常见的单词 就需要将大量的倒排列表信息从磁盘读入内存 由于磁盘读写速度往往是个瓶颈
  • RLHF 技术:如何能更有效?又有何局限性?

    编者按 自ChatGPT推出后 基于人类反馈的强化学习 RLHF 技术便成为大模型构建和应用人员关注的热点 但该方法一些情况下效果却差强人意 有些基础模型经RLHF调优后反而表现更差 RLHF技术的适用性和具体操作细节似乎成谜 这篇文章探讨
  • 平板电脑黑苹果EFI_保姆级别教你安装黑苹果,提供大量EFI与工具驱动!

    最近无聊 在电脑上装了个黑苹果 可能是我的机型比较好找吧 安装的过程中没有遇到太大的问题 接下教大家安装 也为大家准备了大量的EFI N卡驱动 蓝牙驱动 键盘驱动等工具 需要工具的小伙伴可以点击此处 所需要工具 1 黑果镜像 2 U盘 3
  • Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载

    前往老猿Python博文目录 一 简介 MoviePy是一个用于视频编辑的Python模块 可用于进行视频的基本操作 如剪切 拼接 标题插入 视频合成 也称非线性编辑 视频处理或创建高级效果 它可以读写最常见的视频格式 MoviePy能处理