| 12345678910111213141516171819202122232425262728293031323334353637 |
- import asyncio
- import datetime
- import os
- import sys
- from typing import List, Optional
- sys.path.append(os.path.dirname(os.path.dirname(__file__)))
- import jwt
- from fastapi import FastAPI,APIRouter, HTTPException, Depends, Request,Header
- from fastapi import Depends, FastAPI, HTTPException, status
- from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
- from pydantic import BaseModel,Field
- from fastapi.responses import JSONResponse
- from config import *
- from api.swl_jwt import verify_jwt_token,verify_user
- from db.user import User,UserRepo
- from tool import funasr_wss_client,video_get
- # ASR(Automatic Speech Recognition)语音识别
- asr_router = APIRouter()
- class AsrPostData(BaseModel):
- string: str = Field(..., description="获取视频无水印下载连接,可以是视频地址、分享链接",
- example="4.30 03/30 bNJ:/ L@w.FH 踩中风口真的可以翻身吗?从一穷二白到AI逆袭,他怎么做到的? # 东方对话 # 人工智能 # ai https://v.douyin.com/i8Df1CC/ 复制此链接,打开Dou音搜索,直接观看视频!")
-
- @asr_router.post("/asr")
- async def asr(data:AsrPostData, user: User = Depends(verify_user)):
- save_dir = os.path.join(TEMP_DIR, "asr", user.open_id, "")
- save_path = await video_get.download_video_by_share_link(data.string, )
- return {"message": "ASR处理成功"}
- @asr_router.post("/video_get_download_url")
- async def video_get_download_url(data:AsrPostData, user: User = Depends(verify_user)):
- return await video_get.get_video_download_urls(data.string)
|