MacBook 跑通: 火山文生视频+自动剪辑方案

最佳实践FFmpeg人工智能

picture.image

火山引擎推出文生视频全自动剪辑方案,专为内容素材创作打造,可根据用户输入的主题,快速生成富有寓意的双语视频。 为体验者提供丰富多彩、富有教育意义的视听体验,在快乐中学习和成长。

本地MacBook 运行效果 https://www.bilibili.com/video/BV1PuQcY7EdV/

上手须知

  1. 使用火山引擎部分模型需要 企业认证账户
  2. python版本需要 低于 3.12
  3. 需要访问GitHub 获取火山开源代码
  4. 需要MacBook上先安装了Brew
  5. 需要MacBook安装了 node.js npm
一 开通服务

我们先去获取我们在搭建完成后需要用到的各种模型的key。

1、首先注册火山引擎:

https://volcengine.com/L/OyJmMND9eSw/

邀请码:EZ3L56P8

这个项目会使用到不少Token,火山现在还有赠送Toeken的活动,如果你还没有注册,可以使用这个邀请码和链接去注册,你就可以获得375万的Token了。(我也能获得一些token)

2、开通各项服务和拿到各个服务的Key (这里我们先大概看一眼,后面一个个获取)

LLM_ENDPOINT_ID=<test-llm-endpoint-id>
TOS_BUCKET=<test-tos-bucket>
TTS_ACCESS_TOKEN=<tts-access-token>
TTS_APP_ID=<tts-app-id>
VLM_ENDPOINT_ID=<vlm-endpoint-id>
CGT_ENDPOINT_ID=<doubao-seaweed-endpoint-id>
ARK_API_KEY=<ark-api-key>
VOLC_ACCESSKEY=<volcano-engine-ak>
VOLC_SECRETKEY=<volcano-engine-sk>

2.1 获取LLM_ENDPOINT_ID、VLM_ENDPOINT_ID、CGT_ENDPOINT_ID、ARK_API_KEY

注册后点击:控制台,进入火山方舟控制台。

https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW)

picture.image

创建一个接入点,点击在线推理--点击 自定义推理点接入 TAB -- 创建推理接入点

picture.image

创建接入点: 豆包-pro-32k

命名并选择Doubao-pro-32k模型

picture.image

选择好之后,确认

picture.image

成功创建之后,可以看到如图红线部分的接入点

picture.image

创建接入点:豆包-视频模型

写个名称(比如下图的 doubao-vision-pro-32k),选择 doubao-vision-pro-32k ,没有开通的小伙伴可以点 - 立即开通

picture.image

这里不会扣款,使用后再计费

picture.image

创建接入点:豆包-视频生成模型

picture.image

picture.image

弄完上面的3个之后,咱们的推理点 应该是下面这种状态

picture.image

根据对应的序号,把你复制的推理点ID (上图中,对应 每个 接入点 下面 ep- 开头的字符串) ,填入其中。如下:

这里我们先大概看一眼,目前还没有下载代码

LLM_ENDPOINT_ID=xxxxxxxxxxx(这里粘贴的是 doubao_pro_32k 的 ep- 开头的ID) <--这一步获取
TOS_BUCKET=<test-tos-bucket>
TTS_ACCESS_TOKEN=<tts-access-token>
TTS_APP_ID=<tts-app-id>
VLM_ENDPOINT_ID=xxx(这里粘贴的是 doubao-vision-pro-32k的ID) <--这一步获取
CGT_ENDPOINT_ID=xxx(这里粘贴的是 doubao-视频生成模型的ID) <--这一步获取
ARK_API_KEY=<ark-api-key>ARK_API_KEY
VOLC_ACCESSKEY=<volcano-engine-ak>
VOLC_SECRETKEY=<volcano-engine-sk>

3 创建ARK_API_KEY

然后继续点击“API key管理”创建一个并复制下来。 这个就是ARK_API_KEY

picture.image

LLM_ENDPOINT_ID=xxxxxxxxxxx(这里粘贴的是 doubao_pro_32k 的 ep- 开头的ID) < -- 之前获取了
TOS_BUCKET=<test-tos-bucket>
TTS_ACCESS_TOKEN=<tts-access-token>
TTS_APP_ID=<tts-app-id>
VLM_ENDPOINT_ID=xxx(这里粘贴的是 doubao-vision-pro-32k的ID) < --之前获取了
CGT_ENDPOINT_ID=xxx(这里粘贴的是 doubao-视频生成模型的ID) < -- 之前获取了
ARK_API_KEY=<ark-api-key>ARK_API_KEY  < --  这一步获取
VOLC_ACCESSKEY=<volcano-engine-ak>
VOLC_SECRETKEY=<volcano-engine-sk>

4 开通对象存储服务,获取TOS_BUCKET

进入这个地址,开通服务:https://console.volcengine.com/tos/bucket?

picture.image

添加名字,选择任意区域之后,直接点击创建即可。

picture.image

创建完成后,复制你的桶名称,我这里是:txt-2-video-buk (你得写个自己定义的名字)

LLM_ENDPOINT_ID=xxxxxxxxxxx(这里粘贴的是 doubao_pro_32k 的 ep- 开头的ID) < -- 之前获取了
TOS_BUCKET=<test-tos-bucket>   < --  这一步获取
TTS_ACCESS_TOKEN=<tts-access-token>
TTS_APP_ID=<tts-app-id>
VLM_ENDPOINT_ID=xxx(这里粘贴的是 doubao-vision-pro-32k的ID) < --之前获取了
CGT_ENDPOINT_ID=xxx(这里粘贴的是 doubao-视频生成模型的ID) < -- 之前获取了
ARK_API_KEY=<ark-api-key>ARK_API_KEY  < --  之前获取了
VOLC_ACCESSKEY=<volcano-engine-ak>
VOLC_SECRETKEY=<volcano-engine-sk>

5 获取 VOLC_ACCESSKEY、VOLC_SECRETKEY

点击这个链接,直接跳转:

https://console.volcengine.com/iam/keymanage/

picture.image

LLM_ENDPOINT_ID=xxxxxxxxxxx(这里粘贴的是 doubao_pro_32k 的 ep- 开头的ID) < -- 之前获取了
TOS_BUCKET=<test-tos-bucket>   < --  之前获取了
TTS_ACCESS_TOKEN=<tts-access-token>
TTS_APP_ID=<tts-app-id>
VLM_ENDPOINT_ID=xxx(这里粘贴的是 doubao-vision-pro-32k的ID) < --之前获取了
CGT_ENDPOINT_ID=xxx(这里粘贴的是 doubao-视频生成模型的ID) < -- 之前获取了
ARK_API_KEY=<ark-api-key>ARK_API_KEY  < --  之前获取了
VOLC_ACCESSKEY=<volcano-engine-ak>  < -- 这步获取
VOLC_SECRETKEY=<volcano-engine-sk>  < -- 这步获取

6 获取TTS_ACCESS_TOKEN、TTS_APP_ID

这个KEY比较特殊,需要有企业的认证。

  1. 企业认证

https://console.volcengine.com/user/authentication/detail/

  1. 开通语音技术产品

https://console.volcengine.com/speech/app

2.1 勾选大模型语音合成和流式语音识别大模型

picture.image

2.2 开通语音合成大模型,注意:语音合成大模型从开通到可以使用有大概5-10分钟延迟

picture.image

2.3 流式语音识别大模型有试用包,可以不开通。如需提供稳定服务,建议开通正式版本。

picture.image

2.4 开通后,回到“语音合成大模型”,获取TTS_APP_ID 和TTS_ACCESS_TOKEN

picture.image

LLM_ENDPOINT_ID=xxxxxxxxxxx(这里粘贴的是 doubao_pro_32k 的 ep- 开头的ID) < -- 之前获取了
TOS_BUCKET=<test-tos-bucket>   < --  之前获取了
TTS_ACCESS_TOKEN=<tts-access-token>  < --  这步获取
TTS_APP_ID=<tts-app-id>  < --  这步获取
VLM_ENDPOINT_ID=xxx(这里粘贴的是 doubao-vision-pro-32k的ID) < --之前获取了
CGT_ENDPOINT_ID=xxx(这里粘贴的是 doubao-视频生成模型的ID) < -- 之前获取了
ARK_API_KEY=<ark-api-key>ARK_API_KEY  < --  之前获取了
VOLC_ACCESSKEY=<volcano-engine-ak>  < -- 之前获取了
VOLC_SECRETKEY=<volcano-engine-sk>  < -- 之前获取了

至此,我们已经拿到了所有要用的服务key,接下来正式开始部署。

这里还是看一下,代码我们还没有下载,马上啦!

LLM_ENDPOINT_ID=xxxxxxxxxxx
VLM_ENDPOINT_ID=xxx
CGT_ENDPOINT_ID=xxx
ARK_API_KEY=XXXX
TOS_BUCKET=XXXX
VOLC_ACCESSKEY=XXXX
VOLC_SECRETKEY=XXXX
TTS_ACCESS_TOKEN=XXXX
TTS_APP_ID=XXXX

补充: 同时来这里确认一下,你也已经开通了这些服务!,即使拿到了key 如果服务没开通 还是不能用的。

picture.image

一定要到 互动双语视频生成器 主页

https://console.volcengine.com/ark/region:ark+cn-beijing/application/detail?id=bot-20241211162948-5l2kk-procode-preset

查看右边这些服务,你是否都开通了,一个一个点进去开通!

picture.image

二 在MacBook 上部署前后端服务

2.1 代码下载

随便打开一个终端,进入一个合适的文件夹。

picture.image

picture.image

运行 git 命令下载代码。(由于网络问题,可能有的小伙伴在这一步不太顺利...)

git clone ``https://github.com/volcengine/ai-app-lab.git

picture.image

下载成功后,会有一个 ai-app-lab 的目录

picture.image

我们需要进入 这个目录下的文件夹: demohouse/chat2cartoon

picture.image

来到这个目录后,找到一个 .env 文件,⚠️ 这个文件是一个隐藏文件。

可以使用 ls -a 命令查看

picture.image

输入 vim .env 命令编辑该文件

picture.image

刚打开,它是这个样子,我们需要把之前我们得到的KEY 和 ID 放到这个文件里面。

大家耐心一点,拷贝一下

picture.image

别的小伙伴编辑情况举例

picture.image

2.2 配置代码环境

进入backend文件夹

picture.image

配置虚拟环境:

安装 pyenv

  • brew install pyenv

picture.image

安装Python 3.11.10 版本

pyenv install 3.11.10

下图我已经安装,大家安装一下即可

picture.image

安装 pyenv-virtualenv 插件

brew install pyenv-virtualenv

picture.image

先看下你有没有~/.bash_profile 文件,如果没有就创建(如果有,则跳过这步)

Vim ~/.bash_profile

在你的 shell 配置文件 ~/.bash_profile ,添加以下内容

# pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

picture.image

重新加载配置

 source ~/.bash_profile

picture.image

创建并激活虚拟环境 (一定要保证上一步运行,让新增加的工具加入到环境里)

pyenv virtualenv 3.11.10 myenv  
pyenv activate myenv        

picture.image

成功进入虚拟环境可以看到上面 命令行前的 (myenv)

再看一下python 版本:(是我们设置的版本)

picture.image

2.3 安装后端 , 并启动服务

(在创建好的虚拟环境中)

大家的网络不通,需要不同的时间,也有安装失败的情况 ...

然后打开“终端”输入以下命令

每次只复制一行粘贴进入并执行:

  • pip install poetry==1.6.1

部分截图

picture.image

  • poetry install

成功后的部分截图

picture.image

安装 ffmpeg

brew install ffmpeg

picture.image

安装成功后,可以看下版本

 ffmpeg -version

picture.image

(myenv) susirial@susirialdeMacBook-Pro backend % where ffmpeg
/opt/homebrew/bin/ffmpeg <----  我的在这
(myenv) susirial@susirialdeMacBook-Pro backend % 

可以每次运行时,都设置一下

export IMAGEIO_FFMPEG_EXE=/opt/homebrew/bin/ffmpeg

或者保存在shell 里

打开 bash_profile, 在里面增加

export IMAGEIO_FFMPEG_EXE=/opt/homebrew/bin/ffmpeg

vim ~/.bash_profile

picture.image

在执行一下:

source ~/.bash_profile 

启动后端服务器

  • poetry run python index.py

注意⚠️ 不要关闭这个服务窗口

picture.image

2.4 启动前端

新开一个终端窗口,千万不要关闭刚才创建的后端服务 终端窗口。

picture.image

安装组件 (下面的命令一个一个执行)

sudo npm install -g pnpm@8

picture.image

pnpm install

picture.image

拷贝环境配置

cp ../.env ./

picture.image

启动前端服务

pnpm dev

启动成功!

picture.image

三 本地演示

picture.image

picture.image

最后了。。。 请让我来个自我介绍

关于茉卷

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动云原生降本增效实践
本次分享主要介绍字节跳动如何利用云原生技术不断提升资源利用效率,降低基础设施成本;并重点分享字节跳动云原生团队在构建超大规模云原生系统过程中遇到的问题和相关解决方案,以及过程中回馈社区和客户的一系列开源项目和产品。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论