利用命令行从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
then
    echo "ffmpeg 未安装,正在安装..."
    sudo apt-get update
    sudo apt-get install -y ffmpeg
else
    echo "ffmpeg 已安装"
fi

# 下载 YouTube 视频
VIDEO_URL=$1
OUTPUT_FILE=$2

if [ -z "$VIDEO_URL" ] || [ -z "$OUTPUT_FILE" ]; then
    echo "用法: $0 <YouTube 视频 URL> <输出文件名>"
    exit 1
fi

echo "下载视频..."
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即可。

### 使用 `yt-dlp` 命令行工具下载 YouTube 视频 对于希望利用命令行下载 YouTube 上的视频资源,可以采用名为 `yt-dlp` 的工具[^1]。此工具不仅继承了原 `youtube-dl` 工具的优点还进行了诸多改进。 #### 单个视频下载实例 当目标是从特定链接获取单一视频文件时,仅需提供该视频对应的 URL 地址作为参数传递给 `yt-dlp` 命令即可完成操作[^2]: ```bash yt-dlp https://www.youtube.com/watch?v=UZW2hs-2OAI ``` #### 设置代理服务器 如果网络环境特殊,则可能需要用到代理服务辅助访问外部网站,在这种情况下可以通过设置相应的选项来配置 HTTP/HTTPS 或者 SOCKS 类型的代理连接方式[^3]: ```bash yt-dlp --proxy socks5://127.0.0.1:1080 https://www.youtube.com/watch?v=NtKJSHW68p4 ``` 上述例子展示了如何通过本地运行的一个 Socks5 代理(监听于 IP 地址为 127.0.0.1 和端口号为 1080 的位置)来进行视频抓取工作。 #### 整个播放列表下载案例 除了单独处理某个影片外,也支持一次性取得整个频道内所有公开发布的多媒体资料集合作品集合,只需将代表系列内容清单页面网址交给程序解析执行便可实现批量保存功能: ```bash yt-dlp --proxy socks5://127.0.0.1:1080 https://www.youtube.com/playlist?list=PLqWr7dyJNgLJ79otw7N9CXQ_AU0Fm04aq ``` 以上就是关于怎样借助命令行界面下的专用软件包——即 `yt-dlp` 实现自动化在线媒体档案转移至个人存储设备上的指南说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值