当前位置: 首页 > news >正文

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

前言

如果你下载了一些国外的电影或电视剧,很多时候是找不到合适的中文字幕文件的.
飞牛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, 请安装后重试^] [0mecho [90m 产品官网:https://mkvtoolnix.download/downloads.html#windows[0mecho [90m 下载地址:https://mkvtoolnix.download/windows/releases/94.0/mkvtoolnix-64-bit-94.0-setup.exe[0mpauseexit /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 (:reinputset /p inputFile=请拖入一个mkv文件:if not exist "%inputFile%" (echo [37;41m ^[错误:文件不存在, 请重新输入^] [0mgoto 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则timeoutif %count%==1 (timeout /t 3)
)rem 获取文件名
set filename=%~n1
echo %filename%
cd /d %~dp1
mkvextract tracks %1 2:%filename%.srtrem 处理完成 继续下一个
if !done! == !count! (echo [30;47m 所有文件处理完成  [0mtimeout /t 5exit /b
) else (shiftset inputFile=%1goto do
)

peace~

http://www.xdnf.cn/news/1397359.html

相关文章:

  • 【Blender】二次元人物制作【一】:二次元角色头部建模
  • Java的Optional实现优雅判空新体验【最佳实践】
  • 【已解决】could not read Username for ‘https://x.x.x‘: No such device or address
  • 算法(③二叉树)
  • leetcode算法刷题的第二十二天
  • DVWA靶场通关笔记-文件包含(Impossible级别)
  • 数据治理进阶——解读数据治理体系基础知识【附全文阅读】
  • 【DreamCamera2】相机应用修改成横屏后常见问题解决方案
  • 用户态网络缓冲区设计
  • MQTT 连接建立与断开流程详解(二)
  • Vue3 + GeoScene 地图点击事件系统设计
  • 学习大模型,还有必要学习机器学习,深度学习和数学吗
  • DAEDAL:动态调整生成长度,让大语言模型推理效率提升30%的新方法
  • Oracle下载安装(学习版)
  • Nacos-3.0.3 适配PostgreSQL数据库
  • 基于Spring Boot小型超市管理系统的设计与实现(代码+数据库+LW)
  • 如何理解 nacos 1.x 版本的长轮询机制
  • 从咒语到意念:编程语言的世纪演进与人机交互的未来
  • Scala 2安装教程(Windows版)
  • Java网络编程与反射
  • SQLSugar 快速入门:从基础到实战查询与使用指南
  • 人工智能学习:Linux相关面试题
  • Golang 面试题「高级」
  • 美团8-30:编程题
  • Java Stream API并行流性能优化实践指南
  • 在线简历生成工具,免费好用
  • FOC开环控制代码解读
  • git在push和clone等操作时显示‘: Invalid argument
  • 50.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--二期功能规划
  • 使用VBA嵌套字典快速统计生产流转信息