• python3--ffmpeg视频转换工具(一)


    windows版本下需要先安装ffmpeg工具:

    1:先下载指定(https://ffmpeg.zeranoe.com/builds/) 有Static,Shared,Dev三个版本,

    可以下载了static版本(是个zip压缩包),解压到指定目录,去配置环境变量,比如d:ffmpegin,这样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()
  • 相关阅读:
    Laravel + Vue 之 OPTIONS 请求的处理
    Vue2.0 keep-alive 组件的最佳实践
    Vue.js 登录注册实现
    数仓项目04:环境搭建(MysqlHA+Hive)
    CentOS7_JDK安装和环境变量配置
    改环境变量改出问题了,vi,ls这些命令都不能用了,怎么办
    CentOS7配置网络
    curl命令下载jdk
    CentOS7设置IP地址
    ODPS
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/12028805.html
Copyright © 2020-2023  润新知