前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【腾讯云的1001种玩法】Ubuntu 14.04 Spark单机环境搭建与初步学习

【腾讯云的1001种玩法】Ubuntu 14.04 Spark单机环境搭建与初步学习

原创
作者头像
ZNing
修改于 2017-06-19 11:18:20
修改于 2017-06-19 11:18:20
4.3K00
代码可运行
举报
文章被收录于专栏:ZNing·腾创库ZNing·腾创库
运行总次数:0
代码可运行

最近毕设需要学习Spark操作,预先学习了一波。也撰写个文章供各位讨论分享。

安装与配置

大数据这个领域是热火朝天,而Apache Spark则是一个炙手可热大数据神器。趁着现在还比较有空,赶紧学习Spark方面的东西。

这一小节主要是记录下在Ubuntu 14.04下搭建Spark单机环境的过程。这个过程主要有四个部分:

  • 安装Java
  • 安装Scala
  • 安装Spark
  • 安装sbt

安装Java

  • 下载Java SE,然后解压 # wget http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz?AuthParam=1482801228_c2a115fb9b0cbc9f160e02b5c29212c7 # mv jdk-8u112-linux-x64.tar.gz\?AuthParam\=1482801228_c2a115fb9b0cbc9f160e02b5c29212c7 jdk-8u112-linux-x64.tar.gz # tar -zxvf jdk-8u112-linux-x64.tar.gz -C /opt/ 这里需要解释下为什么这么做:因为我直接从Java官网上下载的,而官网下载之前需要确认协议,如果直接复制官网下载地址则会出现下载的是个网页的情况。所以只能通过一个带有AuthParam序号的下载地址下载后再修改文件名了。如果有更好的方法的朋友,请联系我告知。谢谢!2016-12-27 12:05:05
  • 配置环境变量 Ubuntu的环境变量又好几个地方可以配置,我这里配置的是/etc/profile文件。 export JAVA_HOME=/opt/jdk1.8.0_112 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
  • 之后重启服务器,或者输入source /etc/profile命令,使环境变量生效,检验Java有没配置成功 $ java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) $ javac -version javac 1.8.0_60

安装Scala

Scala安装过程和Java的类似,比较简单

  • 官网下载压缩包,然后解压 # mkdir /opt/scala # wget http://downloads.lightbend.com/scala/2.12.1/scala-2.12.1.tgz # tar -zxvf scala-2.12.1.tgz -C /opt/scala/
  • 配置环境变量 /etc/profile export SCALA_HOME=/opt/scala/scala-2.12.1 export PATH=${SCALA_HOME}/bin:$PATH
  • 重启服务器,或者输入source /etc/profile命令,使环境变量生效,测试一下 # scala -version Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL

安装Spark

  • 官网下载压缩文件。这里我选择的是2.0.2版本的Pre-build for Hadoop2.7 and later. 解压 # mkdir /opt/spark # wget http://download.nextag.com/apache/spark/spark-2.0.2/spark-2.0.2-bin-hadoop2.7.tgz # tar -zxvf spark-2.0.2-bin-hadoop2.7.tgz -C /opt/spark/
  • 配置环境变量 /etc/profile export SPARK_HOME=/opt/spark/spark-2.0.2-bin-hadoop2.7 export PATH=${SPARK_HOME}/bin:$PATH 重启服务器,或者输入source /etc/profile命令,使环境变量生效。 到这里,应该就可以启动spark-shell,跟着Spark官网上的教程来学API了。

安装sbt

安装sbt我参考的是这篇文章ubuntu14手动安装sbt

  • 官网下载解压 # mkdir /opt/scala/ # wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.13/sbt-0.13.13.tgz # tar -zxvf sbt-0.13.13.tgz -C /opt/scala/ # cd /opt/scala/ # mv sbt-launcher-packaging-0.13.13 sbt
  • 配置环境变量 /etc/profile export SBT_HOME=/opt/scala/sbt export PATH=${SBT_HOME}/bin:$PATH
  • 建立启动sbt的脚本 # mkdir /opt/scala/sbt/ # cd /opt/scala/sbt/ # touch sbt # 脚本内容如下,注意sbt-launch.jar的路径 SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar /opt/scala/sbt/bin/sbt-launch.jar "$@"
  • 修改sbt文件权限 # chmod u+x sbt
  • 测试sbt # sbt sbt-version Getting org.scala-sbt sbt 0.13.13 ... [info] Set current project to kaka (in build file:/home/kaka/) [info] 0.13.13 第一次执行的时候会下载很多东西,然后因为国内你猜到的原因,这一步会比较慢,也很有可能会失败。可以通过如下步骤设置国内的sbt源 : #vim ~/.sbt/repositories 在里面输入如下内容: [repositories] local oschina:http://maven.oschina.net/content/groups/public/ oschina-ivy:http://maven.oschina.net/content/groups/public/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> 不过这个并没有成功,目前来看还是因为你懂得的原因,正在寻找解决方案。2016-12-27 12:34:43

到此为止,Spark的单机环境就搭建完毕,下一步就是认真地学习Spark了。

初识Spark

这一小节主要介绍下Spark相关语法与操作指南。

Spark 终端

我觉得 Spark 非常亲民的一点是它提供了一个交互式的命令行终端,这样用户就可以快速地测试一些命令和语句,而无需每次都保存代码脚本然后调用执行,这对于 R 和 Python 用户来说是非常顺心的一件事。如果已经将 Spark 的 bin 目录加入到了系统路径,那么在系统命令行里输入 spark-shell 就可以进入 Spark 的交互式终端了。

如果出现了像图中 scala> 这样的提示符,就说明 Spark 安装成功。这里的 scala 指的是 Scala 编程语言。前面说了,Spark 主要使用 Scala 来进行开发,这意味着要最大程度地发挥 Spark 的性能,还需要再多学一门编程语言(Spark 还支持 Java 和 Python 的接口,但 Java 的语法没有 Scala 简洁,Python 的性能没有 Scala 的高)。虽然这需要花费一些额外的时间,但好在 Scala 的语法非常直观,基本上通过例子就可以模仿写出自己的程序来。

如果对 Scala 语言感兴趣,可以参考这份教程来了解其基本的语法。但在这里我们将直接进入正题,用 Spark 来跑一个回归的例子。

Spark 例子:回归模型

Spark 的数据分析功能包含在一个称为 MLlib 的组件当中,顾名思义,这是 Spark 的机器学习库,而回归是它支持的模型之一。为了演示例子,我们首先用 R 生成一组模拟的数据(是不是感觉怪怪的,主要是我还没用熟 Scala):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set.seed(123)
n = 1e6
p = 5
x = matrix(rnorm(n * p), n)
b = rnorm(p)
y = x %*% b + rnorm(n, 1, 3)
z = data.frame(y, x)
write.table(z, "reg.txt", sep = " ", row.names = FALSE, col.names = FALSE)

我们将数据保存为 reg.txt 文件,它共有一百万行,每一行有6个数,用空格分隔,其中第一个数代表因变量,其余的为自变量。

下面就是一段用 Scala 实现的 Spark 算回归的程序,其中包括了读取数据,拟合回归,计算回归系数,进行模型预测以及计算 R2R2 的过程。将这段程序复制到 Spark 的终端里,就可以迅速查看输出结果,体验 Spark 的基本功能了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.regression.LinearRegressionWithSGD
import org.apache.spark.mllib.stat.Statistics

val raw = sc.textFile("reg.txt")

val parsed = raw.map({ line =>
    val split = line.split(' ') // 字符串按空格切分
    val y = split(0).toDouble   // 第一个数转成Double型,是因变量
    val x = split.tail.map(_.toDouble) // 其余的转成自变量向量
    LabeledPoint(y, Vectors.dense(x))  // 把因变量和自变量打包
}).cache()

println(parsed.count())

val model = new LinearRegressionWithSGD()

model.optimizer.setNumIterations(100)
model.setIntercept(true)

val tstart = System.currentTimeMillis()
val res = model.run(parsed)
val tend = System.currentTimeMillis()

println("Model training time: " + (tend - tstart) / 1000.0 + " secs")

println(res.intercept)
println(res.weights)

val pred = res.predict(parsed.map(_.features))

val r = Statistics.corr(pred, parsed.map(_.label))
println("R-square = " + r * r)

下面我们来解释一下程序中每一部分的含义。开头1到4行的是一系列的 import 语句,目的是使用一些已经封装好的类,与 R 中的 library() 和 Python 的 import 语句类似。另外,相信不少读者立刻就能看出这是 Java 风格的导入语句。事实上,Scala 正是基于 Java 而开发的,因此其语法也大多脱胎于 Java。

第6行是读取数据,并将结果赋值给一个变量 raw。特别需要指出的是,这条语句实际上并没有开始读取文件,而只是建立了数据与程序之间的一种连接。这一点是与 R 中 read.table() 最大的不同。

第8到第13行其实包含了两条操作,第一是调用了 raw 对象的 map() 方法,之后连着的是 cache()方法。map() 相当于 R 中的 apply(),意思是对读进来文件的每一行进行一次变换,然后将结果返回,组成一个新的向量。之所以需要这么做,是因为 Spark 读取文本文件时把每一行当作了一个字符串,因此我们需要从这个字符串中解析出我们需要的数据来。语句中被大括号包括的部分其实就是定义了这样一个变换函数,其输入是参数 line,代表传入函数的那个字符串,而输出是一个 LabeledPoint 对象,它是 MLlib 中定义的一个数据结构,用来代表一个因变量-自变量的配对观测。map() 方法返回的结果,就是一个长度为一百万,每个元素为 LabeledPoint 类型的向量。

接下来的 cache() 方法是 Spark 非常独到的一个操作,它是为了告诉 Spark,只要内存足够(限额可以通过 Spark 中的配置文件设置),就将数据放到内存里,以加快后续程序的运算速度。如果内存放不下,就依然保存到硬盘中。这样的好处在于,一方面避免了 R 把所有对象都往内存放的操作,另一方面避免了 Hadoop 这种重度依赖硬盘,以至于效率低下的情形。

而有趣的是,执行完这一句后,数据其实还没有进行真正的读取。这是因为 Spark 采用了一种“延迟运行”的机制,意思是数据只有在真正用到的地方才开始运算,其理念就是,“只要老师不检查作业,我就暂时不写”。基于这个原因,数据只有到了下面 parsed.count() 这句需要计算样本量时才真正开始进行读取和变换。

接下来的第17到26行就是真正拟合回归模型的时候了。MLlib 里拟合回归采用的是随机梯度下降法(SGD),选用这种算法的原因,一是因为它是一种迭代算法,可以通过设置迭代次数来随时终止计算(当然同时会损失一部分精度),这对于大规模的数据是非常关键的,因为通常在这些场合下我们不要求结果非常精确,但却希望计算能在规定的时间里完成。而另一个原因就在于这种算法可以比较容易地进行并行,扩展性较好。

第17行中,我们先建立模型对象,然后在19、20行设置最大迭代次数以及告诉模型应该包括截距项。22和24行插入了两句获取时间的函数,是为了评估模型训练(23行)花费的时间。

在第31行中,我们用拟合出的模型对训练集本身进行了预测。parsed.map(_.features) 的目的是取出训练集中的自变量部分,而 predict() 方法返回的结果就是因变量的预测值向量。

最后的第33行,我们利用 MLlib 为我们封装好的 corr() 函数计算了预测值与真实值之间的相关系数(parsed.map(_.label)parsed.map(_.features) 相对,是取出训练集中的因变量),将它平方一下,就是模型的 R2R2 值了。

学习资源

下面几个链接我觉得对于 Spark 入门是非常有帮助的:

  1. 伯克利的 Spark 迷你课程
  2. Spark 官方快速入门教程
  3. MLlib 官方文档

参考资料与文献

  1. 曾梦想仗剑走天涯. Ubuntu 14.04 Spark单机环境搭建[EB/OL]. http://kwangka.github.io/2015/10/15/installspark/.
  2. SegmentFault. 加速SBT下载依赖库的速度[EB/OL]. http://segmentfault.com/a/1190000002474507.
  3. sbt. Proxy Repositories[EB/OL]. http://www.scala-sbt.org/0.13/docs/Proxy-Repositories.html.
  4. 怡然轩. 极简 Spark 入门笔记——安装和第一个回归程序[EB/OL]. http://yixuan.cos.name/cn/2015/04/spark-beginner-1/.

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
图片去水印软件哪个好用?
在网上找头像,壁纸时,是否遇到图片带有水印的烦恼,若直接使用的话会影响图片美观,这时我们需要借助工具来对图片进行处理后再使用。那你知道图片去水印软件哪个好吗?
用户9308944
2022/09/16
4.5K0
图片去水印软件哪个好用?
分享2种去水印的方法,一键去除水印
相信大家在准备课件或者微课,以及日常发朋友圈,微博时经常需要在网上找一些图片素材,从而会遇到图片带有水印的情况,如平台标志,个人信息,贴图等,既不美观还不能直接使用,这时我们就不得不想办法去除水印,那么你知道如何去水印吗?今天教你去水印,一键搞定,轻松去除水印,快来跟我学习一下吧!
用户9308944
2022/08/24
3.1K0
分享2种去水印的方法,一键去除水印
如何去掉图片水印?去水印教程快码住!
如何去掉图片水印?经常遇到图片上带有文字或标志信息等,若直接拿来使用,非常影响美观,在使用前需要对多余的元素进行处理,那么你知道如何去掉图片水印吗?方法其实相对简单,下边我来给大家分享如何快速去图片水印的方法,一起来看看吧!
用户9308944
2023/03/06
1.9K0
如何去掉图片水印?去水印教程快码住!
如何去图片水印?分享图片去水印技巧
我们平常在制作课件或者整理图片合集时,会在网上找一些图片素材,但经常碰到图片有水印的情况,这时候肯定需要去水印。
用户9308944
2022/08/09
2.4K0
如何去图片水印?分享图片去水印技巧
「 水印云」在线抠图去水印网站,一键去水印
这是一个多人使用的在线图片处理工具,通过AI技术实现一键去水印,不管你是新手还是老手,完全不需要任何技术,直接上手就能用,超简单,快速。
用户9308944
2022/09/02
4.9K0
「 水印云」在线抠图去水印网站,一键去水印
不会用PS如何去水印?教你如何一键无痕去水印
说起去水印,大部分人首先想到的就是Photoshop,也就是我们通常所说的PS软件。
用户6256495
2022/07/08
1.5K0
不会用PS如何去水印?教你如何一键无痕去水印
怎么去除图片水印?分享图片去水印工具给你
日常我们总会一到一些棘手的情况,比如宣传素材,设计海报时下载保存的图片带有水印,不对水印进行处理是无法直接使用的,那么怎么去除图片水印呢?今天就分享一款去水印的工具,大家一起看看吧!
用户9308944
2022/09/26
2.1K0
怎么去除图片水印?分享图片去水印工具给你
图片一键去水印软件批量去除图片水印
发朋友圈想要配一张好看的图片,可是图片却带有水印,让很多小伙伴很烦恼。今天给大家带来一个在线图片去水印的网站,可以轻松去除图片水印
用户9308944
2022/01/13
3.6K0
图片一键去水印软件批量去除图片水印
去水印试试这三种方法,一键搞定水印
现如今我们会通过刷视频,微博,小红书等消磨时间,遇到心仪的图片想保存下来,却发现都带有各种不同类型的水印,那么图片水印怎么去除掉呢?其实很简单,现在我就来教你们3个图片去水印的方法,你们感兴趣的话,就继续往下看吧!
用户9308944
2022/07/26
2.4K1
去水印试试这三种方法,一键搞定水印
如何批量去水印?教你一键批量去水印的方法
在网上保存的图片都会带有水印,如商标,logo,个人账号信息等,但是一张一张去图片水印效率太慢了,浪费时间,那么有什么快速批量去水印的方法吗,答案当然是有的,今天分享一款批量去水印神器,教你如何一键批量去图片水印,操作简单,新手小白快来学习一下吧~
用户9308944
2022/04/26
5K0
如何批量去水印?教你一键批量去水印的方法
【说站】图片去水印神器Inpaint单文件版v9.2.0
如果你的图片中有一些不满意的瑕疵,不必动用庞大PS来兴师动众,只需使用Inpaint即可轻松搞定。只需用它的“魔术笔”涂抹照片中需消除的对象,然后点击处理图像按钮即可神奇地让它完美消失。虽说是去水印工具,但利用它还可轻松地将图片中你觉得碍眼的任何物体变走,让您轻松摆脱照片上的水印、划痕、污渍、标志!它通过非常先进的图像识别算法,智能地将抹除后的区域补充回来,从而实现魔法般的效果。
很酷的站长
2022/11/25
9652
【说站】图片去水印神器Inpaint单文件版v9.2.0
视频去水印软件哪个好用?分享三款去水印软件给你
从事短视频的人越拉越多,除了原创视频外,不少从业者会将视频进行二次创作,会需要在网上找一些视频素材,然而网上找的一些视频素材经常会遇到带有水印的问题,直接使用非常影响视频整体的观感,从而网上会有很多视频如何去水印?如何去掉视频水印?视频去水印软件有哪些?视频去水印软件哪个好用?等一系列相关声音,今天就给大家介绍三款视频去水印软件,希望能帮助大家解决视频去水印的问题。
用户9308944
2023/03/08
2.1K0
视频去水印软件哪个好用?分享三款去水印软件给你
一款强大而实用的图片去水印神器
今天推荐一款图片去水印神器,它就是 Inpaint,是一款可以从图片上去除不必要的物体,让您轻松摆脱照片上的水印、划痕、污渍、标志等瑕疵的实用型软件。
章鱼猫先生
2021/10/15
1.8K0
一款强大而实用的图片去水印神器
快速批量去除图片水印方法大全~~
去水印是不复杂啦,可几千页下来,自己用橡皮抹会抹抽筋的吧~~~哈哈哈,下边记录一下偶的心路过程~~~(汗,一副盗版光荣的样子,RP真是越来越差-_-!!) 所用软件:Adobe acrobat professional 7.0 和Adobe photoshop CS2 1。本来就是扫描之后存出来的PDF嘛,所以就用PRO7.0里的导出图片功能把所有的单页转回成图片先,自动按顺序命名,存在文件夹A中。 2。用CS2随便打开其中一页,例如第49页—用“吸管”工具选中那个水印的颜色为前景色。 3。CS菜单—窗口—勾选“动作”—出来个动作的小窗口。 4。动作—新建动作—命名为“去水印”—-开始“记录”(是为了以后那几千多页的,电脑傻的只会重复呢) 5。现在开始处理那第49页。菜单—选择—色彩范围—-颜色容差里偶写90(吼吼,可以变的啦,以选出那个大水印的全部颜色但是不会选中跟水印重复的字体颜色为标准)—-按“确定”。 6。菜单—选择—扩大选取(不然会有水印框框留在原处的) 7。按DELETE键删除选中的水印。(或者编辑—填充白色,反正弄完了看不见水印就好) 8。菜单–文件—存储为WEB所用格式JPG(黑白页面品质低点也没啥影响,反正一页变小点,一本书下来就轻便不少呢~~)—存到文件夹B。 9 动作小窗口—停止记录 10。文件—自动—批处理—源文件夹就选存有水印的文件夹A,目标文件就选处理好了没水印的文件夹B,错误嘛,“选记录到文件”,随便建个记事本文件记好了。 按了确定之后呢,就该聊天的聊天,该打牌的打牌咯,想睡觉的也可以去睡觉,哈哈哈哈哈哈,反正PS好之后自然会停止的。PRO7.0里就有从多个文件创建一个PDF的选项,可惜速度慢了点,闲的话就下个软件image2PDF啥的,西西,很容易就又整合成书了~~~
全栈程序员站长
2022/07/23
3K0
快速批量去除图片水印方法大全~~
顽固软件的克星 —— 多功能卸载工具Revo Uninstaller【软件分享】
有伙伴反映,自己一不小心安装了某XX软件后,穷尽他自己所知道的方法都卸载不干净,重新安装又安装不了,问问巴山有没有什么办法可以帮他解决。恰巧不巧,巴山自己之前也遇到过这位伙伴所遇到的事情,最后用了一款卸载神器之后,轻轻松松搞定一切问题,这款卸载神器就是Revo Uninstaller Pro。
巴山学长
2021/07/09
1.1K0
顽固软件的克星 —— 多功能卸载工具Revo Uninstaller【软件分享】
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
由于最近写文章、剪视频等创作需要用到一些图片素材,所以在百度上搜索,但是大家也知道百度上的图片质量很水很杂,要不带着各个平台的水印,要不就是画质不清晰。
Python兴趣圈
2024/02/28
23.2K2
才发现百度自带的AI图片助手这么好用,去水印、画质优化、AI扩图、涂抹消除等功能一应俱全!
解决zblog图片水印插件导致Cannot use $this as parameter错误的解决办法
其实我一直没有使用这个水印插件,最近有网友反馈自己的站不知道怎么回事被复制了,除了网站名称和QQ是别人的,其他内容跟自己的站一模一样,我看下站点,应该是被镜像了,所以他就说以后得开启图片水印了,这时候我才注意到图片水印的确是个好东西,于是乎我就在zblog应用中心客户端查找插件,有一款是流年发布的,但是开启之后如图,显示错误,无法打开网站。
李洋博客
2021/06/15
8460
PDF怎么添加水印?怎么给PDF文件添加图片水印
PDF怎么添加水印?水印分为文字水印与文件水印,这个文件水印也可以是图片水印,给文件添加上水印一方面是为了安全,另一方面是告诉大家这个文件出自哪里,水印的使用还是很方便的,那么怎么给PDF文件添加图片水印呢?PDF难编辑是出了名的,要进行添加水印的操作不是难为人嘛!别慌嘛,小编这里有一个实用的方法,不知道会不会对你有帮助,先看看吧!
用户5843321
2019/10/28
3.9K0
PDF怎么添加水印?怎么给PDF文件添加图片水印
【更新结束】屏幕录像专家 V2018 Build0628 完全去水印
《屏幕录像专家 共享版》是一款专业的屏幕录像制作工具。使用它可以轻松地将屏幕上的软件操作过程、网络教学课件、网络电视、网络电影、聊天视频、游戏等录制成FLASH动画、WMV动画、AVI动画、FLV、MP4动画或者自播放的EXE动画,也支持摄像头录像。本软件具有长时间录像并保证声音完全同步的能力,支持WIN7下声音内录。本软件使用简单,功能强大,是制作各种屏幕录像、软件教学动画和制作教学课件的首选软件。
凯哥Java
2019/06/28
2.4K0
【更新结束】屏幕录像专家 V2018 Build0628 完全去水印
屏幕录像专家2019 Build0608 完全去水印破解版
屏幕录像专家是一款专业的屏幕录像制作工具。使用它可以轻松地将屏幕上的软件操作过程、网络教学课件、网络电视、网络电影、聊天视频、游戏等录制成FLASH动画、WMV动画、AVI动画、FLV、MP4动画或者自播放的EXE动画,也支持摄像头录像。本软件具有长时间录像并保证声音完全同步的能力,支持WIN7下声音内录。本软件使用简单,功能强大,是制作各种屏幕录像、教学动画和制作教学课件的首选软件。
萌海无涯
2019/10/31
2.3K16
推荐阅读
相关推荐
图片去水印软件哪个好用?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验