新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python3中ffmpeg视频转换工具使用方法的案例分析?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联建站的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括网站建设、成都网站制作、电商网站开发、微信营销、系统平台开发。windows版本下需要先安装ffmpeg工具:
1:先下载指定(https://ffmpeg.zeranoe.com/builds/) 有Static,Shared,Dev三个版本,
可以下载了static版本(是个zip压缩包),解压到指定目录,去配置环境变量,比如d:\ffmpeg\bin,这样bin下面的ffmpeg.exe就可以在命令行中使用了,可以用ffmpeg -version测试一下:
2:安装ffmpeg的python扩展,该扩展可以让你直接在python脚本中直接调用,而不需要单独运行命令: pip install ffmpeg-python
3:需要注意一点的是,有的情况调用该库会报错('ffmpeg' 不是内部或外部命令,也不是可运行的程序 或批处理文件。),这时需要将python安装目录下Lib文件夹的subprocess.py文件中大概656行中的shell参数改为True
4:假如提示ffmpeg为外部命令错误时,将ffmpeg的路径带上:
代码如下:
def getImage(video_path): base_path = os.path.join(os.path.join(os.getcwd(), "mp4"), video_path) img_count = 1 crop_time = 0.0 try: while crop_time <= 22.0: #转化22s的视频 os.system('D:\\ffmpeg-20191210-e73688e-win64-static\\bin\\ffmpeg -i %s -y -f image2 -ss %s %s.jpg'% (base_path, str(crop_time), str(img_count))) img_count += 1 crop_time += 0.01 #每0.01秒截取一张照片 print('视频转化完成!!!') except Exception as e: print(e) def save(): dir_s = os.path.join(os.getcwd(), "image") if os.path.exists(dir_s): shutil.rmtree(dir_s) os.mkdir(dir_s) for root, dirs, tmps in os.walk(os.getcwd()): for file in tmps: if file.endswith("jpg") and os.path.exists(os.path.join(dir_s, file)) is False: shutil.move(file, dir_s) video_path = "of2.mp4" getImage(video_path) save()