利用命令行从youtube下载影片,并用huggingface的大语言模型翻译成中文

本文主要是介绍利用命令行从youtube下载影片,并用huggingface的大语言模型翻译成中文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天,从网络流媒体上下载字幕,并把它翻译成各种语言是一个非常常规的操作。

我创建了一个工作流程。可以根着这个工作流程,从网上先下载影片,然后转出字幕,最后再做翻译。

https://github.com/victorspaceRMW/download-Youtube-with-yt-dlp-and-translate-with-HuggingFace-s-whisper-model/tree/main

(1), 如何下载字幕?
在这里我们使用yt-dlp工具下载字幕和youtube视频:

https://wiki.archlinux.org/title/Yt-dlp#:~:text=To%20get%20a%20list%20of%20the%20available%20formats%3A,%28requires%20FFmpeg%29%3A%20%24%20yt-dlp%20-x%20-f%20bestaudio%20URL

你可以直接一次性的运行这个.sh文件,也可以一行一行的自己去执行。

#!/bin/bash# 安装 yt-dlp
echo "安装 yt-dlp..."
pip install yt-dlp# 安装 ffmpeg
echo "安装 ffmpeg..."
if ! command -v ffmpeg &> /dev/null
thenecho "ffmpeg 未安装,正在安装..."sudo apt-get updatesudo apt-get install -y ffmpeg
elseecho "ffmpeg 已安装"
fi# 下载 YouTube 视频
VIDEO_URL=$1
OUTPUT_FILE=$2if [ -z "$VIDEO_URL" ] || [ -z "$OUTPUT_FILE" ]; thenecho "用法: $0 <YouTube 视频 URL> <输出文件名>"exit 1
fiecho "下载视频..."
yt-dlp -f bestvideo+bestaudio "$VIDEO_URL" -o "$OUTPUT_FILE"echo "下载完成: $OUTPUT_FILE"

(2). 我写了两个脚本:
第一个是用于从 yt-dlp 下载好的文件里面提取出字幕的。也就是extract document.py。
请参考该文件。里面有非常详细的注释。

第二个是利用hugging上的大模型来进行中英互译。
需要提前pip install transformer!

其他的参考translator.py即可。

这篇关于利用命令行从youtube下载影片,并用huggingface的大语言模型翻译成中文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093068

相关文章

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi