[英]Pass Python list to concatenate_videoclips function in Moviepy module
[英]Python concatenate_videoclips, strange audio and video glitches
我將視頻剪輯與:
clip1=VideoFileClip('cutclip35.mp4')
clip2=VideoFileClip('cutclip165.mp4')
clip3=VideoFileClip('cutclip24.mp4')
final_clip = concatenate_videoclips([clip1,clip2,clip3],method='compose')
final_clip.write_videofile("my_concatenation.mp4",fps=20)
並且出現非常奇怪的故障,我不知道我做錯了什么。 任何幫助表示贊賞!
以下是視頻: https://www.dropbox.com/sh/hbd4cwooy9xjf19/AACLcv4Rqtmj7YmGzbpmCTtsa?dl=0
使用 python 3.8.10
我也面臨同樣的問題。 由於編碼問題,連接.mp4
文件直接導致故障。
為了避免gltiches的最好方法,同時串接是將轉換.mp4
影片.ts
vidoes,CONCAT的.ts
視頻並轉換成最終.ts
視頻.mp4
使用 MoviePy 完成所有這些過程可能很耗時,因此,我們可以直接使用ffmpeg
來完成所有這些。
def ConcatVideos(input_video_path_list:List[str], output_video_path:str, temporary_process_folder:str):
concat_file_list:List[str] = []
for idx, input_video_path in enumerate(input_video_path_list, start=1):
# convering individual file to .ts #
temp_file_ts = f'{temporary_process_folder}/concat_{idx}.ts'
os.system(f'''ffmpeg -y -loglevel error -i {input_video_path} -c copy -bsf:v h264_mp4toannexb -f mpegts {temp_file_ts} ''')
concat_file_list.append(temp_file_ts)
# concatenating .ts files and saving as .mp4 file #
# ffmpeg will take care of encoding .ts to .mp4 #
concat_string = '|'.join(concat_file_list)
os.system(f'''ffmpeg -y -loglevel error -i \
"concat:{concat_string}" -c copy {output_video_path}''')
return output_video_path
final_video_path = ConcatVideos(['input1.mp4','input2.mp4'], 'final_video.mp4', 'Temp')
# make sure '/Temp` folder exists or create it before-hand.
我遇到過類似的問題。 我所做的是分別連接音頻和視頻,然后再將它們組合起來。
video_clip = concatenate_videoclips(clips,method='compose')
audioConc = concatenate_audioclips(audio_clips)
video_clip=video_clip.set_audio(audioConc)
video_clip.write_videofile("video-output.mp4",fps=24)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.