国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python快速將ppt制作成配音視頻課件的操作方法

瀏覽:99日期:2022-06-14 15:37:44
目錄一、引言二、ppt視頻課件制作過程 2.1、將ppt保存為一張張圖像2.2、按頁(yè)錄音2.3、編寫代碼進(jìn)行合成三、效果四、小結(jié)一、引言

老猿從來沒有錄播個(gè)視頻課件,但最近有要求在一周內(nèi)必須錄制一個(gè)視頻課件,為此花了3天時(shí)間準(zhǔn)備ppt,花了一個(gè)小時(shí)錄播了一個(gè)20多分鐘的課件。

由于第一次干這個(gè)活,講課時(shí)情緒還是有點(diǎn)緊張,導(dǎo)致錄播的語(yǔ)音出現(xiàn)了各種重復(fù)、不該有的間斷、兩頁(yè)切換時(shí)課件講解過快、部分詞語(yǔ)發(fā)音不準(zhǔn)等問題,導(dǎo)致效果一團(tuán)糟。

為了解決這些問題,又使用剪輯軟件進(jìn)行了剪輯,光剪輯就花了2天時(shí)間,結(jié)果效果還是不好,最后想到了一個(gè)辦法,就是廢掉原錄播材料,將ppt導(dǎo)出成圖像,然后逐頁(yè)錄音,再使用合成軟件將圖像和音頻逐一匹配,再進(jìn)行制作。花了40多分鐘逐頁(yè)錄音并試聽,最后花了半天時(shí)間制作和輸出,終于趕上最后的截止時(shí)間前上交了視頻。如果最開始就用這個(gè)方法,可以節(jié)省大部分時(shí)間。

基于上述過程,老猿又想到最后這個(gè)處理過程完全不需要使用合成軟件,而是使用Moviepy是否更好呢?今天付諸行動(dòng),發(fā)現(xiàn)使用Moviepy進(jìn)行合成比圖形操作界面的合成軟件效果更好,完美地解決了音頻和ppt材料的協(xié)同問題。下面就詳細(xì)介紹一下這個(gè)過程,供ppt視頻課件制作生手提供一個(gè)可以高效制作視頻的方法。

二、ppt視頻課件制作過程 2.1、將ppt保存為一張張圖像

打開ppt,選擇:文件 --> 另存為,保存類型選擇為PNG或jpg,如圖:

Python快速將ppt制作成配音視頻課件的操作方法

然后點(diǎn)擊保存,出現(xiàn):

Python快速將ppt制作成配音視頻課件的操作方法

選擇“每張幻燈片”。這樣就可以將每頁(yè)ppt導(dǎo)出成圖片了,如:

Python快速將ppt制作成配音視頻課件的操作方法

相關(guān)圖片會(huì)輸出到一個(gè)單獨(dú)的目錄,以“幻燈片XX.png”等形式逐頁(yè)輸出保存。

2.2、按頁(yè)錄音

對(duì)照ppt每頁(yè)的內(nèi)容,將該頁(yè)講解的語(yǔ)音使用手機(jī)錄音軟件等方式錄制成一個(gè)個(gè)音頻文件,下面是老猿錄制的音頻文件目錄:

Python快速將ppt制作成配音視頻課件的操作方法

注意,在以上錄音時(shí),第18頁(yè)和20頁(yè)錄制成了2段,這種方式處理和其他頁(yè)面不一樣,是不適合用程序來處理的,除非對(duì)此針對(duì)性的改造。

2.3、編寫代碼進(jìn)行合成

代碼的說明與注釋,不單獨(dú)進(jìn)行補(bǔ)充說明,完整代碼如下:

from moviepy.editor import *import os,tracebackdef isdigit(c): return c>=’0’ and c<=’9’def getPattern(patternString): ''' :param patternString: 含有模式串的字符串,模式串仿C語(yǔ)言整型輸出格式,類似于:%d、%02d等 :return: 返回將patternString拆分成三段的一個(gè)列表,三個(gè)元素分別是:模式串前面的字符串、模式串(含百分號(hào)、數(shù)字和d)、模式串后面的字符串,如果沒有找到模式串則返回None ''' patternIndex = patternString.index('%') if patternIndex<0:print('模式字符串中未發(fā)現(xiàn)模式匹配符:%')return None matched = False for patternEnd in range(patternIndex+1,len(patternString)):if patternString[patternEnd]in’dD’: matched = True breakelse: if not isdigit(patternString[patternEnd]):print('模式字符串中的模式存在非數(shù)字')return None if matched: return [patternString[:patternIndex],patternString[patternIndex:patternEnd+1],patternString[patternEnd+1:]] else:print('模式字符串中的模式不是字母d結(jié)尾')return Nonedef composePPTImgsAndSounds(imgFilePattern,soundFilePattern,startSeq=1,endSeq=None): ''' :param imgFilePattern: 圖像文件模式,要求圖像文件中必須含文件序號(hào),序號(hào)采用%d、%02d/%03d的方式來識(shí)別 :param soundFilePattern:音頻文件格式,要求文件中必須含文件序號(hào),序號(hào)采用%d、%02d/%03d的方式來識(shí)別 :param startSeq:文件序列號(hào)其實(shí)值,一般為0或1 :param endSeq:文件序列號(hào)結(jié)束值,可以不填 :return:生成的視頻 ''' if endSeq is None:endSeq=9999999 #當(dāng)對(duì)應(yīng)序號(hào)找不到文件時(shí)結(jié)束 patterns = getPattern(imgFilePattern) if patterns is None:print(’圖像文件名不符合模式格式要求’)return None else:imgPrefix,imgPattern,imgPostfix = patterns patterns = getPattern(soundFilePattern) if patterns is None:print(’音頻文件名不符合模式格式要求’)return None else:soundPrefix, soundPattern, soundPostfix = patterns clips = [] try:for seq in range(startSeq,endSeq): imgFName = f'{imgPrefix}{seq:{imgPattern[1:]}}{imgPostfix}' soundFName = f'{soundPrefix}{seq:{soundPattern[1:]}}{soundPostfix}' if os.path.exists(soundFName) and os.path.exists(imgFName):soundClip = AudioFileClip(soundFName)imgClip = ImageClip(imgFName).set_duration(soundClip.duration).set_fps(2).set_audio(soundClip)clips.append(imgClip) else:if seq: print(f'音視和圖像文件加載結(jié)束,最后一個(gè)文件的序號(hào)為{seq}') breakelse: print(f'圖像文件{imgClip}或音頻文件{soundClip}不存在') return None except Exception as e:print(f'加載音頻和圖像文件失敗:n{e}n{traceback.format_exc()}')return None print('輸出視頻文件....') clip = concatenate_videoclips(clips,’compose’) clip.write_videofile(r'C:tempppt.mp4',threads=8) print('視頻文件已經(jīng)生成') return clipcomposePPTImgsAndSounds(r’F:bakpr大H十百千視頻制作5G在線計(jì)費(fèi)動(dòng)態(tài)授權(quán)機(jī)制介紹3.9幻燈片%d.PNG’,r’C:temp錄音文件p%d.m4a’)

如果不了解Moviepy的,請(qǐng)參考《 Python音視頻剪輯庫(kù)MoviePy1.0.3中文教程導(dǎo)覽及可執(zhí)行工具下載》的導(dǎo)覽式介紹。

三、效果

使用該方式制作的視頻,比圖形界面合成軟件制作的視頻效果更流暢、大小更小、制作時(shí)間也更短,大小大概是圖形界面視頻合成軟件的不到十分之一,視頻輸出時(shí)間是圖形界面合成軟件手工輸出的四分之一,還省了手工去進(jìn)行合成剪輯的過程(非熟練人員一般需要1-2個(gè)小時(shí)),老猿20分鐘的視頻課,含錄音、試聽及部分重錄時(shí)間,整個(gè)制作過程不到70分鐘(不含代碼編寫時(shí)間),是不是特別好用?

不過注意,老猿上面的案例處理到第18頁(yè)時(shí)就認(rèn)為課件完結(jié)了,要將整個(gè)課件處理完,需要合并18頁(yè)和20頁(yè)的音頻輸出到其他音頻文件類似的音頻文件中。

四、小結(jié)

本文介紹了一種ppt視頻課件快速制作的方法,通過將ppt輸出成一張張圖片,然后逐頁(yè)配音,最后使用Moviepy將其合成輸出,課件制作又快又好。由于采用了分頁(yè)錄音的方式,對(duì)于講解不好的地方很快就可以更換,因此比期望一次性錄播然后剪輯的效果要好很多,同時(shí)輸出的視頻文件小、輸出快。

以上就是Python快速將ppt制作成配音視頻課件的操作方法的詳細(xì)內(nèi)容,更多關(guān)于python ppt配音視頻課件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python ppt 配音視頻
相關(guān)文章:
主站蜘蛛池模板: 国产成年人视频 | 久久厕所精品国产精品亚洲 | 中文一级国产特级毛片视频 | 欧美一区二区三区久久综合 | 一区二区三区中文字幕 | 131的美女午夜爱爱爽爽视频 | 性欧美精品孕妇 | 亚洲一区二区三区免费在线观看 | 两性午夜视频 | 国产精品夜色视频一级区 | 性欧美一级毛片欧美片 | 欧美一级毛片aaaaa | 亚洲99爱| 国产情侣久久精品 | 成人区精品一区二区不卡亚洲 | 亚洲综合国产一区在线 | 一本三道a无线码一区v小说 | 欧美一级毛片免费大全 | 精品成人免费一区二区在线播放 | 在线观看亚洲精品专区 | 成人免费在线播放视频 | 国产成人啪一区二区 | 在线亚洲精品国产波多野结衣 | 午夜男人女人爽爽爽视频 | 午夜在线观看视频免费 成人 | 中文欧美一级强 | 日本高清在线精品一区二区三区 | 国产福利在线91 | 欧美成年| 国产国模福利视频 | 日本在线网 | 美女被强行扒开双腿激情视频 | 国产性夜夜春夜夜爽30 | 免费看岛国视频在线观看 | 久草视频在线网 | 久久se精品一区精品二区 | 中文字幕成人免费高清在线视频 | 免费观看成年人网站 | 99精品在免费线视频 | 国内国产真实露脸对白 | 一级毛片视频免费观看 |