基于多种技术生态的课件合成视频方案的设计与实现
——以北京市委党校图书馆数据库培训课件资料视频化为例

2020-04-10 07:15
图书馆研究与工作 2020年4期
关键词:演讲者语音课件

陈 晨

(1.中共北京市委党校图书馆 北京 100044)

(2.北京市情研究中心 北京 100044)

1 引言

为了提高读者检索和利用文献资源的能力,图书馆经常根据读者的需求,提供有针对性的主题培训讲座。由于讲座宣传不到位或者听众因故未到场等原因经常导致讲座上座率不高,尽管包括四川大学图书馆在内的部分高校图书馆已经采取网络直播的形式进行线上同步转播,但仍然有大量读者没有获得一手信息,因此这些培训、讲座结束后产生的数据——课件就成为重要的后期数字资源,图书馆应该充分利用该资源开展读者后期服务。在时下各种线上课程与新媒体内容的冲击下,读者对于长篇累牍的常规课件资源往往兴趣低下,课下在缺乏讲解的情况下也无法高效汲取课件内容。因此本文在此前提下,提出一种低成本的将课件合成为视频的方案,以声、像、图、文多种媒体组合的方式呈现课件,增加图书馆数字资源的多样性,提升读者对图书馆数字资源的利用率。

2 课件资源在图书馆的利用现状

利用多媒体课件进行信息技能培训已成为图书馆服务的重要组成部分, 可以提高培训效果和效率。截至2019年10月7日,以“图书馆”+“课件”为关键词在中国知网检索到237篇文献,其中2006年研究文献达到顶峰23篇,之后相关研究逐年递减。将搜索条件限定为图书馆的CSSCI期刊时,检索结果仅仅为12条,可见课件资源的挖掘与利用并没有在图书馆受到足够的重视。最早在2001年课件刚刚兴起的时候,彭桃英等人提出图书馆课件制作形式要活泼、幽默,配上讲解[1]。随着现代信息技术的发展,于静提出了一种网络课件的设计模式,要求使用多种交互手段,允许学生有不同的学习方式,即文字、动画、视觉、听觉等[2]。最近10年,越来越多的高校图书馆都将信息检索课程作为图书馆业务宣传的重要手段,赵润娣等人提出了如何用好检索课程的问题,激发学习者的自主性和能动性,来使信息检索网络课程教育工作更加科学化[3]。朱伟丽则提出一种“快速课件”的概念作为在线教育的课件,实现一定的教学目标[4]。但他没有提出这种工具的具体制作流程。国家科技图书文献中心《NSTL网络服务系统多媒体课件》利用现代多媒体技术全面介绍NSTL网络服务系统的使用方法,已成为NSTL宣传培训的重要辅助资料[5]。直到MOOC(Massive Open Online Courses,大型开放式网络课程)的繁荣发展,人们已经不再满足于传统PPT的阅读模式,而是更加愿意以视频方式去学习,但是目前包括中国大学慕课平台、慕课网、网易公开课在内的几个国内大型MOOC平台都很少有图书馆类课程。之后开放课件资源的建设随之进入大众视野,有学者对其服务模式提出了见解。李欣等人指出,课件资源采集与服务系统建设是图书馆进行开放课件资源建设与服务的重要途径[6],重新将课件资源的重要性摆在大众眼前。综上,课件资源的利用一直处于低下水平,还没有一种切实可行的方案去挖掘图书馆课件的潜力。

3 解决方案设计

本文以北京市委党校图书馆的一次数据库培训为例,全面介绍培训课件资源视频化的过程。2019年10月5日,北京市委党校图书馆举办外文数据库培训,由数据库厂商准备相关课件资料并进行讲解,时长45分钟,培训教室共30个座位,到场13人,上座率43%。培训采取先培训后答疑的形式进行,全程配合使用投影课件进行讲解,课件采用PPT制作,总共56页,图书馆提供摄像机设备进行同步录制以作对比使用。培训前期我们要求数据库厂商提供每张演示PPT的注释文字附在演讲者注释中,在培训结束后,由图书馆员整理课件资料,将培训结束后的口头答疑部分分类整理成电子版,并制作若干张简易PPT附在原始课件末尾,作为课件资料的重要补充,以保证线下浏览时的完整性。

3.1 平台工具选择

原始课件的格式采用目前广为流通的Office PowerPoint软件保存后生成的格式,即后缀为pptx的格式,对于苹果电脑,可以采用keynote软件制作课件,随后导出为pptx格式即可。生成视频的环境部署在Windows7操作系统,视频中的语音文字来源于每张课件中的演讲者注释文字,采用PHP7网络编程语言读取这部分文字,再通过语音合成技术将这部分文字转化为语音,语音合成采用百度语音合成API,视频合成技术采用FFmpeg。

3.2 实践探索与实现

尽管Office Power Point软件自带将PPT导出为视频的功能,但是只是幻灯片播放的效果,没有配音与字幕,并不是真正意义上的视频。一个完整的视频至少应该包括画面、声音,必要的时候可以加入字幕。本文实践旨在通过程序处理将课件自动生成视频,经过一系列技术转换最终生成的视频画面由每一张课件组成,视频的字幕则由每一张课件对应的演讲者注释组成。每张课件通过PHP调用Office COM组件生成一张JPG图片及对应的文本文件,通过百度语音合成服务API将文字部分合成语音,再将每张图片与对应的语音文件通过FFmpeg合成单个视频,最终将所有单个视频生成为一个完整的MP4格式视频。具体技术方案如图1所示。

3.2.1 提取课件图片与文字

Office对于所有编程语言都提供了COM组件扩展用于对PPT文件进行相关操作,包括读取、写入、修改文件。本文利用PHP调用Office的COM组件将每张PPT转化为图片,并提取对应的演讲者注释文字,首先需要在php.ini中开启COM相关扩展,如下:

extension=php_com_dotnet.dll

com.allow_dcom = true

再通过如下程序实现图片与文字的提取:

图1 课件视频合成技术方案

header("Content-type:text/html;charset=utf-8");

$powerpnt = new COM("powerpoint.application") or die("Unable to instantiate Powerpoint");

$file='1.ppt';

$addr = $_SERVER['DOCUMENT_ROOT'].'ppt/1.ppt';

$presentation = $powerpnt->Presentations->Open($addr, false, false, false) or die("Unable to open presentation");

//循环读取每一张PPT

foreach($presentation->Slides as $slide)

{

$slideName = "Slide_" .$slide->SlideNumber;

//导出PPT为图片

$slide->Export('D:wampwww/ppt/'.$slideName.".jpg","jpg", "1920", "1080");

//读取演讲者注释文本

$noteShape = $slide->NotesPage->Shapes->Placeholders;[2]

$notetxt = $noteShape->TextFrame->TextRange();

File_put_contents($slide->SlideNumber.’.txt’,$notetxt);

}

$presentation->Close();

$powerpnt->Quit();

$powerpnt = null;

?>

3.2.2 语音合成

目前语音合成技术已经日渐成熟,市场上常见的语音合成技术提供方主要有百度、讯飞等,本文使用百度语音合成技术将文字转化为语音,它基于深度神经网络技术,能够提供相对高度的拟人、流畅自然的语音合成服务。使用该开源框架技术前首先需要在百度智能云注册一个帐号,然后创建一个应用APPID,同时生成语音合成所用的API Key和Secret Key,根据已有参数即可实现,具体如下:

require_once 'AipSpeech.php';// APPID AK SK

const APP_ID = 'App ID';

const API_KEY = 'Api Key';

const SECRET_KEY = 'Secret Key';

$client = new AipSpeech(APP_ID, API_KEY,SECRET_KEY);

//最后再将文字等参数传入上述对象,其他相关参数分别为:文字、用户标识、语速、音量

$result = $client->synthesis('演讲者注释文字','zh', 1, array(

'vol' => 5,

));

// 识别正确返回语音二进制 错误则返回json 参照下面错误码

if(!is_array($result)){

//合成相应的语音

file_put_contents('audio.mp3', $result);

}

3.2.3 视频合成

本文的视频合成技术采用当下较成熟的FFmpeg技术,它是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。在WINDOW平台安装FFmepg需要进行相关系统环境变量的配置,即将FFmpeg的bin目录的路径加入系统变量。

首先将单张PPT的图片及其对应的语音文件转换为单个视频,具体如下:

ffmpeg -loop 1 -i $image -i $audio_file -q:v 1 -c:a copy -shortest $video_file

其中,$image为图片变量,$audio_file为音频变量,$video_file为生成的视频变量。

根据实际情况,可以针对脚本文字的多少来决定是否将文字作为字幕加入视频中,首先将文本文件另存为字幕格式(.srt)文件,然后即可通过FFmpeg进行字幕插入操作,具体实现如下:

ffmpeg -i video.mp4 -vf subtitles=subtitle.srt out.mp4

其中,subtitle.srt即为单个字幕文件。

再将多个视频合并成一个,如下:

ffmpeg -safe 0 -f concat -i $list_file -c:v libx264$final

其中,list file的格式是: file './data_1.ts' file './data_2.ts' file './data_3.ts'

4 使用效果与分析

以本次数据库培训为例,在培训结束后通过上述技术方案将课件转化为视频并同时放置在图书馆网站上供读者下载,经过一周时间发现,视频课件下载量远高于传统课件下载量,达到67人次,极大地覆盖了未到现场参与培训的读者,将实际上座率从43%提高到200%以上。另一方面,学科馆员通过微信群向各个教研部门发送了视频课件,获得了各个教研部门的高度认可,为数据库资源的延伸利用开拓了思路。

本文所使用的技术方案在实际实现过程中有如下优点:①成本低。相对使用手机或者摄像机直接录制课件视频而言,本文采用的技术都是基于开源组件与框架,不涉及任何费用,语音播报也是采用现成较成熟的语音合成技术,省去人工录音带来的时间成本和费用成本。②便于流通。该方案最终生成的视频格式可以为MP4格式,可以在任何电脑设备、移动终端的播放器中进行流畅播放。③占用空间小,便于存储。以本次数据库培训为例,使用手机或者摄像机录制45分钟课程的视频最终导出的视频文件大小根据清晰度不同都会在上百甚至上千MB以上,如果批量录制较多课程的话会极大占用硬盘空间。本文示例所使用的课件包含56张PPT,生成的视频文件在保证清晰度的情况下也不到10MB,所以即使大规模的对课件进行转化也不会占用太大的硬盘空间。

针对测试阶段采集的用户反馈,本方案也存在一些问题:①对于包含页面跳转、音频、视频等结构复杂的课件无法在最终视频中体现。②演讲者备注文字在某些情况下需要自行加入。本文语音的文字由数据库商提供,对于一些论坛讲座、检索培训课程等情况,需要经过多方商量后给课件附上备注文字。③没有将所有技术栈合并为一个最终产品。每次导出视频都要经过漫长的步骤进行生成,后期需要将所有操作集成到一个友好的用户界面。

5 结语

图书馆每年都在不定期举办各种数据库培训讲座、数字资源检索培训课程、专家论坛等,课件资源是图书馆常规数字资源的重要补充,培训、讲座等后期资源的开发与利用就显得尤为重要。本文提出一种基于多种技术生态的课件合成视频的方案,将传统、单一形式的课件以更加生动的视频效果来展现,保证相关培训、讲座等后期课件资源被利用的方式丰富多样化,并向用户提供拟人化服务。同时,本文对视频合成的系统流程、方案设计、关键技术模块分别进行了阐述,并及时收集测试的反馈信息进行分析,提出了相应的解决方法,为下一步研究指明了方向。

猜你喜欢
演讲者语音课件
Flash课件在音乐教学中应用研究
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
《从“贞观之治”到“开元盛世”》教学课件
用Lingo编写Director课件屏幕自适应播放器
会计时的话筒
多媒体课件制作中的动画设计研究
阅读自然的艺术