前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自媒体创作利器:混剪如何快速找到对应画面?(多套方案)

自媒体创作利器:混剪如何快速找到对应画面?(多套方案)

作者头像
AirPython
发布2023-12-14 09:05:40
1820
发布2023-12-14 09:05:40
举报
文章被收录于专栏:Python 自动化Python 自动化
大家好,我是安果!

对于从事影视剪辑的同学来说,能快速通过一个画面找到原片中出现的位置,将大大提升视频剪辑的效率

本篇文章将聊聊常见可行的方案

1、以图搜索

我们对影视画面进行截图后,直接将图片上传到下面这些网站,网站会返回截图相关的结果(比如:片名、演员名、位于第几集等)

PS:针对国内影片,建议使用国内搜索引擎

百度识图:

https://graph.baidu.com/pcpage/index?tpl_from=pc

搜狗识图:

https://pic.sogou.com/

360 搜图:

https://image.so.com/

Google 搜图:

https://www.google.com/imghp?hl=zh-CN&authuser=0&ogbl

Yandex 搜图:

https://yandex.com/images

当然也可以直接安装 Chrome 插件 search-by-image,它支持图片右键直接搜索

https://chromewebstore.google.com/detail/search-by-image/cnojnbdhbhnkbcieeekonklommdnndci?hl=zh-CN&utm_source=ext_sidebar

2、台词

可以使用下面网站,通过台词或描述内容进行检索

33 搜帧:

https://fse.agilestudio.cn/

33 台词:

https://33.agilestudio.cn/

找台词:

https://zhaotaici.cn/

3、视频/音频转文字(Whisper)

Whisper 是用于自动语音识别的预训练模型,它同样出自于 OpenAI,支持中文,模型的准确性和稳健性接近人类

Whisper 可以通过在线和离线使用

在线可以参考下面链接

https://platform.openai.com/docs/guides/speech-to-text

下面介绍一下离线使用方案

PS:离线使用对本地显卡有一定要求,具体可以参考官网

首先,在本地安装 ffmpeg

https://ffmpeg.org/

然后安装依赖包

代码语言:javascript
复制
# 安装依赖
# 注意:python版本必须3.8以上
pip3 install openai-whisper

接着加载模型后,传入本地音频或视频文件后,一段时间后就能返回模型分析后的结果

PS:如果本地不包含模型,会在线下载对应模型

代码语言:javascript
复制
import whisper
import time

def get_content():
    # 加载模型
    whisper_model = whisper.load_model("large")
    # result = whisper_model.transcribe(r"./temp.WAV")
    # print(", ".join([i["text"] for i in result["segments"] if i is not None]))

    result = whisper_model.transcribe(r"./01.mp4")
    print(result)

if __name__ == '__main__':
    get_content()

4、Whisper.cpp

Whisper 对硬件要求很高,拿一段长视频实际体验下来,发现效率极低

这里推荐 Whisper.cpp 这个项目,它提供了 GUI 和 CLI 两种使用方式

项目地址:

https://github.com/Const-me/Whisper

在 Releases 下载页面,我们下载最新版本 cli.zip 文件并解压到本地

然后,在下面链接下载一个模型到本地

https://huggingface.co/ggerganov/whisper.cpp/tree/main

这样我们通过命令就可以将视频或音频转为文字了

代码语言:javascript
复制
# 模型:ggml-medium.bin
# 音频转文字(中文)
main.exe -l zh -otxt -m ggml-medium.bin "temp.WAV" --prompt "简体中文

# 视频转文字(中文)
main.exe -l zh -otxt -m ggml-medium.bin "temp.mp4" --prompt "简体中文

当然为了提升效率,也可以编写脚本后,配置 alias 变量快速使用

注意:为了保证最后生成的文字为简体中文,这里通过参数 --prompt 指定为简体中文

代码语言:javascript
复制
import os
import fnmatch, shutil

# 使用whisper.cpp项目将当前目录下【所有视频语音】转为文字

# 获取当前目录下所有的视频文件
def find_video_files(path):
    video_extensions = ['*.mp4', '*.mkv', '*.avi', '*.flv', '*.mov']
    video_files = []

    for root, dirs, files in os.walk(path):
        for extension in video_extensions:
            for filename in fnmatch.filter(files, extension):
                video_files.append(os.path.join(root, filename))

    return video_files


# 1、获取所有视频文件
current_directory = os.getcwd()
video_files = find_video_files(current_directory)

# 2、遍历,将视频语音使用whisper转为中文
for video_file in video_files:
    # 转换命令
    command = f'D:\\ai\\cli\\main.exe -l zh -otxt -m D:\\ai\\ggml-medium.bin -f {video_file} --prompt "简体中文"'
    os.system(command)

以 windows 添加 alias 为例

编辑 Microsoft.PowerShell_profile.ps1 文件,以函数的形式添加一个 alias,然后重启 PowerShell 即可

代码语言:javascript
复制
# SP文件目录:C:\Users\wnn\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Function zzm(){
    python D:\\ai\\main.py
}

5、其他方案

除了上面这些方案,我们也可以将原片提前上传到飞书妙记或阿里的通义听悟,提前生成台词及关联关系;然后通过台词检索寻找对应画面

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AirPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档