PKM-er / media-extended

enhanced media(video/audio) playback for obsidian.md
https://mx.pkmer.net
MIT License
637 stars 54 forks source link

FR:Automatic caption timestamp #339

Closed calmwaves111 closed 6 months ago

calmwaves111 commented 6 months ago

like this brower plugin:https://chromewebstore.google.com/detail/%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9%E5%AD%97%E5%B9%95%E5%88%97%E8%A1%A8/bciglihaegkdhoogebcdblfhppoilclp

bcdax110 commented 6 months ago

这个浏览器插件真不错,我怎么就没想到已经有这种插件了呢。

感觉在ob插件实现这个功能之前可以先手动实现一下

  1. 浏览器插件获取带时间戳的字幕:复制列表(带时间)
  2. 打开regex101的替换功能
  3. 将浏览器插件的时间戳格式用正则替换成ob插件支持的格式

缺点:只有分钟数和秒数,不会计算小时数,比如1:15:03的字幕,这么处理后只能是75:03

calmwaves111 commented 6 months ago

这个浏览器插件真不错,我怎么就没想到已经有这种插件了呢。

感觉在ob插件实现这个功能之前可以先手动实现一下

  1. 浏览器插件获取带时间戳的字幕:复制列表(带时间)
  2. 打开regex101的替换功能
  3. 将浏览器插件的时间戳格式用正则替换成ob插件支持的格式
  • 查找规则:(\d+):(\d+) (.+)
  • 替换规则:

    • 分p视频:- [$1:$2](https://www.bilibili.com/video/BV此处替换为对应的BV号?p=此处替换为对应的分p数&t=$1:$2#t=$1:$2) $3
    • 没有分p的视频(没试,仅供参考):- [$1:$2](https://www.bilibili.com/video/BV此处替换为对应的BV号?t=$1:$2#t=$1:$2) $3

缺点:只有分钟数和秒数,不会计算小时数,比如1:15:03的字幕,这么处理后只能是75:03

这个太手动了哈哈哈哈,还不如我就左边开浏览器右边开ob,也不是非得在ob里看视频是不是😂

aidenlx commented 6 months ago

功能预告 doge CleanShot 2024-04-24 at 17 17 48@2x

calmwaves111 commented 6 months ago

那再补充一个,对于本地视频生成字幕,可以用 https://github.com/HaujetZhao/CapsWriter-Offline 暂时不懂怎么批量,但本身就是命令行工具,或许写个bat脚本能实现 生成的是srt字幕,暂时不懂srt和vtt等的区别

bcdax110 commented 6 months ago

感觉离线字幕生成也可以用Whisper、FastWhisper系列模型,不过感觉对于老机子不是完全友好,用GTX 1060用large-v3的处理速度直观感受都差不多和把视频放一边差不了特别多了:(

aidenlx commented 6 months ago

3.2.0已发布,支持直接打开字幕文件了,可以搜索,另外也可以从油管和b站下载字幕到本地

https://github.com/PKM-er/media-extended/assets/31102694/6cdca4e8-6495-40b7-b666-fa9f87c5580c

bcdax110 commented 6 months ago

我有点没有搞明白这个功能怎么用,好像从时间戳/链接打开的视频就不会显示字幕选择按钮,用命令打开的视频好像就会显示字幕选择按钮,从下面的字幕按钮选择之后似乎也什么都没有发生,没有看到字幕也没有看到脚本窗口,不过从右上角三个点选择倒是有反应

calmwaves111 commented 6 months ago

我现在有个离谱的问题,我在沙箱库里,字幕是有播放按钮的,但是我自己用的库里没有播放按钮 同一个视频,我把自己库里的插件和主题都关了还是没有,所以还没排查出问题

image

以及不论在沙箱库还是自己库,在视频上点击进度条跳转,字幕无法像演示视频里那样的自动滑动到对应部分

bcdax110 commented 6 months ago

我有点没有搞明白这个功能怎么用,好像从时间戳/链接打开的视频就不会显示字幕选择按钮,用命令打开的视频好像就会显示字幕选择按钮,从下面的字幕按钮选择之后似乎也什么都没有发生,没有看到字幕也没有看到脚本窗口,不过从右上角三个点选择倒是有反应

我发现这个按钮出现规律了,因为在命令里面打开视频是直接在tab里面打开,在不开新窗口的情况下都是可以正常出现的;而我设置的链接默认行为是New Window,在New Window模式里面就不会出现对应的按钮,已经提了新的issue(#359)