陳 晨
(1.中共北京市委黨校圖書館 北京 100044)
(2.北京市情研究中心 北京 100044)
為了提高讀者檢索和利用文獻資源的能力,圖書館經常根據讀者的需求,提供有針對性的主題培訓講座。由于講座宣傳不到位或者聽眾因故未到場等原因經常導致講座上座率不高,盡管包括四川大學圖書館在內的部分高校圖書館已經采取網絡直播的形式進行線上同步轉播,但仍然有大量讀者沒有獲得一手信息,因此這些培訓、講座結束后產生的數據——課件就成為重要的后期數字資源,圖書館應該充分利用該資源開展讀者后期服務。在時下各種線上課程與新媒體內容的沖擊下,讀者對于長篇累牘的常規課件資源往往興趣低下,課下在缺乏講解的情況下也無法高效汲取課件內容。因此本文在此前提下,提出一種低成本的將課件合成為視頻的方案,以聲、像、圖、文多種媒體組合的方式呈現課件,增加圖書館數字資源的多樣性,提升讀者對圖書館數字資源的利用率。
利用多媒體課件進行信息技能培訓已成為圖書館服務的重要組成部分, 可以提高培訓效果和效率。截至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],重新將課件資源的重要性擺在大眾眼前。綜上,課件資源的利用一直處于低下水平,還沒有一種切實可行的方案去挖掘圖書館課件的潛力。
本文以北京市委黨校圖書館的一次數據庫培訓為例,全面介紹培訓課件資源視頻化的過程。2019年10月5日,北京市委黨校圖書館舉辦外文數據庫培訓,由數據庫廠商準備相關課件資料并進行講解,時長45分鐘,培訓教室共30個座位,到場13人,上座率43%。培訓采取先培訓后答疑的形式進行,全程配合使用投影課件進行講解,課件采用PPT制作,總共56頁,圖書館提供攝像機設備進行同步錄制以作對比使用。培訓前期我們要求數據庫廠商提供每張演示PPT的注釋文字附在演講者注釋中,在培訓結束后,由圖書館員整理課件資料,將培訓結束后的口頭答疑部分分類整理成電子版,并制作若干張簡易PPT附在原始課件末尾,作為課件資料的重要補充,以保證線下瀏覽時的完整性。
原始課件的格式采用目前廣為流通的Office PowerPoint軟件保存后生成的格式,即后綴為pptx的格式,對于蘋果電腦,可以采用keynote軟件制作課件,隨后導出為pptx格式即可。生成視頻的環境部署在Windows7操作系統,視頻中的語音文字來源于每張課件中的演講者注釋文字,采用PHP7網絡編程語言讀取這部分文字,再通過語音合成技術將這部分文字轉化為語音,語音合成采用百度語音合成API,視頻合成技術采用FFmpeg。
盡管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'
以本次數據庫培訓為例,在培訓結束后通過上述技術方案將課件轉化為視頻并同時放置在圖書館網站上供讀者下載,經過一周時間發現,視頻課件下載量遠高于傳統課件下載量,達到67人次,極大地覆蓋了未到現場參與培訓的讀者,將實際上座率從43%提高到200%以上。另一方面,學科館員通過微信群向各個教研部門發送了視頻課件,獲得了各個教研部門的高度認可,為數據庫資源的延伸利用開拓了思路。
本文所使用的技術方案在實際實現過程中有如下優點:①成本低。相對使用手機或者攝像機直接錄制課件視頻而言,本文采用的技術都是基于開源組件與框架,不涉及任何費用,語音播報也是采用現成較成熟的語音合成技術,省去人工錄音帶來的時間成本和費用成本。②便于流通。該方案最終生成的視頻格式可以為MP4格式,可以在任何電腦設備、移動終端的播放器中進行流暢播放。③占用空間小,便于存儲。以本次數據庫培訓為例,使用手機或者攝像機錄制45分鐘課程的視頻最終導出的視頻文件大小根據清晰度不同都會在上百甚至上千MB以上,如果批量錄制較多課程的話會極大占用硬盤空間。本文示例所使用的課件包含56張PPT,生成的視頻文件在保證清晰度的情況下也不到10MB,所以即使大規模的對課件進行轉化也不會占用太大的硬盤空間。
針對測試階段采集的用戶反饋,本方案也存在一些問題:①對于包含頁面跳轉、音頻、視頻等結構復雜的課件無法在最終視頻中體現。②演講者備注文字在某些情況下需要自行加入。本文語音的文字由數據庫商提供,對于一些論壇講座、檢索培訓課程等情況,需要經過多方商量后給課件附上備注文字。③沒有將所有技術棧合并為一個最終產品。每次導出視頻都要經過漫長的步驟進行生成,后期需要將所有操作集成到一個友好的用戶界面。
圖書館每年都在不定期舉辦各種數據庫培訓講座、數字資源檢索培訓課程、專家論壇等,課件資源是圖書館常規數字資源的重要補充,培訓、講座等后期資源的開發與利用就顯得尤為重要。本文提出一種基于多種技術生態的課件合成視頻的方案,將傳統、單一形式的課件以更加生動的視頻效果來展現,保證相關培訓、講座等后期課件資源被利用的方式豐富多樣化,并向用戶提供擬人化服務。同時,本文對視頻合成的系統流程、方案設計、關鍵技術模塊分別進行了闡述,并及時收集測試的反饋信息進行分析,提出了相應的解決方法,為下一步研究指明了方向。