虚心的豌豆 · VC++使用GetProcessTimes获 ...· 2 月前 · |
谦虚好学的石榴 · express返回自定义http状态_exp ...· 1 年前 · |
玩篮球的跑步机 · pycharm控制台字体大小设置-掘金· 1 年前 · |
潇洒的企鹅 · python - What does ...· 1 年前 · |
千杯不醉的回锅肉 · numpy.float64' object ...· 1 年前 · |
我正在使用MoviePY加入50多个1,2,3分钟的视频,但它给了我20个小时,尽管我有64 GB的ram,i7和GTX670,不是最高的范围,但也是合理的。有没有什么方法可以加速这个过程?
padding = 10 # padding option
video_clips = [VideoFileClip(video_dir + video) for video in os.listdir(video_dir)]
video_fx_list = [video_clips[0]]
idx = video_clips[0].duration - padding
for video in video_clips[1:]:
video_fx_list.append(video.set_start(idx).crossfadein(padding))
idx += video.duration - padding
final_video = CompositeVideoClip(video_fx_list)
final_video.write_videofile(video_dir + 'myoutfile.mp4', fps=24)
我不需要这些剪辑的原始音频,删除它会加快速度吗?虽然不确定如何删除音频/
发布于 2019-08-23 01:08:35
您可以在
write_videofile
中指定多个
threads
。通过使用计算机的所有内核,它将显著加快导出速度。
final_video.write_videofile(video_dir + 'myoutfile.mp4', threads = 8, fps=24)
Aditionnal:
resize
到较低的分辨率(例如720p)
fps
也有很大的不同,但是24fps已经很好地优化了
发布于 2019-06-02 17:53:58
当涉及到视频编辑时,Python的效率很低。
如果你正在使用MoviePY,可以看看 https://zulko.github.io/moviepy/ref/ffmpeg.html (也许使用github dev版本,它更稳定)
您有一些函数可以执行对ffmpeg: https://github.com/Zulko/moviepy/blob/master/moviepy/video/io/ffmpeg_tools.py 的直接调用,因此对于像您这样的简单任务来说非常有效
发布于 2020-10-12 20:42:23
我使用cuda accelerate和ffmpeg解析器
-vcodec h264_nvenc
。这是为我工作,在Win10和FMPEG4.2.3版本,NVIDA图形处理器。
(您应该找到适用于您的图形处理器的 specified-ffmpeg-parser 。)
速度将提高5~10倍。
我已经实现了剪切剪辑,拼接视频,拼接与交叉淡出,添加bgm与cuda…
'''
here is concat videos with cuda accelerate.
so you can subclip the video fragment and clip them, then concat with others.
import os
def save_flist(files):
f_data = 'file \'' + '\'\nfile \''.join(files) + '\''
print(f_data)
f_list = 'list.txt'
with open(f_list, 'w', encoding='gbk') as f:
f.write(f_data)
return f_list
video_path = r'E:\py\mkv\\'
os.chdir(video_path)
output_path = 'output.mkv'
files = ['1.mkv', '2.mkv', '3.mkv', '4.mkv']
print(files) # your video_names.
f_list = save_flist(files)
call = f'ffmpeg -f concat -safe 0 -i {f_list} -c copy {output_path} -y' # only supporte the same video_format, copy and not recode.
call = f'ffmpeg -f concat -safe 0 -i {f_list} -vcodec h264_nvenc {output_path} -y' # cuda accelerate.
玩篮球的跑步机 · pycharm控制台字体大小设置-掘金 1 年前 |