Python 빠 른 속도 로 ppt 를 더빙 영상 과제 로 만 드 는 방법
유인원 은 동 영상 수업 을 녹화 한 적 이 없 지만 최근 에는 일주일 안에 동 영상 수업 을 녹화 해 야 한 다 는 요구 가 있어 3 일 동안 ppt 를 준비 하고 20 여 분 의 수업 을 한 시간 동안 녹화 했다.
처음 이 일 을 했 기 때문에 강의 할 때 정서 가 약간 긴장 되 었 기 때문에 녹화 방송 하 는 음성 에 각종 중복,있어 서 는 안 될 중단,두 페이지 전환 할 때 수업 내용 의 설명 이 너무 빠 르 고 일부 단어의 발음 이 정확 하지 않다 는 등 문제 가 발생 하여 효과 가 엉망 이 되 었 다.
이러한 문 제 를 해결 하기 위해 편집 소프트웨어 를 사용 하여 편집 을 했 습 니 다.편집 만 2 일이 걸 렸 지만 효과 가 좋 지 않 았 습 니 다.마지막 으로 원 녹화 자 료 를 없 애고 ppt 를 이미지 로 내 보 낸 다음 에 한 페이지 씩 녹음 한 다음 에 합성 소프트웨어 를 사용 하여 이미지 와 오디 오 를 하나씩 일치 시 킨 다음 에 제작 하 는 방법 이 생각 났 습 니 다.40 여분 동안 한 페이지 씩 녹음 해 듣 고 마지막 에 반나절 동안 제작 과 출력 을 하 다가 마지막 마감 시간 을 맞 춰 영상 을 제출 했다.처음부터 이 방법 을 사용 하면 대부분의 시간 을 절약 할 수 있다.
상기 과정 을 바탕 으로 원숭이 는 마지막 으로 이 처리 과정 이 합성 소프트웨어 를 사용 하지 않 고 Moviepy 를 사용 하 는 것 이 좋 지 않 을 까?라 고 생각 했다.오늘 행동 에 옮 겨 보 니 Moviepy 를 사용 하여 합성 하 는 것 이 그래 픽 조작 인터페이스 의 합성 소프트웨어 보다 효과 가 좋 고 오디 오 와 ppt 재료 의 협동 문 제 를 완벽 하 게 해결 한 것 으로 나 타 났 다.다음은 이 과정 을 상세 하 게 소개 하여 ppt 영상 과제 제작 초보 자 에 게 효율 적 인 영상 제작 방법 을 제공 합 니 다.
2.ppt 영상 과제 제작 과정
2.1 ppt 를 그림 으로 저장
ppt 를 열 고 선택:파일-->다른 이름 으로 저장 합 니 다.저장 형식 은 PNG 또는 jpg 로 선택 합 니 다.그림:
그리고 저장 을 누 르 면 나타 납 니 다:
슬라이드 마다 선택 하 십시오.
이렇게 하면 각 페이지 의 ppt 를 그림 으로 내 보 낼 수 있 습 니 다.예 를 들 어:
해당 그림 은'슬라이드 XX.png'등 으로 한 페이지 씩 출력 하여 저장 합 니 다.
2.2 페이지 별 녹음
ppt 각 페이지 의 내용 을 대조 하여 이 페이지 에서 설명 한 음성 을 핸드폰 녹음 소프트웨어 등 방식 으로 하나의 오디 오 파일 로 녹음 합 니 다.다음은 원숭이 가 녹음 한 오디 오 파일 디 렉 터 리 입 니 다.
상기 녹음 할 때 18 페이지 와 20 페이지 는 2 단 으로 만 들 었 는데 이런 방식 으로 처리 하 는 것 은 다른 페이지 와 달리 프로그램 으로 처리 하기에 적합 하지 않 으 며 이에 대한 맞 춤 형 개조 가 없 는 한 주의 하 세 요.
2.3,코드 를 작성 하여 합성
코드 의 설명 과 주석 은 따로 보충 설명 을 하지 않 습 니 다.전체 코드 는 다음 과 같 습 니 다.
from moviepy.editor import *
import os,traceback
def isdigit(c):
return c>='0' and c<='9'
def getPattern(patternString):
"""
:param patternString: , C , :%d、%02d
:return: patternString , : 、 ( 、 d)、 , None
"""
patternIndex = patternString.index("%")
if patternIndex<0:
print(" :%")
return None
matched = False
for patternEnd in range(patternIndex+1,len(patternString)):
if patternString[patternEnd]in'dD':
matched = True
break
else:
if not isdigit(patternString[patternEnd]):
print(" ")
return None
if matched: return [patternString[:patternIndex],patternString[patternIndex:patternEnd+1],patternString[patternEnd+1:]]
else:
print(" d ")
return None
def composePPTImgsAndSounds(imgFilePattern,soundFilePattern,startSeq=1,endSeq=None):
"""
:param imgFilePattern: , , %d、%02d/%03d
:param soundFilePattern: , , %d、%02d/%03d
:param startSeq: , 0 1
:param endSeq: ,
:return:
"""
if endSeq is None:endSeq=9999999 #
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" , {seq}")
break
else:
print(f" {imgClip} {soundClip} ")
return None
except Exception as e:
print(f" :
{e}
{traceback.format_exc()}")
return None
print(" ....")
clip = concatenate_videoclips(clips,'compose')
clip.write_videofile(r"C:\temp\ppt.mp4",threads=8)
print(" ")
return clip
composePPTImgsAndSounds(r'F:\bak\pr\ H\ \ \5G 3.9\ %d.PNG',r'C:\temp\ \p%d.m4a')
Moviepy 에 대해 잘 모 르 시 면《파 이 썬 사 운 드 비디오 편집 라 이브 러 리 MoviePy 1.0.3 중국어 튜 토리 얼 가이드 및 실행 가능 한 도구 다운로드》의 안내 식 소 개 를 참고 하 세 요.효과
이 방식 으로 제 작 된 영상 은 그래 픽 인터페이스 합성 소프트웨어 로 제 작 된 영상 보다 효과 가 더욱 유창 하고 크기 가 작 으 며 제작 시간 도 짧다.크기 는 그래 픽 인터페이스 영상 합성 소프트웨어 의 10 분 의 1 도 안 되 고 영상 출력 시간 은 그래 픽 인터페이스 합성 소프트웨어 가 손 으로 지 는 4 분 의 1 이다.또한 손 으로 합성 편집 을 하 는 과정(비 숙련 자 는 보통 1-2 시간 이 필요 하 다)을 절약 했다.유인원 의 20 분 짜 리 영상 수업 은 녹음,듣 기 및 일부 재 녹음 시간 을 포함 하고 전체 제작 과정 은 70 분 도 안 되 며(코드 작성 시간 이 포함 되 지 않 음)특히 좋 지 않 습 니까?
그러나 유인원 위의 사례 가 18 페이지 까지 처리 되 었 을 때 과제 가 끝났다 고 생각 하고 전체 과 제 를 다 처리 하려 면 18 페이지 와 20 페이지 의 오디 오 를 합 쳐 다른 오디 오 파일 과 유사 한 오디 오 파일 에 출력 해 야 한다.
소결
본 고 는 ppt 영상 교과 서 를 신속하게 만 드 는 방법 을 소개 했다.ppt 를 한 장의 그림 으로 출력 한 다음 에 한 페이지 씩 더빙 을 한 다음 에 Moviepy 를 사용 하여 이 를 합성 하여 출력 하면 교과 서 를 빠 르 고 잘 만 들 수 있다.페이지 를 나 누 어 녹음 하 는 방식 을 채택 하여 설명 이 좋 지 않 은 곳 은 곧 바 꿀 수 있 기 때문에 기대 한 번 에 녹화 하고 편집 하 는 것 보다 효과 가 훨씬 좋 고 출력 하 는 영상 파일 이 작고 출력 이 빠르다.
이상 은 Python 이 ppt 를 빠르게 더빙 영상 과제 로 만 드 는 조작 방법 에 대한 상세 한 내용 입 니 다.python ppt 더빙 영상 과제 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.