找回密码
 立即注册
搜索
查看: 2328|回复: 21

[软件] 批量修改ASS字幕样式?

[复制链接]
     
发表于 2021-4-27 12:57 | 显示全部楼层 |阅读模式
本帖最后由 冰箱研会长 于 2021-4-27 13:03 编辑

最近在看老攻壳, 手里的字幕在iPad上用Emby播就1/4个指甲盖大, 实在是伤眼睛...
想自己修改一下, 好像AegiSub也只能 打开文件 -> 样式管理器 -> 导入 -> 保存,
这流程也太令人绝望了, 12个字幕我都嫌烦, 老攻壳快40多份字幕了...
这种情况如果是字幕组会怎么操作呢


我自己的缓兵之计是用pwsh做搜索替换, 但是这个事情感觉像是有 "成熟好用的工具" 的样子啊...


  1. Get-ChildItem *.ass | ForEach-Object {
  2.     $TargetInFo= Select-String -LiteralPath $_.FullName  -Pattern "Style: Default"  -CaseSensitive -NoEmphasis; #获取包含了行号, 文件名在内的查找信息

  3.     $FileContent = Get-Content -LiteralPath $_.FullName; #获取文件内容, 一个以行号为index (0-index)的字符串数组
  4.     foreach ($LineNumber in $TargetInFo.LineNumber){ #考虑到复数查找的情况, 比如不只是Default样式而是所有Style, 对返回的行号数组进行遍历并以此替换内容
  5.         $FileContent[$LineNumber - 1] = "Style: Default,PingFangSC-Regular,100,&H00FFFFFF,&H00FFFFFF,&H00000000,&H80000000,-1,0,0,0,100,100,0,0,1,1,1,2,20,20,30,1";
  6.         Set-Content -LiteralPath $_.FullName -Value $FileContent; #写入
  7.     }
  8. }

复制代码

顺便问一下 *Default和Default有啥区别啊



回复

使用道具 举报

     
发表于 2021-4-27 12:59 来自手机 | 显示全部楼层
记事本直接复制粘贴就行了
回复

使用道具 举报

     
 楼主| 发表于 2021-4-27 13:03 | 显示全部楼层
lawsherman 发表于 2021-4-27 12:59
记事本直接复制粘贴就行了

回复

使用道具 举报

     
发表于 2021-4-27 13:36 | 显示全部楼层
不如换一个可以自由调节外挂字幕字体大小的播放器?
回复

使用道具 举报

     
发表于 2021-4-27 13:40 | 显示全部楼层
ass 字幕文件可以用记事本打开修改

所以

EmEditor 支持在多个文本文件中批量查找替换,楼主想做的这事我以前经常用它来完成

评分

参与人数 1战斗力 +1 收起 理由
冰箱研会长 + 1 思路广

查看全部评分

回复

使用道具 举报

头像被屏蔽
     
发表于 2021-4-27 14:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
 楼主| 发表于 2021-4-27 14:12 | 显示全部楼层
幽远ghofar 发表于 2021-4-27 13:36
不如换一个可以自由调节外挂字幕字体大小的播放器?

emby其实有调节 但是它优先ASS内置的大小...
回复

使用道具 举报

     
 楼主| 发表于 2021-4-27 14:19 | 显示全部楼层
すぴぱら 发表于 2021-4-27 14:01
都能写pwsh,不如写个python批处理

Python写点啥感觉都得import一堆, 心智负担有点重
回复

使用道具 举报

     
发表于 2021-4-27 14:31 来自手机 | 显示全部楼层
完美解码可以在播放器改了另存
回复

使用道具 举报

     
发表于 2021-4-27 14:54 来自手机 | 显示全部楼层
字幕组还要一句一句校对呢,怎么可能烦这个?  简单做字幕我用arctime.
回复

使用道具 举报

     
发表于 2021-4-27 14:55 | 显示全部楼层
我写过个专门修改转换ass、srt的工具,用了好多年了不过没有制作可用于分发的版本,因为似乎大家对这件事不太感兴趣的样子。

言归正传,你可以试试 vscode EmEditor SublimeText 等等这些能批量修改文本的编辑器
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-4-27 15:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-4-27 18:11 来自手机 | 显示全部楼层
你的脚本不都认为ass文件是个文本了吗,为什么会想不到用vscode之类的文本编辑器做批量替换

—— 来自 samsung SM-G9650, Android 10上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

头像被屏蔽
发表于 2021-4-27 18:19 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
 楼主| 发表于 2021-4-27 18:22 | 显示全部楼层
暗铁 发表于 2021-4-27 18:11
你的脚本不都认为ass文件是个文本了吗,为什么会想不到用vscode之类的文本编辑器做批量替换

——  ...

我也...不知道...
就是没想到...
回复

使用道具 举报

     
发表于 2021-4-27 19:07 | 显示全部楼层
总觉得同样的问题曾经看到过。果然没记错
https://bbs.vcb-s.com/forum.php?mod=viewthread&tid=6878

评分

参与人数 1战斗力 +1 收起 理由
冰箱研会长 + 1

查看全部评分

回复

使用道具 举报

     
 楼主| 发表于 2021-4-27 19:41 | 显示全部楼层
若荼泱 发表于 2021-4-27 19:07
总觉得同样的问题曾经看到过。果然没记错
https://bbs.vcb-s.com/forum.php?mod=viewthread&tid=687 ...

I AM NOT ALONE!!!!
回复

使用道具 举报

     
发表于 2021-4-28 09:04 来自手机 | 显示全部楼层
简单点,换播放器,或换一套字幕。想要查找替换,像sublime text这种文本编辑器支持多文件操作
回复

使用道具 举报

     
发表于 2021-4-28 10:09 来自手机 | 显示全部楼层
在ipad上看,,高清资源如果不在大屏幕上看,那还不如直接b站看在线,还有弹幕双份快乐
回复

使用道具 举报

     
发表于 2021-4-28 10:37 | 显示全部楼层
如果是每行单独定义样式的ass,那就就统一转成srt不就行了。

评分

参与人数 1战斗力 +1 收起 理由
冰箱研会长 + 1 也是个好思路

查看全部评分

回复

使用道具 举报

     
发表于 2021-4-28 16:00 来自手机 | 显示全部楼层
本帖最后由 vxzms 于 2021-4-28 16:13 编辑

https://github.com/tp7/Prass py2
移植到py3  https://github.com/DeadSix27/Prass

copy-styles 简单写个bat就能批处理了 比如
@ECHO OFF & CD/D "%~dp0"

set copy_style_ass=a.ass
mkdir old_ass

:start
IF "%~1"=="" GOTO :END

python -m prass copy-styles --from "%copy_style_ass%" --to "%~nx1" -o "%~n1_styled.ass"

move "%~nx1" ".\old_ass"
rename "%~n1_styled.ass" "%~n1.ass"
del "%~n1_styled.ass"

:check
SHIFT /1
GOTO :start

pause
回复

使用道具 举报

     
发表于 2021-4-28 17:43 来自手机 | 显示全部楼层
印象里subtitle edit可以批处理
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-14 21:30 , Processed in 0.079013 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表