科研小技巧——论文投稿视频制作指南

标签: 机器人工程师的成长札记

引言

论文投稿视频是投稿论文的补充材料,用于更加清晰直观地展示实验或者仿真结果,吸引审稿人的眼球,给审稿人留下一种高大上的影响。因此,为达到这一目的,我们在制作视频时,要尽可能使视频结构清晰,多用动画的形式展示实验数据,而不是在视频中粘贴论文中的图片,另外对视频的颜色搭配和调色也需要格外注意。

1 应用软件

视频剪辑:Adobe Premire

动画制作:Matlab,Solidworks

视频压缩:小丸工具箱

2 注意事项

  • 视频的尺寸,一般为16:9,也就是通常的1920×10801920\times1080分辨率

  • 视频的字体,中文用黑体,英文用Arial

  • 视频的封面只需要论文标题,无需单位和作者信息

  • 视频导出时,一般可以选择H264编码模式以及MP4的文件格式,同时选择高比特率,尽可能清晰,不用考虑文件大小,之后可以用压缩工具进行视频压缩

3 制作流程

  • 第一步,构思视频脚本。这一步主要是构思视频的内容,如何组织这些内容,视频要划分为几个段落等等。一般来说,可以按照论文的仿真或实验部分的结构来排列视频。
  • 第二步,整理和制作所需的视频素材。这里的视频素材包括但不限于:录制的实验视频,实验数据曲线动画,仿真动画,机械结构运动动画等等。本文将会详细介绍,怎么使用MATLAB制作实验曲线动画,以及使用Solidworks制作机械结构运动动画。
  • 第三步,利用视频制作软件剪辑视频。我比较习惯于使用Adobe的Premire软件进行剪辑,这个软件的使用是相对容易上手的。新手只需要参考这个视频:【何同学】如何在B站学习做视频? (P2附Pr零基础剪辑教程),链接:https://www.bilibili.com/video/BV1EW411R77n
  • 第四步,导出视频,并且使用小丸工具箱压缩视频。由于投稿视频一般都有大小限制,因此我们需要在保证清晰度的基础上,把视频尽可能压缩。一般来说,小丸工具箱可以在不损失清晰度的情况下,把视频压缩为原视频的十分之一。本文也会介绍它的使用方法。

4 MATLAB制作实验曲线动画

我们将会通过一个示例代码来进行讲解。大家在继续阅读前,请先在matlab中运行一遍如下代码:

clc;
clear;
close all;

%% 数据
timeArray = 0:0.01:10;
xData = sin(timeArray);
nData = length(timeArray);

%% 创建视频
frameRate = 50;
videoName = 'sinecurve';
mp4 =VideoWriter(videoName, 'MPEG-4');
mp4.FrameRate=frameRate;
open(mp4);

%% 写入视频
figure()
set(gcf,'Position',get(0,'ScreenSize'))
dataInterval = 2;
for i = 1:dataInterval:nData
    % 绘制画布
    plot(timeArray(1:i), xData(1:i))
    % 设置格式
    set(gca, 'Xlim', [0, 10])
    set(gca, 'XTick', 0:1:10)
    set(gca, 'Ylim', [-1, 1])
    set(gca, 'YTick', -1:0.2:1);
    % 写入视频
    frame=getframe(gcf);
    writeVideo(mp4,frame);
    hold off  
end

%% 关闭视频
close(mp4)
  • 上述代码分为四块:
    • 第一部分是产生数据,一般来说实验曲线动画,横坐标都是时间,纵坐标是数据,这里产生了一个时长10秒钟的正弦曲线。
    • 第二部分是创建视频文件,这里主要需要设置视频的帧率,另外,还可以设置视频的格式,一般可以设置为’MPEG-4’,这种格式大小适中。默认的视频格式为:‘Motion JPEG AVI’。其他关于更详细的视频信息的设置,可以用help VideoWriter命令去查阅。一般来说,这么设置就可以了。视频格式设置好以后,使用open()命令,打开创建好的视频。
    • 第三部分是写入视频。这里的原理是,在画布(figure)上绘制好一副图,然后使用getframe(gcf)命令可以获取画布上绘制好的图,之后使用writeVideo(mp4,frame);命令将图写入视频,最后用hold off清除画布上的图,以便于重新绘制下一幅。
    • 第四部分是关闭视频,这是为了保存视频。
  • 视频时长如何设置?
    • 我们产生的视频时长主要取决于三个量,也就是代码中的frameRate(帧率),nData(数据的总个数),dataInterval(间隔)。我们这里设置了frameRate(帧率)为50,也就意味着每秒钟50幅图像。另外,这里的nData(数据的总个数)为1001,dataInterval(间隔)为2,说明了一共会执行nData/dataInterval=500次循环体内部的内容,也就是一共有500幅图像。因此,视频的时长为500/50=10秒,这个时长和我们数据的时长是一致的。
    • 我们得到了一个视频时长的公式:视频时长=nData/dataInterval/frameRate=数据总个数(除以)数据间隔(除以)帧率。
    • 如果不想得到慢放,或者快放的视频,那么就要严格按照上面的等式来设置各个变量。
    • 举一个例子,假设数据原始时长为10秒,数据总个数为1000,那么要获得一个两倍速的视频,即最终的视频时长应该是5秒,我们可以取帧率为25,间隔为8,这样1000/8/25=5秒。也可以取帧率为50,间隔为4。依次类推。
  • 视频分辨率如何设置?
    • 我们在之前的操作中都没有定义视频的分辨率。实际上视频的分辨率就是figure的尺寸。我们将figure的尺寸设置得多大,那么视频画面就是多大。在我的电脑上,figure的默认尺寸是:560×420560\times420像素的。如果仅采用默认的设置,那么获得的视频就是560×420560\times420像素的。因此,为了获得更清晰的视频,可以设置figure的大小。
    • figure大小的设置方法:
      • 设置为全屏:set(gcf,'Position',get(0,'ScreenSize'))
      • 设置为特定大小:set(gcf, 'Units', 'pixels', 'Position', [0, 0, your_width, your_height])
  • 关于MATLAB绘图的更多设置?

5 Solidworks机械运动动画制作

整个的制作过程中,我们需要掌握的就是:Solidworks装配体的配合设置,外观设置,运动算例设置,以及利用PhotoView渲染动画

  • 第一步,进行机械动画制作的前提是,需要绘制一个机械结构的装配体,并且已经设置了配合关系。这一步就不在本文中进行介绍了。

  • 第二步,为了最终动画效果的美观,我们需要对机械体的外观和材质进行设置,这一步比较考验审美,大家可以在网上搜索一些配色方案,多尝试几次。这一步也不在本文中进行介绍了。

  • 第三步,运动算例设置

    • 这一步是生成动画的主要步骤。这里的原理就是,在每一个时间点上我们都定义一组配合关系,例如我们希望制作一个机器鱼尾巴摆动的动画,那么我们在0时刻,定义机器鱼的尾巴摆角为0度,1秒时尾巴摆角为60度,2秒时尾巴摆角为0度,这样软件就会自动且平滑的让机器鱼尾巴的摆角随着时间在0度和60度之间进行变化。
    • 因此,一切可以由配合定义的几何关系都可以用solidworks生成动画,例如:尾巴的摆动,胸鳍的摆动,机器鱼的平移,转动,头部的偏航等等运动都可以生成动画进行表示。
    • 关于软件的具体设置,三言两语难以言清。大家可以参考:【SolidWorks】教学-入门新手向【第十一章:动画制作】,链接:https://www.bilibili.com/video/BV1gp411f7Ed?p=1
  • 第四步,生成动画,并利用PhotoView 360插件进行渲染。这一步必须用PhotoView插件渲染,因为这样产生的动画的光影效果会更立体,机械结构的表面材质会更精细,动画效果会更加接近真实。 这里的操作步骤如下:

    • 当运动算例设置完成以后,可以点击solidworks插件,选择PhotoView 360
    • 进入弹出的渲染工具界面
    • 点击保存动画,可以看到,弹出的对话框中,红色圆圈底下有一个长条被挡住了,我们接着点击这个长条
    • 选择PhotoView 360
    • 可以看到,此时绿色框中的栏目已经被**了,说明我们已经使用了PhotoView360。接着我们只需要设置图像大小以及时间范围就可以保存动画了。

6 小丸工具箱压制视频

这是一个无脑的视频压缩软件,用起来非常方便。

可以参考视频:视频压缩神器,体积小还高清,500M压缩后变30M,链接:https://www.bilibili.com/video/BV1kW411s7pB

软件设置过程分为5步,如下图:

  • 第一步,把文件拖拽到图中1处,一般我导出的视频都选择的是mp4格式,当然小丸工具箱支持多种格式的视频压制。
  • 第二步,选择x264程式,选择如图的设置即可。
  • 第三步,设置CRF数值,一般CRF在10~30之间,CRF越大压缩力度越大,视频越小,同时清晰度也越低。一般可以设置为20或者30。
  • 第四步,勾选保持原始解析度。
  • 第五步,点击压制,然后耐心等待即可。
版权声明:本文为handsome_for_kill原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/handsome_for_kill/article/details/106980246

智能推荐

Springboot整合rabbitMQ

依赖: 配置文件application.yml RabbitConfig 消息生产者RabbitProducer 消息消费者RabbitCustomer 通过Controller进行调用 启动项目后调用接口: 结果:...

Thread.join()方法的使用

如果一个线程A执行了thread.join()语句,代表当前线程A等待thread线程终止后才从thread.join()方法返回 并且这个方法具有超时特性,可以添加参数设置 输出结果: jdk中Thread.join()方法的源码(进行了部门调整)   每个线程终止的条件是前驱线程的终止,每个线程等待前驱线程终止后,才从join()方法返回,  当线程终止时,会调用自身的no...

linux服务器部署jenkins笔记

安装jenkins参考文档:https://blog.csdn.net/tomatocc/article/details/83930714 1. 打开jenkins官网:https://jenkins.io/download/ 将war包下载到本地 **ps:**这里要注意的是要下载左边下方的war包,不要下载右边下面的war包。左边是稳定版本,右边是最新版本,建议大家使用稳定版本(我刚开始下载的...

k8s部署elasticsearch集群

百度营销大学     环境准备 我们使用的k8s和ceph环境见: https://blog.51cto.com/leejia/2495558 https://blog.51cto.com/leejia/2499684 ECK简介 Elastic Cloud on Kubernetes,这是一款基于 Kubernetes Operator 模式的新型编排产品,用户可使用该产品在...

saas-export项目-AdminLTE介绍与入门

AdminLTE介绍 (1)AdminLTE是什么? AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具 (2)AdminLTE有什么特点? 提供一系列响应的、可重复使用的组件, 并内置了多个模板页面 自适应多种屏幕分辨率,兼容PC和移动端 快速的创建一个响应式的Html5网站 AdminLTE 不但美观, 而且可以免去写很大CSS与JS的工作量 AdminLTE...

猜你喜欢

MyBatis中ResultMap结果集映射

用于解决属性名和字段名不一致的情况: resultMap 元素是 MyBatis 中最重要最强大的元素。...

编写一个shell

编写shell的过程: 1.从标准输入中读入一个字符串。 2.解析字符串 3.创建一个子进程的执行程序。 4.子进程程序替换。 5.父进程等待子进程退出。...

WEB自动化测试中Xpath定位方法

前言: Xpath是在XML文档中查找信息的一种语言,使用路径表达式来选取XML文档中的节点或节点集,由于XML与HTML结构类似(前者用于传输数据,后者用于显示数据),所以Xpath也常用于查找HTML文档中的节点或节点集。 一  路径表达式: 路径以“/”开始     表示找到满足该绝对路径的元素; 路径以//”开始  ...

力扣困难难度 第4题 寻找两个正序数组的中位数

先看一眼题 我的思路: 设置下标i,j分别用于遍历两个数组,初始值均为0,直到找到两个数组中从小到大的第第length/2个数为止结束循环,length为两个数组长度之和。 ·每次比较nums[i]nums[j],如果前者小则i++,否则j++ ·循环结束时,如果count已经达到length/2,则说明已经找到了中位数,[注意:此时有可能正好其中一个数组遍历完了!所以...

[国家集训队]小Z的袜子(莫队)

[国家集训队]小Z的袜子 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这NN只袜子从1到NN编号,然后从编号LL到RR(LL 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同...