mp4文件加入字幕显示

众所周知,MKVToolNix可以为mkv文件加入多种字幕,但到了mp4,内嵌字幕会变的比较麻烦。起因是从Youtube下载了一部MV,由于音视频和字幕是分开下载的,而且下载的是AV1编码,就想着不要重新打包mkv,而是直接在mp4中嵌入字幕。

首先说原理,PotPlayer是可以识别到Codec ID为tx3g标签的字幕,tx3g是用于3GPP/MPEG时期的带有时间标记的文本,我们要利用这个特性,让字幕显示为tx3g,这样一般的播放器就都可以识别了。实现起来比较简单的方式就是使srt或者ttxt(GPAC Timed Text XML)会通过MP4Box直接显示为tx3g

先将下载的字幕(我下载到的是webvtt格式)转换为srt,webvtt转换为srt比较简单,没有工具的情况下,作为文本文件打开,把标记WEBVTT文件头删掉就可以了。

然后通过下面的代码直接mux即可:

»

利用MP4Box解出tx3g格式字幕

首先说明的是,MKVToolNix无法加载tx3g格式的字幕,这种字幕一般封装在mp4文件中,以网上下载的居多。另外用BBDown下载的bilibili视频如果带字幕的话,也是这种格式。

以某集电视剧为例,文件名:IRIS.S02E01.2013.WEB-DL.1080p.H265.AAC-Xiaomi.mp4

首先需要了解字幕文件所在的轨道号:

»

Cloudreve迁移到MySQL

环境 & 起因

  • 系统:Debian 10
  • 硬件:1 vCPU 512MB
  • Cloudreve软件版本:3.3.2 with SQLite

随着文件数的增加,SQLite速度和稳定性都差一些,而且数据库文件越来越大,虽然网盘就我一个人在用,崩了可以重新装,但还是秉着一劳永逸的原则,开始了迁移工作。

»

自编译基于Python的钉钉内网穿透(ngrok)

源代码来自于hauntek/python-ngrok,自己又从dingtalk/ngrok中提取了源码进行比对,然后用pyinstaller编译而来。

用起来还是相当稳定的,虽然似乎只能穿透http,但是能穿透一个群晖的DSM就足够了,建议应急的时候用一下。

下载地址:https://github.com/heartnn/dingtalk-ngrok/releases/latest,包含Windows和Linux的版本。

更新日志: 20220407:修复在群晖下的依赖问题

»

woff2转换工具

最近在研究使用Jellyfin,由于字幕的问题需要备用的woff2字体,网上的字体都不是很完整的,所以想自己转换一些使用。这个工具是从Google的代码编译而来,是用Cygwin msys编译的,Windows下可以使用。

下载后打开,其中包括woff2_compress.exewoff2_decompress.exe,使用方法很简单:

woff2_compress myfont.ttf
woff2_decompress myfont.woff2

转换成woff2时,输入文件可以是ttf和otf,但ttc是不行的,需要将ttc转换成ttf使用。

  • 20250305:更新使用msys编译。
»

2019 再次比较几款主流的笔记软件

因为以前有过一篇比较几款主流的笔记软件的文章,这次只说说到了 2019 年末,几种软件的缺点,有的尚在接受范围之内,有的就无法接受了。

1. 印象笔记

  • 还是只有PC端可以创建编辑 Markdown,且 Markdown 不再支持插入 HTML 代码,据说是会造成保存失败,所以就把插入 HTML 代码的功能给屏蔽了。
  • Markdown 公式渲染速度较差。
  • 增加的都是一些不疼不痒的功能。

2. 有道云笔记

发现新的优点,以前没有注意到的,就是上传的例如 PDF 文档,可以直接生成一个 note,且在手机端都可以直接预览,这是比较方便的。

比较致命的问题,就是 Makrdown 不支持内链的引用,这点远不如为知笔记。不过可以分享后,把链接插入文章里,但基本不能接受。

3. 为知笔记

原地踏步。

总结

追求功能的选为知笔记(Markdown 最好装上那个 editor.md 插件),不考虑价格直接上有道云,老用户不愿意折腾的停留在印象笔记也不是不可以,但有道云是可以导入印象笔记。

使用有道云,请尽量使用 Markdown 格式,这样以后可以直接导出 Markdown 文本,普通格式则会导出为 PDF 文档。

»

Author image heartnn on #note

MP4封装工具箱发布

之前写过一个aac转m4a的工具,里面用到的程序是mp4box,这次就干脆把常用的功能整合一下,重新搞了一个,用的是ffmpeg了。

简单说一下几个批处理文件的功能。

  1. aac封装m4a.bat:就是重新写的ffmpeg版本,现在版本迭代很快,兼容性应该没什么问题了。
  2. flv转mp4.bat:这个就是网上流传的一键封装为mp4的批处理,加上了blv格式(为哔哩哔哩手机缓存,其实改后缀就是flv)。
  3. mp4抽取音频.bat:有些时候只需要听音频的时候用,提取为m4a格式。
  4. YouTube音视频合并(mp4+m4a).bat:YouTube现在的1080p以上视频和音频是分开的,这个批处理的作用就是将它们合并为mp4。

以上前3位需要拖放对应文件到批处理上,最后一个双击运行,按提示操作。

尤其是YouTube,以前都是用MKVToolNix先合并成mkv,然后再用Total Video Converter选视频和音频编码copy,才变成的mp4,为什么以前没直接搞成批处理。。。

»

FLV合并的批处理办法

过年的时候冲了B站大会员,在使用Bilibili Evolved下载番剧时发现,有时下载来的是个zip文件,里面是分段的flv,虽然手头有MKVToolNix可以合并,但flv转mkv再转mp4实在是麻烦,又不想下载其它的工具,心想是不是可以使用ffmpeg的命令行搞定,于是有了下面的代码:

(for %%i in (*.flv) do @echo file '%%i') > list.txt
ffmpeg.exe -f concat -safe 0 -i list.txt -c copy output.flv
ffmpeg.exe -i output.flv -vcodec copy -acodec copy output.mp4
pause
del *.flv
del list.txt

使用方法:

»