今天,从网络流媒体上下载字幕,并把它翻译成各种语言是一个非常常规的操作。
我创建了一个工作流程。可以根着这个工作流程,从网上先下载影片,然后转出字幕,最后再做翻译。
(1), 如何下载字幕?
在这里我们使用yt-dlp工具下载字幕和youtube视频:
你可以直接一次性的运行这个.sh文件,也可以一行一行的自己去执行。
bash
#!/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即可。