static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("请输入要转换的 srt 文件."); return; } var fileName = args[0]; if (!File.Exists(fileName)) { Console.WriteLine("文件不存在"); return; } var srtdata = new SrtManagerT <Battuta>().LoadBattuteByFile(fileName); var bilibili = new BilibiliSrtFile(); bilibili.font_size = 0.4; bilibili.font_color = "#FFFFFF"; bilibili.background_alpha = 0.5; bilibili.background_color = "#9C27B0"; bilibili.Stroke = "none"; bilibili.body = new List <BilibiliSrtFile.Battuta>(); foreach (var item in srtdata) { bilibili.body.Add(new BilibiliSrtFile.Battuta { from = item.FromSec, to = item.ToSec, content = item.Text, location = 2, }); } var fi = new FileInfo(fileName); var ex = fi.Extension; var writeFileName = fileName.Replace(ex, ".bcc"); var json = JsonConvert.SerializeObject(bilibili, Formatting.Indented); var bytes = Encoding.UTF8.GetBytes(json); File.WriteAllBytes(writeFileName, bytes); }
public IActionResult YoutubeSrtFileToBilibliFile(IFormCollection files) { if (files.Files.Count == 0) { return(Json("no file.")); } var file = files.Files[0]; using (var stream = file.OpenReadStream()) { var bytes = new byte[file.Length]; stream.Read(bytes, 0, (int)file.Length); var lines = Encoding.UTF8.GetString(bytes).Split(@"\n"); var battutes = new SrtManagerT <Battuta>().LoadBattute(lines); var bilibili = new BilibiliSrtFile(); bilibili.font_size = 0.4; bilibili.font_color = "#FFFFFF"; bilibili.background_alpha = 0.5; bilibili.background_color = "#9C27B0"; bilibili.Stroke = "none"; bilibili.body = new List <BilibiliSrtFile.Battuta>(); foreach (var item in battutes) { bilibili.body.Add(new BilibiliSrtFile.Battuta { from = item.FromSec, to = item.ToSec, content = item.Text, location = 2, }); } var json = JsonConvert.SerializeObject(bilibili); bytes = Encoding.UTF8.GetBytes(json); return(File(bytes, "text/json", "(b站格式)" + file.FileName.Replace(".srt", ".bcc"))); } }