首页 > 其他分享 >SadTalker API调用生成视频

SadTalker API调用生成视频

时间:2024-05-30 09:46:36浏览次数:27  
标签:调用 -- image system SadTalker API audio os dir

from fastapi import FastAPI
import uvicorn
import nest_asyncio
from fastapi.middleware.cors import CORSMiddleware
from datetime import datetime

app = FastAPI()

origins = ["*"]

app.add_middleware(CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"])

preset = "fast"

@app.get("/sync")
def lip_sync(audio:str, image:str, tmpdir:str):
    #dir = datetime.now().strftime('%Y%m%d%H%M%S%f')
    dir = "/data/digital/files/videos/" + tmpdir
    print("start....audio=" + audio + ", image=" + image + ", tmpdir=" + tmpdir)
    #os.system("python inference.py --driven_audio %s --source_image %s --enhancer gfpgan --result_dir %s --size 256 --preprocess crop" %(audio,image,dir))
    os.system("python inference.py --driven_audio %s --source_image %s --result_dir %s --size 256 --preprocess full --still" %(audio,image,dir))
    #os.system("python inference.py --driven_audio %s --source_image %s --enhancer gfpgan --result_dir %s --size 256 --preprocess full --still" %(audio,image,dir))
    resultVideo = os.listdir(dir)[0]
    print("end....return video: " + resultVideo)
    os.system("chown -R $group:$user " + dir)
    os.system("ffmpeg -i " + dir + "/" + resultVideo + " -vcodec h264 " + dir + "/temp.mp4")
    os.system("rm -rf " + dir + "/" + resultVideo)
    os.system("mv " + dir + "/temp.mp4 " + dir + "/" + resultVideo)
    return resultVideo;

if __name__ == "__main__":
    PORT = 37860
    nest_asyncio.apply()
    uvicorn.run(app, host="0.0.0.0", port=PORT)

 

标签:调用,--,image,system,SadTalker,API,audio,os,dir
From: https://www.cnblogs.com/zhangzhijian/p/18221698

相关文章

  • 在开发系统中将 .net core 6.0 Web API 部署到 IIS 无法正常工作
    发布到本地文件夹并配置到IIS进行测试的.netcore6.0Webapi无法正常工作。Thissitecan'tbereachedlocalhostrefusedtoconnect.请尝试:检查连接检查代理和防火墙ERR_CONNECTION_REFUSED已执行步骤......
  • 视频监控平台AS-V1000 的场景管理,一键查看多画面视频的场景配置、调用、管理(一键浏览
    目录一、场景管理的定义二、场景管理的功能和特点1、功能(1)场景配置(2)实时监控(3)权限管理2、特点三、AS-V1000的场景配置和调用1、场景配置(1)实时视频预览(2)保存四画面场景(3)保存八画面场景(4)保存多个场景2、调用(1)调出四画面(2)调出八画面四、场景管理的应用范围1、......
  • Windows驱动开发涉及到许多重要的概念和技术,包括调试、进程管理、文件操作、注册表访
    Windows驱动开发涉及到许多重要的概念和技术,包括调试、进程管理、文件操作、注册表访问、系统调用、IRP(I/ORequestPacket)和锁原理。以下是对每个主题的简要介绍:调试Windows驱动程序的调试通常涉及使用调试器(如WinDbg)来分析驱动程序的运行时行为,包括查看内存、寄存器状态、......
  • Vue3使用Composition API实现响应式
    title:Vue3使用CompositionAPI实现响应式date:2024/5/29下午8:10:24updated:2024/5/29下午8:10:24categories:前端开发tags:Vue3CompositionRefsReactiveWatchLifecycleDebugging1.介绍CompositionAPI是Vue.js3中新增的一组API,用于在组件中组合逻辑......
  • Vue3使用Composition API实现响应式
    title:Vue3使用CompositionAPI实现响应式date:2024/5/29下午8:10:24updated:2024/5/29下午8:10:24categories:前端开发tags:Vue3CompositionRefsReactiveWatchLifecycleDebugging1.介绍CompositionAPI是Vue.js3中新增的一组API,用于在组件中组合逻辑和功......
  • 合约之间调用-如何实现函数静态调用?
    合约之间的函数调用EOA,externalownedaccount,外部账号,例如metamask调用最终总是由EOA发起的合约之间的调用使得一次完整的调用成为一个调用链条合约间调用过程调用者须持有被调用合约的地址得到被调用合约的信息将地址重载为被调用合约,调用它的函数最直接的调用方式(源......
  • apifox脚本编写
    前言在apifox中,我们可以通过脚本实现很多方便的操作,例如可以通过前置脚本来实现自动登录(校验token过期自动在脚本中调用登录重新获取token),在后置脚本中实现对返回结果的校验和参数的提取(利用脚本提取的临时变量不拘泥于某个测试场景,可以在不同的场景间重复使用)。下面是我平时常......
  • 鸿蒙HarmonyOS实战-Web组件(前端函数和应用侧函数相互调用)
    ......
  • 通过接口拿到api拿到ip代理
    defget_api_iplist():f_ua=fake.user_agent()#url="https://www.baidu.com/"#测试网站url地址url="http://api.89ip.cn/tqdl.html?api=1&num=600&port=&address=&isp="#测试网站url地址headers={'User-Agent�......
  • windows下载安装ipopt求解器 可用于pyomo调用
    方案一:采用官方编译的应用程序官方对windows下有已经编译好的应用程序,只需要下载下来,并将ipopt的应用程序所在文件夹路径添加到系统全局环境变量就可以了。这样在利用pyomo或者其他建模工具建模求解的时候就可以正常使用ipopt了。(但要注意防火墙或者杀毒软件可能会拦截需要设定......