Genteure
Genteure
@ysc3839 看你描述感觉应该是 [Memory-mapped files](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files),我感觉不太适合用来实现这个功能? @821938089 可以试一下 1.3 ,以前是每个 Tag 写一次,现在是每个 GOP 写一次,如果 1.3 录出来的硬盘碎片数量比之前版本的少,就说明自己实现缓存、定期一次性写入的思路是可行的。
目前 1.3.x 的标准录制模式是每个 GOP 写入一次硬盘,每个 GOP 根据推流侧的设置一般在 1 秒到 10 秒左右,大小大约 0.12 到 12 Mibytes,和单独设置个内存缓存有点类似。 不过目前还是多次调用 `file.Write(...)` 写入的,不知道会不会有什么影响。具体还是得靠实际测试来决定。 如果测试的话, @lindexi 上面提出的 `file.SetLength` 也应该试一下,我后来又研究了一下, _好像_ 是有效的? 如果有人有时间有兴趣的话能帮忙测试一下就最好了( 在测试得出结论之后,目前的项目代码结构要实现一个缓存层相对还是比较轻松的。
之前有了解过,没有使用的主要原因有: - 对 CJK 字符以及输入法的支持还不太完善 - 几个版本之前我运行Demo测试时很容易崩溃 - 如果在 Windows 上使用,编译输出的文件大小有点太大了 - 如果在 Linux 上使用,API + Web UI 的方案更合理一些 我不是很了解有多少人有在 Mac 上使用的需求,我也没有 Mac 设备
现在已经有 API + WebUI 了,就不考虑用 AvaloniaUI 了
过一阵子打算修改文件名模板的实现方法,会添加本次录制开始时间和文件编号两个变量
打算做这个功能,但没想好这个功能具体要怎么实现比较合理,你们有什么想法吗? 放一个日期时间输入框?两个时间输入框?只录制选定时间范围内的直播? 这样是不是就会导致每天都要修改一次设置? 这个时间范围的设置项和现有的“自动录制”之间的交互应该是什么样的?
@cafrew 基本的设计思路就是有三种状态对吧: - 可以录制 - 不开始录制 - 停止录制
调用命令不太好传参数,而且目前有 webhook 功能了,可以直接用 webhook 来实现。 可以用 nodejs / python 之类的写个脚本,侦听一下 127.0.0.1,然后接收到 HTTP POST 的时候执行命令。 或者不想手写代码的话可以用 node-red 或者 n8n.io 这种项目。
@retroxz `ffmpeg -i input.flv -c copy out.mp4`
@Heporis 如果你是问录播姬会不会对分辨率变动的文件进行分割的话,是会的。直接工具箱修复就OK。 你说的问题和这个 issue 没有关系啊,有问题的话建议开新 issue。