Rebranding (#504)

* Rebranding

* rebranding fixups
This commit is contained in:
Genteure 2023-07-12 00:55:47 +08:00 committed by GitHub
parent b5e6bec0ea
commit 58bebb2eb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 69 additions and 69 deletions

View File

@ -384,7 +384,7 @@ namespace BililiveRecorder.Cli
{ {
using var key = RSA.Create(); using var key = RSA.Create();
var req = new CertificateRequest("CN=B站录播姬", key, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); var req = new CertificateRequest("CN=mikufans录播姬", key, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
var subjectAltName = new SubjectAlternativeNameBuilder(); var subjectAltName = new SubjectAlternativeNameBuilder();
subjectAltName.AddDnsName("BililiveRecorder"); subjectAltName.AddDnsName("BililiveRecorder");

View File

@ -163,7 +163,7 @@ namespace BililiveRecorder.Core.Config.V3
public uint TimingCheckInterval => this.GetPropertyValue<uint>(); public uint TimingCheckInterval => this.GetPropertyValue<uint>();
/// <summary> /// <summary>
/// 请求B站API超时时间 毫秒 /// 请求mikufansAPI超时时间 毫秒
/// </summary> /// </summary>
public uint TimingApiTimeout => this.GetPropertyValue<uint>(); public uint TimingApiTimeout => this.GetPropertyValue<uint>();
@ -388,7 +388,7 @@ namespace BililiveRecorder.Core.Config.V3
public Optional<uint> OptionalTimingCheckInterval { get => this.GetPropertyValueOptional<uint>(nameof(this.TimingCheckInterval)); set => this.SetPropertyValueOptional(value, nameof(this.TimingCheckInterval)); } public Optional<uint> OptionalTimingCheckInterval { get => this.GetPropertyValueOptional<uint>(nameof(this.TimingCheckInterval)); set => this.SetPropertyValueOptional(value, nameof(this.TimingCheckInterval)); }
/// <summary> /// <summary>
/// 请求B站API超时时间 毫秒 /// 请求mikufansAPI超时时间 毫秒
/// </summary> /// </summary>
public uint TimingApiTimeout { get => this.GetPropertyValue<uint>(); set => this.SetPropertyValue(value); } public uint TimingApiTimeout { get => this.GetPropertyValue<uint>(); set => this.SetPropertyValue(value); }
public bool HasTimingApiTimeout { get => this.GetPropertyHasValue(nameof(this.TimingApiTimeout)); set => this.SetPropertyHasValue<uint>(value, nameof(this.TimingApiTimeout)); } public bool HasTimingApiTimeout { get => this.GetPropertyHasValue(nameof(this.TimingApiTimeout)); set => this.SetPropertyHasValue<uint>(value, nameof(this.TimingApiTimeout)); }

View File

@ -222,7 +222,7 @@ namespace BililiveRecorder.Core.Danmaku
writer.WriteStartDocument(); writer.WriteStartDocument();
writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"#s\""); writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"#s\"");
writer.WriteStartElement("i"); writer.WriteStartElement("i");
writer.WriteComment("\nB站录播姬 " + GitVersionInformation.InformationalVersion + "\nhttps://rec.danmuji.org/user/danmaku/\n本文件的弹幕信息兼容B站主站视频弹幕XML格式\n本XML自带样式可以在浏览器里打开推荐使用Chrome\n\nsc 为SuperChat\ngift为礼物\nguard为上船\n\nattribute \"raw\" 为原始数据\n"); writer.WriteComment("\nmikufans录播姬 " + GitVersionInformation.InformationalVersion + "\nhttps://rec.danmuji.org/user/danmaku/\n本文件的弹幕信息兼容mikufans主站视频弹幕XML格式\n本XML自带样式可以在浏览器里打开推荐使用Chrome\n\nsc 为SuperChat\ngift为礼物\nguard为上船\n\nattribute \"raw\" 为原始数据\n");
writer.WriteElementString("chatserver", "chat.bilibili.com"); writer.WriteElementString("chatserver", "chat.bilibili.com");
writer.WriteElementString("chatid", "0"); writer.WriteElementString("chatid", "0");
writer.WriteElementString("mission", "0"); writer.WriteElementString("mission", "0");
@ -246,7 +246,7 @@ namespace BililiveRecorder.Core.Danmaku
writer.WriteEndElement(); writer.WriteEndElement();
// see BililiveRecorder.ToolBox\Tool\DanmakuMerger\DanmakuMergerHandler.cs // see BililiveRecorder.ToolBox\Tool\DanmakuMerger\DanmakuMergerHandler.cs
const string style = @"<z:stylesheet version=""1.0"" id=""s"" xml:id=""s"" xmlns:z=""http://www.w3.org/1999/XSL/Transform""><z:output method=""html""/><z:template match=""/""><html><meta name=""viewport"" content=""width=device-width""/><title>B站录播姬弹幕文件 - <z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></title><style>body{margin:0}h1,h2,p,table{margin-left:5px}table{border-spacing:0}td,th{border:1px solid grey;padding:1px}th{position:sticky;top:0;background:#4098de}tr:hover{background:#d9f4ff}div{overflow:auto;max-height:80vh;max-width:100vw;width:fit-content}</style><h1><a href=""https://rec.danmuji.org"">B站录播姬</a>弹幕XML文件</h1><p>本文件不支持在 IE 浏览器里预览,请使用 Chrome Firefox Edge 等浏览器。</p><p>文件用法参考文档 <a href=""https://rec.danmuji.org/user/danmaku/"">https://rec.danmuji.org/user/danmaku/</a></p><table><tr><td>录播姬版本</td><td><z:value-of select=""/i/BililiveRecorder/@version""/></td></tr><tr><td>房间号</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@roomid""/></td></tr><tr><td>主播名</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></td></tr><tr><td>录制开始时间</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@start_time""/></td></tr><tr><td><a href=""#d"">弹幕</a></td><td>共<z:value-of select=""count(/i/d)""/>条记录</td></tr><tr><td><a href=""#guard"">上船</a></td><td>共<z:value-of select=""count(/i/guard)""/>条记录</td></tr><tr><td><a href=""#sc"">SC</a></td><td>共<z:value-of select=""count(/i/sc)""/>条记录</td></tr><tr><td><a href=""#gift"">礼物</a></td><td>共<z:value-of select=""count(/i/gift)""/>条记录</td></tr></table><h2 id=""d"">弹幕</h2><div id=""dm""><table><tr><th>用户名</th><th>出现时间</th><th>用户ID</th><th>弹幕</th><th>参数</th></tr><z:for-each select=""/i/d""><tr><td><z:value-of select=""@user""/></td><td></td><td></td><td><z:value-of select="".""/></td><td><z:value-of select=""@p""/></td></tr></z:for-each></table></div><script>Array.from(document.querySelectorAll('#dm tr')).slice(1).map(t=>t.querySelectorAll('td')).forEach(t=>{let p=t[4].textContent.split(','),a=p[0];t[1].textContent=`${(Math.floor(a/60/60)+'').padStart(2,0)}:${(Math.floor(a/60%60)+'').padStart(2,0)}:${(a%60).toFixed(3).padStart(6,0)}`;t[2].innerHTML=`&lt;a target=_blank rel=""nofollow noreferrer"" href=""https://space.bilibili.com/${p[6]}""&gt;${p[6]}&lt;/a&gt;`})</script><h2 id=""guard"">舰长购买</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>舰长等级</th><th>购买数量</th><th>出现时间</th></tr><z:for-each select=""/i/guard""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@level""/></td><td><z:value-of select=""@count""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""sc"">SuperChat 醒目留言</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>内容</th><th>显示时长</th><th>价格</th><th>出现时间</th></tr><z:for-each select=""/i/sc""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select="".""/></td><td><z:value-of select=""@time""/></td><td><z:value-of select=""@price""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""gift"">礼物</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>礼物名</th><th>礼物数量</th><th>出现时间</th></tr><z:for-each select=""/i/gift""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@giftname""/></td><td><z:value-of select=""@giftcount""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div></html></z:template></z:stylesheet>"; const string style = @"<z:stylesheet version=""1.0"" id=""s"" xml:id=""s"" xmlns:z=""http://www.w3.org/1999/XSL/Transform""><z:output method=""html""/><z:template match=""/""><html><meta name=""viewport"" content=""width=device-width""/><title>mikufans录播姬弹幕文件 - <z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></title><style>body{margin:0}h1,h2,p,table{margin-left:5px}table{border-spacing:0}td,th{border:1px solid grey;padding:1px}th{position:sticky;top:0;background:#4098de}tr:hover{background:#d9f4ff}div{overflow:auto;max-height:80vh;max-width:100vw;width:fit-content}</style><h1><a href=""https://rec.danmuji.org"">mikufans录播姬</a>弹幕XML文件</h1><p>本文件不支持在 IE 浏览器里预览,请使用 Chrome Firefox Edge 等浏览器。</p><p>文件用法参考文档 <a href=""https://rec.danmuji.org/user/danmaku/"">https://rec.danmuji.org/user/danmaku/</a></p><table><tr><td>录播姬版本</td><td><z:value-of select=""/i/BililiveRecorder/@version""/></td></tr><tr><td>房间号</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@roomid""/></td></tr><tr><td>主播名</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></td></tr><tr><td>录制开始时间</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@start_time""/></td></tr><tr><td><a href=""#d"">弹幕</a></td><td>共<z:value-of select=""count(/i/d)""/>条记录</td></tr><tr><td><a href=""#guard"">上船</a></td><td>共<z:value-of select=""count(/i/guard)""/>条记录</td></tr><tr><td><a href=""#sc"">SC</a></td><td>共<z:value-of select=""count(/i/sc)""/>条记录</td></tr><tr><td><a href=""#gift"">礼物</a></td><td>共<z:value-of select=""count(/i/gift)""/>条记录</td></tr></table><h2 id=""d"">弹幕</h2><div id=""dm""><table><tr><th>用户名</th><th>出现时间</th><th>用户ID</th><th>弹幕</th><th>参数</th></tr><z:for-each select=""/i/d""><tr><td><z:value-of select=""@user""/></td><td></td><td></td><td><z:value-of select="".""/></td><td><z:value-of select=""@p""/></td></tr></z:for-each></table></div><script>Array.from(document.querySelectorAll('#dm tr')).slice(1).map(t=>t.querySelectorAll('td')).forEach(t=>{let p=t[4].textContent.split(','),a=p[0];t[1].textContent=`${(Math.floor(a/60/60)+'').padStart(2,0)}:${(Math.floor(a/60%60)+'').padStart(2,0)}:${(a%60).toFixed(3).padStart(6,0)}`;t[2].innerHTML=`&lt;a target=_blank rel=""nofollow noreferrer"" href=""https://space.bilibili.com/${p[6]}""&gt;${p[6]}&lt;/a&gt;`})</script><h2 id=""guard"">舰长购买</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>舰长等级</th><th>购买数量</th><th>出现时间</th></tr><z:for-each select=""/i/guard""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@level""/></td><td><z:value-of select=""@count""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""sc"">SuperChat 醒目留言</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>内容</th><th>显示时长</th><th>价格</th><th>出现时间</th></tr><z:for-each select=""/i/sc""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select="".""/></td><td><z:value-of select=""@time""/></td><td><z:value-of select=""@price""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""gift"">礼物</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>礼物名</th><th>礼物数量</th><th>出现时间</th></tr><z:for-each select=""/i/gift""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@giftname""/></td><td><z:value-of select=""@giftcount""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div></html></z:template></z:stylesheet>";
writer.WriteStartElement("BililiveRecorderXmlStyle"); writer.WriteStartElement("BililiveRecorderXmlStyle");
writer.WriteRaw(style); writer.WriteRaw(style);

View File

@ -238,7 +238,7 @@ namespace BililiveRecorder.Core.Recording
value["Title"] = (ScriptDataString)this.room.Title; value["Title"] = (ScriptDataString)this.room.Title;
value["Artist"] = (ScriptDataString)$"{this.room.Name} ({this.room.RoomConfig.RoomId})"; value["Artist"] = (ScriptDataString)$"{this.room.Name} ({this.room.RoomConfig.RoomId})";
value["Comment"] = (ScriptDataString) value["Comment"] = (ScriptDataString)
($"B站直播间 {this.room.RoomConfig.RoomId} 的直播录像\n" + ($"mikufans直播间 {this.room.RoomConfig.RoomId} 的直播录像\n" +
$"主播名: {this.room.Name}\n" + $"主播名: {this.room.Name}\n" +
$"直播标题: {this.room.Title}\n" + $"直播标题: {this.room.Title}\n" +
$"直播分区: {this.room.AreaNameParent}·{this.room.AreaNameChild}\n" + $"直播分区: {this.room.AreaNameParent}·{this.room.AreaNameChild}\n" +
@ -246,11 +246,11 @@ namespace BililiveRecorder.Core.Recording
$"直播服务器:\n" + $"直播服务器:\n" +
$"{this.streamHostFull}\n" + $"{this.streamHostFull}\n" +
$"\n" + $"\n" +
$"使用 B站录播姬 录制 https://rec.danmuji.org\n" + $"使用 mikufans录播姬 录制 https://rec.danmuji.org\n" +
$"录播姬版本: {GitVersionInformation.FullSemVer}"); $"录播姬版本: {GitVersionInformation.FullSemVer}");
value["BililiveRecorder"] = new ScriptDataEcmaArray value["BililiveRecorder"] = new ScriptDataEcmaArray
{ {
["RecordedBy"] = (ScriptDataString)"BililiveRecorder B站录播姬", ["RecordedBy"] = (ScriptDataString)"BililiveRecorder mikufans录播姬",
["RecordedFrom"] = (ScriptDataString)(this.streamHost ?? string.Empty), ["RecordedFrom"] = (ScriptDataString)(this.streamHost ?? string.Empty),
["StreamServers"] = (ScriptDataString)(this.streamHostFull ?? string.Empty), ["StreamServers"] = (ScriptDataString)(this.streamHostFull ?? string.Empty),
["RecorderVersion"] = (ScriptDataString)GitVersionInformation.InformationalVersion, ["RecorderVersion"] = (ScriptDataString)GitVersionInformation.InformationalVersion,

View File

@ -113,7 +113,7 @@ namespace BililiveRecorder.Flv.Writer
this.textFile = new StreamWriter(this.targetProvider.CreateAccompanyingTextLogStream(), Encoding.UTF8); this.textFile = new StreamWriter(this.targetProvider.CreateAccompanyingTextLogStream(), Encoding.UTF8);
await this.textFile.WriteLineAsync("此文件内记录了对应的视频文件中可能存在的问题").ConfigureAwait(false); await this.textFile.WriteLineAsync("此文件内记录了对应的视频文件中可能存在的问题").ConfigureAwait(false);
await this.textFile.WriteAsync("B站录播姬 ").ConfigureAwait(false); await this.textFile.WriteAsync("mikufans录播姬 ").ConfigureAwait(false);
await this.textFile.WriteLineAsync(GitVersionInformation.FullSemVer).ConfigureAwait(false); await this.textFile.WriteLineAsync(GitVersionInformation.FullSemVer).ConfigureAwait(false);
await this.textFile.WriteLineAsync().ConfigureAwait(false); await this.textFile.WriteLineAsync().ConfigureAwait(false);
} }

View File

@ -132,7 +132,7 @@ namespace BililiveRecorder.ToolBox.Tool.DanmakuMerger
writer.WriteStartDocument(); writer.WriteStartDocument();
writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"#s\""); writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"#s\"");
writer.WriteStartElement("i"); writer.WriteStartElement("i");
writer.WriteComment("\nB站录播姬 " + GitVersionInformation.InformationalVersion + " 使用工具箱合并\nhttps://rec.danmuji.org/user/danmaku/\n本文件的弹幕信息兼容B站主站视频弹幕XML格式\n本XML自带样式可以在浏览器里打开推荐使用Chrome\n\nsc 为SuperChat\ngift为礼物\nguard为上船\n\nattribute \"raw\" 为原始数据\n"); writer.WriteComment("\nmikufans录播姬 " + GitVersionInformation.InformationalVersion + " 使用工具箱合并\nhttps://rec.danmuji.org/user/danmaku/\n本文件的弹幕信息兼容mikufans主站视频弹幕XML格式\n本XML自带样式可以在浏览器里打开推荐使用Chrome\n\nsc 为SuperChat\ngift为礼物\nguard为上船\n\nattribute \"raw\" 为原始数据\n");
writer.WriteElementString("chatserver", "chat.bilibili.com"); writer.WriteElementString("chatserver", "chat.bilibili.com");
writer.WriteElementString("chatid", "0"); writer.WriteElementString("chatid", "0");
writer.WriteElementString("mission", "0"); writer.WriteElementString("mission", "0");
@ -150,7 +150,7 @@ namespace BililiveRecorder.ToolBox.Tool.DanmakuMerger
recordInfo.WriteTo(writer); recordInfo.WriteTo(writer);
// see BililiveRecorder.Core\Danmaku\BasicDanmakuWriter.cs // see BililiveRecorder.Core\Danmaku\BasicDanmakuWriter.cs
const string style = @"<z:stylesheet version=""1.0"" id=""s"" xml:id=""s"" xmlns:z=""http://www.w3.org/1999/XSL/Transform""><z:output method=""html""/><z:template match=""/""><html><meta name=""viewport"" content=""width=device-width""/><title>B站录播姬弹幕文件 - <z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></title><style>body{margin:0}h1,h2,p,table{margin-left:5px}table{border-spacing:0}td,th{border:1px solid grey;padding:1px}th{position:sticky;top:0;background:#4098de}tr:hover{background:#d9f4ff}div{overflow:auto;max-height:80vh;max-width:100vw;width:fit-content}</style><h1><a href=""https://rec.danmuji.org"">B站录播姬</a>弹幕XML文件</h1><p>本文件不支持在 IE 浏览器里预览,请使用 Chrome Firefox Edge 等浏览器。</p><p>文件用法参考文档 <a href=""https://rec.danmuji.org/user/danmaku/"">https://rec.danmuji.org/user/danmaku/</a></p><table><tr><td>录播姬版本</td><td><z:value-of select=""/i/BililiveRecorder/@version""/></td></tr><tr><td>房间号</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@roomid""/></td></tr><tr><td>主播名</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></td></tr><tr><td>录制开始时间</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@start_time""/></td></tr><tr><td><a href=""#d"">弹幕</a></td><td>共<z:value-of select=""count(/i/d)""/>条记录</td></tr><tr><td><a href=""#guard"">上船</a></td><td>共<z:value-of select=""count(/i/guard)""/>条记录</td></tr><tr><td><a href=""#sc"">SC</a></td><td>共<z:value-of select=""count(/i/sc)""/>条记录</td></tr><tr><td><a href=""#gift"">礼物</a></td><td>共<z:value-of select=""count(/i/gift)""/>条记录</td></tr></table><h2 id=""d"">弹幕</h2><div id=""dm""><table><tr><th>用户名</th><th>出现时间</th><th>用户ID</th><th>弹幕</th><th>参数</th></tr><z:for-each select=""/i/d""><tr><td><z:value-of select=""@user""/></td><td></td><td></td><td><z:value-of select="".""/></td><td><z:value-of select=""@p""/></td></tr></z:for-each></table></div><script>Array.from(document.querySelectorAll('#dm tr')).slice(1).map(t=>t.querySelectorAll('td')).forEach(t=>{let p=t[4].textContent.split(','),a=p[0];t[1].textContent=`${(Math.floor(a/60/60)+'').padStart(2,0)}:${(Math.floor(a/60%60)+'').padStart(2,0)}:${(a%60).toFixed(3).padStart(6,0)}`;t[2].innerHTML=`&lt;a target=_blank rel=""nofollow noreferrer"" href=""https://space.bilibili.com/${p[6]}""&gt;${p[6]}&lt;/a&gt;`})</script><h2 id=""guard"">舰长购买</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>舰长等级</th><th>购买数量</th><th>出现时间</th></tr><z:for-each select=""/i/guard""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@level""/></td><td><z:value-of select=""@count""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""sc"">SuperChat 醒目留言</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>内容</th><th>显示时长</th><th>价格</th><th>出现时间</th></tr><z:for-each select=""/i/sc""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select="".""/></td><td><z:value-of select=""@time""/></td><td><z:value-of select=""@price""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""gift"">礼物</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>礼物名</th><th>礼物数量</th><th>出现时间</th></tr><z:for-each select=""/i/gift""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@giftname""/></td><td><z:value-of select=""@giftcount""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div></html></z:template></z:stylesheet>"; const string style = @"<z:stylesheet version=""1.0"" id=""s"" xml:id=""s"" xmlns:z=""http://www.w3.org/1999/XSL/Transform""><z:output method=""html""/><z:template match=""/""><html><meta name=""viewport"" content=""width=device-width""/><title>mikufans录播姬弹幕文件 - <z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></title><style>body{margin:0}h1,h2,p,table{margin-left:5px}table{border-spacing:0}td,th{border:1px solid grey;padding:1px}th{position:sticky;top:0;background:#4098de}tr:hover{background:#d9f4ff}div{overflow:auto;max-height:80vh;max-width:100vw;width:fit-content}</style><h1><a href=""https://rec.danmuji.org"">mikufans录播姬</a>弹幕XML文件</h1><p>本文件不支持在 IE 浏览器里预览,请使用 Chrome Firefox Edge 等浏览器。</p><p>文件用法参考文档 <a href=""https://rec.danmuji.org/user/danmaku/"">https://rec.danmuji.org/user/danmaku/</a></p><table><tr><td>录播姬版本</td><td><z:value-of select=""/i/BililiveRecorder/@version""/></td></tr><tr><td>房间号</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@roomid""/></td></tr><tr><td>主播名</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@name""/></td></tr><tr><td>录制开始时间</td><td><z:value-of select=""/i/BililiveRecorderRecordInfo/@start_time""/></td></tr><tr><td><a href=""#d"">弹幕</a></td><td>共<z:value-of select=""count(/i/d)""/>条记录</td></tr><tr><td><a href=""#guard"">上船</a></td><td>共<z:value-of select=""count(/i/guard)""/>条记录</td></tr><tr><td><a href=""#sc"">SC</a></td><td>共<z:value-of select=""count(/i/sc)""/>条记录</td></tr><tr><td><a href=""#gift"">礼物</a></td><td>共<z:value-of select=""count(/i/gift)""/>条记录</td></tr></table><h2 id=""d"">弹幕</h2><div id=""dm""><table><tr><th>用户名</th><th>出现时间</th><th>用户ID</th><th>弹幕</th><th>参数</th></tr><z:for-each select=""/i/d""><tr><td><z:value-of select=""@user""/></td><td></td><td></td><td><z:value-of select="".""/></td><td><z:value-of select=""@p""/></td></tr></z:for-each></table></div><script>Array.from(document.querySelectorAll('#dm tr')).slice(1).map(t=>t.querySelectorAll('td')).forEach(t=>{let p=t[4].textContent.split(','),a=p[0];t[1].textContent=`${(Math.floor(a/60/60)+'').padStart(2,0)}:${(Math.floor(a/60%60)+'').padStart(2,0)}:${(a%60).toFixed(3).padStart(6,0)}`;t[2].innerHTML=`&lt;a target=_blank rel=""nofollow noreferrer"" href=""https://space.bilibili.com/${p[6]}""&gt;${p[6]}&lt;/a&gt;`})</script><h2 id=""guard"">舰长购买</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>舰长等级</th><th>购买数量</th><th>出现时间</th></tr><z:for-each select=""/i/guard""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@level""/></td><td><z:value-of select=""@count""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""sc"">SuperChat 醒目留言</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>内容</th><th>显示时长</th><th>价格</th><th>出现时间</th></tr><z:for-each select=""/i/sc""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select="".""/></td><td><z:value-of select=""@time""/></td><td><z:value-of select=""@price""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div><h2 id=""gift"">礼物</h2><div><table><tr><th>用户名</th><th>用户ID</th><th>礼物名</th><th>礼物数量</th><th>出现时间</th></tr><z:for-each select=""/i/gift""><tr><td><z:value-of select=""@user""/></td><td><a rel=""nofollow noreferrer""><z:attribute name=""href""><z:text>https://space.bilibili.com/</z:text><z:value-of select=""@uid"" /></z:attribute><z:value-of select=""@uid""/></a></td><td><z:value-of select=""@giftname""/></td><td><z:value-of select=""@giftcount""/></td><td><z:value-of select=""@ts""/></td></tr></z:for-each></table></div></html></z:template></z:stylesheet>";
writer.WriteStartElement("BililiveRecorderXmlStyle"); writer.WriteStartElement("BililiveRecorderXmlStyle");
writer.WriteRaw(style); writer.WriteRaw(style);

View File

@ -3,11 +3,11 @@
<metadata> <metadata>
<id>BililiveRecorder</id> <id>BililiveRecorder</id>
<version>0.0.0</version> <version>0.0.0</version>
<title>B站录播姬</title> <title>录播姬</title>
<authors>Genteure</authors> <authors>Genteure</authors>
<owners>Genteure</owners> <owners>Genteure</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance> <requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>B站录播姬 安装包</description> <description>录播姬 安装包</description>
<language>zh-CN</language> <language>zh-CN</language>
<dependencies> <dependencies>
</dependencies> </dependencies>

View File

@ -106,7 +106,7 @@
<RadioButton GroupName="NetworkTransportAllowedAddressFamily" Content="仅限 IPv6" <RadioButton GroupName="NetworkTransportAllowedAddressFamily" Content="仅限 IPv6"
IsChecked="{Binding Path=NetworkTransportAllowedAddressFamily, Converter={StaticResource EnumToBooleanConverter}, IsChecked="{Binding Path=NetworkTransportAllowedAddressFamily, Converter={StaticResource EnumToBooleanConverter},
ConverterParameter={x:Static config:AllowedAddressFamily.Ipv6}}" /> ConverterParameter={x:Static config:AllowedAddressFamily.Ipv6}}" />
<c:SettingWithDefault IsSettingNotUsingDefault="{Binding HasLiveApiHost}" Header="B站直播 API Host"> <c:SettingWithDefault IsSettingNotUsingDefault="{Binding HasLiveApiHost}" Header="mikufans直播 API Host">
<TextBox ui:TextBoxHelper.IsDeleteButtonVisible="False" Text="{Binding LiveApiHost,UpdateSourceTrigger=LostFocus}"/> <TextBox ui:TextBoxHelper.IsDeleteButtonVisible="False" Text="{Binding LiveApiHost,UpdateSourceTrigger=LostFocus}"/>
</c:SettingWithDefault> </c:SettingWithDefault>
</StackPanel> </StackPanel>
@ -158,7 +158,7 @@
此项影响的时间间隔是定时请求HTTP接口的间隔 此项影响的时间间隔是定时请求HTTP接口的间隔
主要目的是防止没有从弹幕服务器收到开播消息, 主要目的是防止没有从弹幕服务器收到开播消息,
所以此项不需要设置太短。<LineBreak/> 所以此项不需要设置太短。<LineBreak/>
时间间隔设置太短会被B站服务器屏蔽,导致无法录制。 时间间隔设置太短会被mikufans服务器屏蔽,导致无法录制。
</TextBlock> </TextBlock>
</c:SettingWithDefault.ToolTip> </c:SettingWithDefault.ToolTip>
<ui:NumberBox Minimum="60" Description="单位: 秒" SmallChange="10" Text="{Binding TimingCheckInterval,Delay=500}"/> <ui:NumberBox Minimum="60" Description="单位: 秒" SmallChange="10" Text="{Binding TimingCheckInterval,Delay=500}"/>

View File

@ -338,8 +338,8 @@ namespace BililiveRecorder.WPF.Pages
{ {
await Task.Delay(200); await Task.Delay(200);
if (MessageBox.Show("录播姬会自动检测直播间状态,不需要手动刷新。\n录播姬主要通过接收B站服务器的推送来更新状态,直播服务器会给录播姬实时发送开播通知,延迟极低。\n\n" + if (MessageBox.Show("录播姬会自动检测直播间状态,不需要手动刷新。\n录播姬主要通过接收mikufans服务器的推送来更新状态,直播服务器会给录播姬实时发送开播通知,延迟极低。\n\n" +
"频繁刷新直播间状态、短时间内大量请求B站直播 API 可能会导致你的 IP 被屏蔽,完全无法录播。\n\n本功能是特殊情况下确实需要刷新所有直播间信息时使用的。\n\n是否要刷新所有直播间的信息\n每个直播间会发送一个请求", "B站录播姬", MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes) "频繁刷新直播间状态、短时间内大量请求mikufans直播 API 可能会导致你的 IP 被屏蔽,完全无法录播。\n\n本功能是特殊情况下确实需要刷新所有直播间信息时使用的。\n\n是否要刷新所有直播间的信息\n每个直播间会发送一个请求", "mikufans录播姬", MessageBoxButton.YesNo, MessageBoxImage.Warning) != MessageBoxResult.Yes)
return; return;
foreach (var room in rec.Rooms.ToArray()) foreach (var room in rec.Rooms.ToArray())

View File

@ -107,7 +107,7 @@ namespace BililiveRecorder.WPF.Pages
await Task.Delay(1000); await Task.Delay(1000);
_ = this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() => _ = this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)(() =>
{ {
MessageBox.Show(Window.GetWindow(this), @"B站录播姬 安装成功! MessageBox.Show(Window.GetWindow(this), @"录播姬 安装成功!
使 使

File diff suppressed because one or more lines are too long

View File

@ -5,11 +5,11 @@ using System.Windows;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("B站录播姬")] [assembly: AssemblyTitle("mikufans录播姬")]
[assembly: AssemblyDescription("B站录播姬 by genteure")] [assembly: AssemblyDescription("mikufans录播姬 by genteure")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Genteure")] [assembly: AssemblyCompany("Genteure")]
[assembly: AssemblyProduct("B站录播姬")] [assembly: AssemblyProduct("mikufans录播姬")]
[assembly: AssemblyCopyright("Copyright © 2018-2023 Genteure")] [assembly: AssemblyCopyright("Copyright © 2018-2023 Genteure")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]

View File

@ -98,7 +98,7 @@ namespace BililiveRecorder.WPF.Properties {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to B站录播姬. /// Looks up a localized string similar to mikufans录播姬.
/// </summary> /// </summary>
public static string About_Name { public static string About_Name {
get { get {
@ -206,7 +206,7 @@ namespace BililiveRecorder.WPF.Properties {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to 请输入B站直播房间号或直播间链接. /// Looks up a localized string similar to 请输入mikufans直播房间号或直播间链接.
/// </summary> /// </summary>
public static string AddRoomFailedDialog_ErrorText_InvalidInput { public static string AddRoomFailedDialog_ErrorText_InvalidInput {
get { get {
@ -894,7 +894,7 @@ namespace BililiveRecorder.WPF.Properties {
/// <summary> /// <summary>
/// Looks up a localized string similar to 注:一般用户通常不需要也不应该修改这里的设置项。 /// Looks up a localized string similar to 注:一般用户通常不需要也不应该修改这里的设置项。
///对 Timing 的修改可能会导致被B站服务器屏蔽、不能及时开始录制等问题。. ///对 Timing 的修改可能会导致被mikufans服务器屏蔽、不能及时开始录制等问题。.
/// </summary> /// </summary>
public static string Settings_AdvancedPage_Warning { public static string Settings_AdvancedPage_Warning {
get { get {
@ -1212,7 +1212,7 @@ namespace BililiveRecorder.WPF.Properties {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to B站录播姬. /// Looks up a localized string similar to mikufans录播姬.
/// </summary> /// </summary>
public static string TaskbarIconControl_Title { public static string TaskbarIconControl_Title {
get { get {
@ -1685,7 +1685,7 @@ namespace BililiveRecorder.WPF.Properties {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to B站录播姬 {0}. /// Looks up a localized string similar to mikufans录播姬 {0}.
/// </summary> /// </summary>
public static string Window_Title { public static string Window_Title {
get { get {

View File

@ -132,7 +132,7 @@
</data> </data>
<data name="About_Name" xml:space="preserve"> <data name="About_Name" xml:space="preserve">
<value>喵喵喵喵喵~</value> <value>喵喵喵喵喵~</value>
<comment>Add "(B站录播姬)" after translation</comment> <comment>Add "(mikufans录播姬)" after translation</comment>
</data> </data>
<data name="About_Project" xml:space="preserve"> <data name="About_Project" xml:space="preserve">
<value>喵喵喵喵</value> <value>喵喵喵喵</value>

View File

@ -131,8 +131,8 @@
This software is open source and licensed under the GNU General Public License Version 3 (GPLv3).</value> This software is open source and licensed under the GNU General Public License Version 3 (GPLv3).</value>
</data> </data>
<data name="About_Name" xml:space="preserve"> <data name="About_Name" xml:space="preserve">
<value>BiliRec (B站录播姬)</value> <value>BiliRec (mikufans录播姬)</value>
<comment>Add "(B站录播姬)" after translation</comment> <comment>Add "(mikufans录播姬)" after translation</comment>
</data> </data>
<data name="About_Project" xml:space="preserve"> <data name="About_Project" xml:space="preserve">
<value>Project Homepage</value> <value>Project Homepage</value>
@ -525,7 +525,7 @@ Will use default setting and disable user input when checked.</comment>
<value>BiliRec has been minimized to the system tray, left click the tray icon to unhide.</value> <value>BiliRec has been minimized to the system tray, left click the tray icon to unhide.</value>
</data> </data>
<data name="TaskbarIconControl_Title" xml:space="preserve"> <data name="TaskbarIconControl_Title" xml:space="preserve">
<value>BiliRec (B站录播姬)</value> <value>BiliRec (mikufans录播姬)</value>
</data> </data>
<data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve"> <data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve">
<value>There is a problem in the file that the can't be repaired automatically <value>There is a problem in the file that the can't be repaired automatically
@ -687,7 +687,7 @@ Please analyze the original file, not the output of auto repair.</value>
<value>Toolbox</value> <value>Toolbox</value>
</data> </data>
<data name="Window_Title" xml:space="preserve"> <data name="Window_Title" xml:space="preserve">
<value>BiliRec (B站录播姬) {0}</value> <value>BiliRec (mikufans录播姬) {0}</value>
</data> </data>
<data name="WorkDirectorySelector_Browse" xml:space="preserve"> <data name="WorkDirectorySelector_Browse" xml:space="preserve">
<value>Browse...</value> <value>Browse...</value>

View File

@ -132,7 +132,7 @@
</data> </data>
<data name="About_Name" xml:space="preserve"> <data name="About_Name" xml:space="preserve">
<value>ビリ生録画姫</value> <value>ビリ生録画姫</value>
<comment>Add "(B站录播姬)" after translation</comment> <comment>Add "(mikufans录播姬)" after translation</comment>
</data> </data>
<data name="About_Project" xml:space="preserve"> <data name="About_Project" xml:space="preserve">
<value>プロジェクトホーム</value> <value>プロジェクトホーム</value>
@ -687,7 +687,7 @@ rec@danmuji.orgまでフィードバック受け付けます。
<value>ツールボックス</value> <value>ツールボックス</value>
</data> </data>
<data name="Window_Title" xml:space="preserve"> <data name="Window_Title" xml:space="preserve">
<value>ビリビリ録画機 (B站录播姬) {0}</value> <value>ビリビリ録画機 (mikufans录播姬) {0}</value>
</data> </data>
<data name="WorkDirectorySelector_Browse" xml:space="preserve"> <data name="WorkDirectorySelector_Browse" xml:space="preserve">
<value>参照...</value> <value>参照...</value>

View File

@ -131,8 +131,8 @@
本软件为开源软件,使用 GNU通用公共许可证第三版 GPLv3 授权。</value> 本软件为开源软件,使用 GNU通用公共许可证第三版 GPLv3 授权。</value>
</data> </data>
<data name="About_Name" xml:space="preserve"> <data name="About_Name" xml:space="preserve">
<value>B站录播姬</value> <value>mikufans录播姬</value>
<comment>Add "(B站录播姬)" after translation</comment> <comment>Add "(mikufans录播姬)" after translation</comment>
</data> </data>
<data name="About_Project" xml:space="preserve"> <data name="About_Project" xml:space="preserve">
<value>项目首页</value> <value>项目首页</value>
@ -170,7 +170,7 @@
<value>这个直播间已经被添加过了</value> <value>这个直播间已经被添加过了</value>
</data> </data>
<data name="AddRoomFailedDialog_ErrorText_InvalidInput" xml:space="preserve"> <data name="AddRoomFailedDialog_ErrorText_InvalidInput" xml:space="preserve">
<value>请输入B站直播房间号或直播间链接</value> <value>请输入mikufans直播房间号或直播间链接</value>
</data> </data>
<data name="AddRoomFailedDialog_ErrorText_RoomIdNegative" xml:space="preserve"> <data name="AddRoomFailedDialog_ErrorText_RoomIdNegative" xml:space="preserve">
<value>房间号不能是负数</value> <value>房间号不能是负数</value>
@ -409,7 +409,7 @@
</data> </data>
<data name="Settings_AdvancedPage_Warning" xml:space="preserve"> <data name="Settings_AdvancedPage_Warning" xml:space="preserve">
<value>注:一般用户通常不需要也不应该修改这里的设置项。 <value>注:一般用户通常不需要也不应该修改这里的设置项。
对 Timing 的修改可能会导致被B站服务器屏蔽、不能及时开始录制等问题。</value> 对 Timing 的修改可能会导致被mikufans服务器屏蔽、不能及时开始录制等问题。</value>
</data> </data>
<data name="Settings_Danmaku_FlushInterval" xml:space="preserve"> <data name="Settings_Danmaku_FlushInterval" xml:space="preserve">
<value>触发写硬盘所需弹幕个数</value> <value>触发写硬盘所需弹幕个数</value>
@ -525,7 +525,7 @@ Will use default setting and disable user input when checked.</comment>
<value>录播姬已最小化到托盘,左键单击图标恢复界面</value> <value>录播姬已最小化到托盘,左键单击图标恢复界面</value>
</data> </data>
<data name="TaskbarIconControl_Title" xml:space="preserve"> <data name="TaskbarIconControl_Title" xml:space="preserve">
<value>B站录播姬</value> <value>mikufans录播姬</value>
</data> </data>
<data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve"> <data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve">
<value>文件内存在录播姬无法自动修复的问题 <value>文件内存在录播姬无法自动修复的问题
@ -687,7 +687,7 @@ Will use default setting and disable user input when checked.</comment>
<value>工具箱</value> <value>工具箱</value>
</data> </data>
<data name="Window_Title" xml:space="preserve"> <data name="Window_Title" xml:space="preserve">
<value>B站录播姬 {0}</value> <value>mikufans录播姬 {0}</value>
</data> </data>
<data name="WorkDirectorySelector_Browse" xml:space="preserve"> <data name="WorkDirectorySelector_Browse" xml:space="preserve">
<value>浏览...</value> <value>浏览...</value>

View File

@ -131,8 +131,8 @@
本軟件為開源軟件,使用 GNU通用公共許可證第三版 GPLv3 授權。</value> 本軟件為開源軟件,使用 GNU通用公共許可證第三版 GPLv3 授權。</value>
</data> </data>
<data name="About_Name" xml:space="preserve"> <data name="About_Name" xml:space="preserve">
<value>B站錄播姬</value> <value>mikufans錄播姬</value>
<comment>Add "(B站录播姬)" after translation</comment> <comment>Add "(mikufans录播姬)" after translation</comment>
</data> </data>
<data name="About_Project" xml:space="preserve"> <data name="About_Project" xml:space="preserve">
<value>項目首頁</value> <value>項目首頁</value>
@ -166,7 +166,7 @@
<value>這個直播間已經被添加過了</value> <value>這個直播間已經被添加過了</value>
</data> </data>
<data name="AddRoomFailedDialog_ErrorText_InvalidInput" xml:space="preserve"> <data name="AddRoomFailedDialog_ErrorText_InvalidInput" xml:space="preserve">
<value>請輸入B站直播間房間號或直播間連結</value> <value>請輸入mikufans直播間房間號或直播間連結</value>
</data> </data>
<data name="AddRoomFailedDialog_ErrorText_RoomIdNegative" xml:space="preserve"> <data name="AddRoomFailedDialog_ErrorText_RoomIdNegative" xml:space="preserve">
<value>房間號不能是負數</value> <value>房間號不能是負數</value>
@ -386,7 +386,7 @@
</data> </data>
<data name="Settings_AdvancedPage_Warning" xml:space="preserve"> <data name="Settings_AdvancedPage_Warning" xml:space="preserve">
<value>注:一般用戶通常不需要也不應該修改此處的設定。 <value>注:一般用戶通常不需要也不應該修改此處的設定。
對 Timing 的修改可能會導致被B站伺服器封鎖、不能及時開始錄製等問題。</value> 對 Timing 的修改可能會導致被mikufans伺服器封鎖、不能及時開始錄製等問題。</value>
</data> </data>
<data name="Settings_Danmaku_FlushInterval" xml:space="preserve"> <data name="Settings_Danmaku_FlushInterval" xml:space="preserve">
<value>觸發寫入硬碟所需彈幕數量</value> <value>觸發寫入硬碟所需彈幕數量</value>
@ -490,7 +490,7 @@ Will use default setting and disable user input when checked.</comment>
<value>錄播姬已最小化到系統列,左鍵點選圖標即可恢復介面</value> <value>錄播姬已最小化到系統列,左鍵點選圖標即可恢復介面</value>
</data> </data>
<data name="TaskbarIconControl_Title" xml:space="preserve"> <data name="TaskbarIconControl_Title" xml:space="preserve">
<value>B站錄播姬</value> <value>mikufans錄播姬</value>
</data> </data>
<data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve"> <data name="Toolbox_AutoFix_AnalyzeResult_ContainsUnrepairable" xml:space="preserve">
<value>文件內存在錄播姬無法自動修復的問題 <value>文件內存在錄播姬無法自動修復的問題
@ -641,7 +641,7 @@ Will use default setting and disable user input when checked.</comment>
</data> </data>
<data name="Window_Title" xml:space="preserve"> <data name="Window_Title" xml:space="preserve">
<value>B站錄播姬 {0}</value> <value>mikufans錄播姬 {0}</value>
</data> </data>
<data name="WorkDirectorySelector_Browse" xml:space="preserve"> <data name="WorkDirectorySelector_Browse" xml:space="preserve">
<value>瀏覽...</value> <value>瀏覽...</value>

View File

@ -151,7 +151,7 @@ namespace BililiveRecorder.WPF
var roomUrl = new Uri("https://live.bilibili.com/" + room.RoomConfig.RoomId); var roomUrl = new Uri("https://live.bilibili.com/" + room.RoomConfig.RoomId);
var builder = new ToastContentBuilder() var builder = new ToastContentBuilder()
.AddHeader("BililiveRecorder-StreamStarted", "B站录播姬开播通知", "") .AddHeader("BililiveRecorder-StreamStarted", "录播姬开播通知", "")
.AddText(room.Name + " 开播了") .AddText(room.Name + " 开播了")
.AddText(room.Title) .AddText(room.Title)
.AddText($"{room.AreaNameParent} · {room.AreaNameChild}") .AddText($"{room.AreaNameParent} · {room.AreaNameChild}")

View File

@ -5,7 +5,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ path | escape }} - B站录播姬文件浏览器</title> <title>{{ path | escape }} - mikufans录播姬文件浏览器</title>
<style> <style>
html, html,
body { body {

View File

@ -5,14 +5,14 @@
<meta charset=utf-8> <meta charset=utf-8>
<meta name="robots" content="noindex"> <meta name="robots" content="noindex">
<meta content="width=device-width,initial-scale=1" name=viewport> <meta content="width=device-width,initial-scale=1" name=viewport>
<title>401 未登录 - B站录播姬 __VERSION__</title> <title>401 未登录 - mikufans录播姬 __VERSION__</title>
<style>*{text-align:center;}p{font-size:10px;}</style> <style>*{text-align:center;}p{font-size:10px;}</style>
</head> </head>
<body> <body>
<h1 style="color:red;font-weight:bold;font-size:3em;">HTTP 401</h1> <h1 style="color:red;font-weight:bold;font-size:3em;">HTTP 401</h1>
<p title="__FULL_VERSION__"> <p title="__FULL_VERSION__">
<a href="https://rec.danmuji.org">B站录播姬</a> __VERSION__ <a href="https://rec.danmuji.org">mikufans录播姬</a> __VERSION__
</p> </p>
</body> </body>

View File

@ -4,7 +4,7 @@
<head> <head>
<meta charset=utf-8> <meta charset=utf-8>
<meta content="width=device-width,initial-scale=1" name=viewport> <meta content="width=device-width,initial-scale=1" name=viewport>
<title>B站录播姬 __VERSION__</title> <title>mikufans录播姬 __VERSION__</title>
<style> <style>
html { html {
font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", SimHei, sans-serif; font-family: -apple-system, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", SimHei, sans-serif;
@ -82,7 +82,7 @@
</head> </head>
<body> <body>
<h1 style="text-align: center">B站录播姬</h1> <h1 style="text-align: center">mikufans录播姬</h1>
<p style="text-align: center;font-family:'Courier New', Courier, monospace;" title="__FULL_VERSION__"> <p style="text-align: center;font-family:'Courier New', Courier, monospace;" title="__FULL_VERSION__">
__VERSION__ __VERSION__
</p> </p>
@ -94,7 +94,7 @@
<p>&nbsp;</p> <p>&nbsp;</p>
<a href="./ui/"> <a href="./ui/">
<div class="card"> <div class="card">
<p class="name">B站录播姬 WebUI</p> <p class="name">mikufans录播姬 WebUI</p>
<p class="path">/ui</p> <p class="path">/ui</p>
</div> </div>
</a> </a>

View File

@ -66,7 +66,7 @@
<body> <body>
<div id="root"> <div id="root">
<div class="headerArea"> <div class="headerArea">
<h1 style="text-align:center;margin-bottom:0">B站录播姬播放器</h1> <h1 style="text-align:center;margin-bottom:0">mikufans录播姬播放器</h1>
<p style="margin:0;text-align:center;">临时测试版</p> <p style="margin:0;text-align:center;">临时测试版</p>
<div id="controlArea"> <div id="controlArea">
<label for="flvpath">FLV 视频文件路径: </label> <label for="flvpath">FLV 视频文件路径: </label>

View File

@ -1,7 +1,7 @@
<div style="text-align:center"> <div style="text-align:center">
<img width="20%" src=".github/assets/logo.svg"> <img width="20%" src=".github/assets/logo.svg">
# B站录播姬 # mikufans录播姬
[![Build and Test](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml) [![Build and Test](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml)
[![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#) [![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#)

View File

@ -1,7 +1,7 @@
<div style="text-align:center"> <div style="text-align:center">
<img width="20%" src=".github/assets/logo.svg"> <img width="20%" src=".github/assets/logo.svg">
# B站录播姬 # mikufans录播姬
[![Build and Test](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml) [![Build and Test](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml/badge.svg?branch=dev)](https://github.com/BililiveRecorder/BililiveRecorder/actions/workflows/build.yml)
[![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#) [![Version](https://img.shields.io/github/tag/Bililive/BililiveRecorder.svg?label=Version)](#)
@ -27,7 +27,7 @@
- 使用简单 - 使用简单
- 主播开播后自动开始录制 - 主播开播后自动开始录制
- 同时录制多个直播间 - 同时录制多个直播间
- 自动修复B站直播服务器导致的各种问题 - 自动修复mikufans直播服务器导致的各种问题
- 工具箱模式,用于修复旧版录播姬或其他软件录的视频文件<sup>1</sup> - 工具箱模式,用于修复旧版录播姬或其他软件录的视频文件<sup>1</sup>
- 纯 C# 实现,无 ffmpeg 等 native 依赖<sup>2</sup> - 纯 C# 实现,无 ffmpeg 等 native 依赖<sup>2</sup>
- 开源! - 开源!
@ -92,4 +92,4 @@ graph BT
- [Adobe Flash Video File Format Specification 10.1.2.01.pdf](https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10_1.pdf) - [Adobe Flash Video File Format Specification 10.1.2.01.pdf](https://www.adobe.com/content/dam/acom/en/devnet/flv/video_file_format_spec_v10_1.pdf)
- [coreyauger/flv-streamer-2-file](https://github.com/coreyauger/flv-streamer-2-file) 曾在本项目开发早期作为参考 - [coreyauger/flv-streamer-2-file](https://github.com/coreyauger/flv-streamer-2-file) 曾在本项目开发早期作为参考
- [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku): (大概是)第一个B站直播录播工具 - [zyzsdy/biliroku](https://github.com/zyzsdy/biliroku): (大概是)第一个mikufans直播录播工具

View File

@ -154,8 +154,8 @@
} }
}, },
"TimingApiTimeout": { "TimingApiTimeout": {
"description": "请求B站API超时时间 毫秒\n默认: 10000", "description": "请求mikufansAPI超时时间 毫秒\n默认: 10000",
"markdownDescription": "请求B站API超时时间 毫秒 \n默认: `10000 `\n\n", "markdownDescription": "请求mikufansAPI超时时间 毫秒 \n默认: `10000 `\n\n",
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {

View File

@ -162,7 +162,7 @@ export const data: Array<ConfigEntry> = [
}, },
{ {
id: "TimingApiTimeout", id: "TimingApiTimeout",
name: "请求B站API超时时间 毫秒", name: "请求mikufansAPI超时时间 毫秒",
type: "uint", type: "uint",
configType: "globalOnly", configType: "globalOnly",
advancedConfig: true, advancedConfig: true,