[字幕处理]一种使用AI翻译mkv视频字幕操作流程 飞牛

发布于:2025-08-31 ⋅ 阅读:(16) ⋅ 点赞:(0)

前言

如果你下载了一些国外的电影或电视剧,很多时候是找不到合适的中文字幕文件的.
飞牛OS很多时候也匹配不到,所以你可能会需要自己手动搞一个

在此推荐一下我的工作流程,介绍我是如何快速自动转换的

防盗震楼,本文地址:https://blog.csdn.net/cbaili/article/details/151006818

一. 字幕提取

工具安装

本文介绍MKV视频文件的字幕提取,其他的视频格式自行寻找工具提取

首先下载一个免费神器mkvtoolnix-64-bit-94.0-setup.exe(直接下载)
其他平台/其他/便携版本到这儿找MKVToolNix(官网)

这个工具堪称MKV神器,当然也有便携版本的,安装时勾选GUI工具
下载安装完毕后,为了方便将安装目录设置为环境变量,以我的为例
在环境变量的path中增加C:\Program Files\MKVToolNix

字幕流提取

MKV文件有很多个流(比如视频流啊/音频流啊/字幕流什么的)
你需要找到对应流的位置

  1. 打开刚才安装的mkvtoolnix-gui软件
  2. 把你的视频拖进去
  3. 查看流ID
    在这里插入图片描述ID从0开始,第三行的ID为2,记住这个ID

然后在你的视频目录下,使用cmd

#注意这个2是上面获取的流ID(最好去找英文版本的流)
mkvextract tracks 你的视频文件.mkv 2:输出字幕名.srt

如果顺利,会在你的影片目录下创建一个srt格式的字幕文件

二. 字幕AI翻译

zimuFY
这里推荐一个翻译站zimuFy,虽然付费但是很便宜几毛就可以完成一部影片,实测质量还不错.可按次付费.(虽然有恰饭嫌疑,但这玩意确实好用,经济又实惠)

AI翻译要比调用翻译引擎API来得更人性化,上下文对话衔接很丝滑,语言更加顺畅接地气.而且完整度也很好

在发现这个站以前,我都想要自己接DeepSeek实现一套了,但是有现成的就不搞了,挺麻烦.
戳我去搞个账号 zimuFy,然后选择AI翻译
在这里插入图片描述
然后上传你刚才生成的srt文件,稍等一会儿等待动态解析,然后填选你的字幕参数
在这里插入图片描述

然后点提交订单跟流程走一波,然后稍等个几分钟,在你的后台任务队列里面就能看到这个任务完成了,点击下载即可使用

字幕编辑

如果你发现字幕有些翻译错误或者不尽人意,你可以手动编辑
不论你用记事本还是VSCODE都能打开这个文件,它就是个文本而已.

当然也推荐一个软件叫aegisub(官网)这玩意简直字幕神器
可以逐行编辑,作者信息,整体偏移等等一系列功能,十分专业,而且有官方汉化安装包直下连接
在这里插入图片描述
它可以导入srt文件,不过它保存的格式为ass,是另一种字幕格式.
ass字幕格式好像更高级,可以定义文本样式等一些功能

(我也是刚了解这个软件,不确定是否能导出srt文件,也不了解各种字幕的格式和支持的功能,相关信息请自行查阅)

三. 在飞牛影视上使用

在这里插入图片描述
飞牛影视上要想使用本地字幕,暂只能通过网页端添加,入口比较神秘看我截图
点开你的视频详情页,在右侧这里选择你刚才生成的字幕文件,随后在播放页面里面还需要改选字幕为刚才上传的才能生效.

四.分享字幕

AI查了一下,飞牛的字幕搜刮应该是通过opensubtitles实现的,所以理论上把你的字幕上传到这里,大家就都可以刮削到了

五.自动化

我搞了一个bat脚本,方便你快速导出字幕文件.
在这里插入图片描述

脚本安装

方式1.(省心) 到这下载我打包好的脚本:MKV视频字幕提取器
方式2.(我就要自己整) 新建个文本文档,改后缀为.bat粘贴代码,另存为->更改编码为ANSI或GB18030(不改编码运行会乱码的哦)

使用方法

你可以框选你的视频文件(支持多个)一起拽到这个脚本上,它会在你视频同目录下生成srt字幕文件,如果流不对请修改脚本59行的流ID,具体获取流程参上.

Tips:
你可以将这个脚本复制到C:\Program Files\MKVToolNix里面并添加这个目录的环境变量,下次你就可以在任何地方直接使用命令行的方式调用它了.如"getSrt xxx1.mkv xxx2.mkv"
你可以把刚才这个批处理发送到桌面快捷方式,下次可以拖拽视频到这个快捷方式上自动生成

制作不易,点点关注,一键三连

脚本代码

@echo off
set title_=MKV视频字幕提取器 - V1.0
title %title_%
echo %title_% [Tool By 白梨 20250830]
echo 使用手册:https://blog.csdn.net/cbaili/article/details/151006818
echo -----------------------------------------------------------------------

rem 判断是否安装了mkvextract工具
where mkvextract >nul 2>&1
if errorlevel 1 (
    echo [37;41m ^[错误:未能检测到mkvextract, 请安装后重试^] [0m
    echo [90m 产品官网:https://mkvtoolnix.download/downloads.html#windows[0m
    echo [90m 下载地址:https://mkvtoolnix.download/windows/releases/94.0/mkvtoolnix-64-bit-94.0-setup.exe[0m
    pause
    exit /b
)


rem 获取拖入文件数量
setlocal enabledelayedexpansion
set count=0
set done=0
for %%a in (%*) do ( set /a count+=1 )
echo [30;47m 已传入 %count% 个文件 [0m
rem 如果文件数量=0则弹出输入框,则要求输入mkv文件,否则循环设置inputFile从命令行参数
if %count%==0 (
    :reinput
    set /p inputFile=请拖入一个mkv文件:
    if not exist "%inputFile%" (
        echo [37;41m ^[错误:文件不存在, 请重新输入^] [0m
        goto reinput
    )
) else (
    set inputFile=%1
)




:do
set /a done+=1
echo [30;47m 处理文件^[%done%/%count%^]:  [0m ...^\%~nx1
rem 检查"%inputFile%"后缀是否为mkv 
for %%i in ("%inputFile%") do set ext=%%~xi
if /i "%ext%"==".mkv" (
    rem 文件类型正确
) else (
    rem 检查类型失败,如果count==1则timeout
   if %count%==1 (
       timeout /t 3
   )
)


rem 获取文件名
set filename=%~n1
echo %filename%
cd /d %~dp1
mkvextract tracks %1 2:%filename%.srt

rem 处理完成 继续下一个
if !done! == !count! (
    echo [30;47m 所有文件处理完成  [0m
    timeout /t 5
    exit /b
) else (
    shift
    set inputFile=%1
    goto do
)

peace~


网站公告

今日签到

点亮在社区的每一天
去签到