532 Commits

Author SHA1 Message Date
nilaoda
a441ea83f8 Linux x64/arm64实现静态链接 (#829) 2025-12-30 01:01:10 +08:00
fireattack
de20b29a66 修复 AES-128 解密时错误地未使用指定的 IV (#823)
* Fix AES-128 IV parsing when same key URI is used with different IVs

* Make sure to re-parse the key if either KEY URL or IV changed
2025-12-29 00:02:46 +08:00
nilaoda
17d697b1d7 升级到dotnet10 (#827) 2025-12-28 18:12:42 +08:00
nilaoda
486c67532c 修复解析MPD时长超过int32报错问题 (#826) 2025-12-28 17:58:51 +08:00
nilaoda
8bb208d195 修复录制HTTP-TS流无法自动重定向问题 (#825) 2025-12-28 17:49:25 +08:00
larley
b604b72c61 Nowehoryzonty Url Processor (#752)
* + Simplified Nowehoryzonty Url Processor
- Removed Nil.JS dependency

* + Made timeDifference optional
2025-12-22 18:44:16 +08:00
voldemort2826
1f5628f72a add english readme (#681) 2025-12-22 18:43:09 +08:00
nilaoda
c1f6db5639 0.5.1 v0.5.1-beta 2025-10-29 22:10:06 +08:00
nilaoda
fda2289429 优化针对大文件的HttpRange切割逻辑 (#735) 2025-10-29 21:35:50 +08:00
nilaoda
c49c9f8046 对齐直播轨道时跳过没有分片的流 (#734) 2025-10-29 20:57:11 +08:00
nilaoda
0a3f0bfc0e 优化URL响应类型识别 (#733) 2025-10-29 20:33:25 +08:00
nilaoda
e53faf6965 修复Help内容bool缺失默认值问题; 版本号升级; 移除TestStreams中的失效链接; v0.5.0-beta 2025-10-27 22:20:14 +08:00
nilaoda
acb36325d6 MPD解析测试01 (#727) 2025-10-26 22:26:34 +08:00
nilaoda
7309625fb7 增加单元测试框架 (#726) 2025-10-26 01:11:51 +08:00
nilaoda
fb7aab5285 优化--log-file-path描述 (#725) 2025-10-26 00:53:40 +08:00
nilaoda
2d66a27a5b --key支持Base64格式 (#724) 2025-10-25 20:47:03 +08:00
nilaoda
36a07343ba 当设置为不输出json文件时不应该进行序列化 (#723) 2025-10-25 19:24:30 +08:00
nilaoda
065cf432c8 补充MPD的namespace自动填充场景 (#722) 2025-10-25 00:55:17 +08:00
nilaoda
8a051ee241 增加加载URL失败提示 (#721) 2025-10-25 00:09:27 +08:00
nilaoda
175263ef22 更新依赖 (#720)
* 更新依赖

* 使得SavePattern可见
2025-10-24 20:00:51 +08:00
outhud
f3a6754373 实现 --save-pattern 选项和智能文件名冲突处理 (Fixes #426) (#718)
新增功能:
1. 实现 --save-pattern 命令行选项
   - 支持使用模板变量自定义输出文件名
   - 可用变量: <SaveName>, <Id>, <Codecs>, <Language>, <Resolution>,
     <Bandwidth>, <MediaType>, <Channels>, <FrameRate>, <VideoRange>, <GroupId>
   - 完整支持三种语言 (en-US, zh-CN, zh-TW)

2. 智能文件名冲突处理
   - 当文件名冲突时,自动使用流元数据生成唯一文件名
   - 视频流: 优先使用分辨率和带宽 (例如: .1920x1080.mp4, .5.0Mbps.mp4)
   - 音频流: 优先使用语言、声道和带宽 (例如: .en.2ch.m4a, .128kbps.m4a)
   - 字幕流: 优先使用语言 (例如: .en.srt)
   - 只在元数据方案失败时才回退到 ".copy" 后缀

技术实现:
- 新增 OtherUtil.FormatSavePattern() - 模板变量解析器
- 新增 OtherUtil.HandleFileCollision() - 智能冲突处理器
- 更新所有下载管理器以支持新功能:
  * SimpleDownloadManager.cs (VOD下载)
  * SimpleLiveRecordManager2.cs (直播录制)
  * HTTPLiveRecordManager.cs (HTTP直播录制)

文档更新:
- README.md: 添加 --save-pattern 选项说明和使用示例
- 添加 More Help 章节详细说明用法

解决问题:
修复 #426 - 下载多个相同类型流时的文件名冲突问题
不再生成难以识别的 .copy.mp4, .copy.copy.mp4 文件名

---

Implement --save-pattern option and smart filename collision handling (Fixes #426)

New Features:
1. Implement --save-pattern command-line option
   - Support custom output filename patterns with template variables
   - Available variables: <SaveName>, <Id>, <Codecs>, <Language>, <Resolution>,
     <Bandwidth>, <MediaType>, <Channels>, <FrameRate>, <VideoRange>, <GroupId>
   - Full support for 3 languages (en-US, zh-CN, zh-TW)

2. Smart filename collision handling
   - Auto-generate unique filenames using stream metadata on collision
   - Video: prioritize resolution and bandwidth (e.g., .1920x1080.mp4, .5.0Mbps.mp4)
   - Audio: prioritize language, channels, and bandwidth (e.g., .en.2ch.m4a, .128kbps.m4a)
   - Subtitles: prioritize language (e.g., .en.srt)
   - Fall back to ".copy" suffix only when metadata approaches fail

Technical Implementation:
- Added OtherUtil.FormatSavePattern() - template variable parser
- Added OtherUtil.HandleFileCollision() - smart collision handler
- Updated all download managers to support new features:
  * SimpleDownloadManager.cs (VOD downloads)
  * SimpleLiveRecordManager2.cs (Live recording)
  * HTTPLiveRecordManager.cs (HTTP live recording)

Documentation:
- README.md: Added --save-pattern option description and examples
- Added More Help section with detailed usage

Fixes:
Resolves #426 - filename collision when downloading multiple streams of the same type
No more unidentifiable .copy.mp4, .copy.copy.mp4 filenames

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Code <claude@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-24 19:32:09 +08:00
nilaoda
9355fd69ea 优化Linux产物的低版本兼容性 (#719) 2025-10-23 21:30:18 +08:00
nilaoda
c3987565eb 修复本地m3u8文件刷新问题 (#715) 2025-10-15 21:26:23 +08:00
nilaoda
1caf4e6f7d 优化直播流判断 (#670) 2025-07-01 23:03:59 +08:00
nilaoda
56de904d3f 优化LIVE_TS判断 (#669)
#471
2025-07-01 22:28:28 +08:00
Sir Wintour
ad7136ae64 Fixed Regex substitution for subtitle newline (#639)
If subtitle XML had \n in it, then the "xmlContentFix" wouldn't work, so I updated the Regex to include \n in it.
2025-03-31 00:58:08 +08:00
nilaoda
5ed7b23713 LangVersion设置为13.0解决编译错误 2025-03-11 23:46:55 +08:00
nilaoda
0dc75fc1af fix ubuntu24 repos 2025-03-11 23:16:23 +08:00
nilaoda
848545a0bc 当环境变量RE_KEEP_IMAGE_SEGMENTS=1时, 跳过字幕转换为PNG后删除原始文件的逻辑 (#625) 2025-03-11 23:07:06 +08:00
qwer-lives
30499f5f87 Add log-file-path option (#600)
* Add log-file-path option

* Expand relative paths for log file and verify integrity
2025-02-17 23:41:48 +08:00
nilaoda
1eebd7bbae update deps 2025-02-16 20:40:56 +08:00
lollolong
cd4dfb5e75 add: role ForcedSubtitle, useful for filtering (#574)
see also https://github.com/google/ExoPlayer/issues/9727
2024-12-29 21:45:24 +08:00
nilaoda
f47a0722cf 优化Init文件加密判断 (#562)
兼容了非标准的m3u8, 详情请看issue #550
2024-12-18 19:57:24 +08:00
nilaoda
ea9de55eac 更新编译日期 2024-12-03 11:17:06 +08:00
nilaoda
87914a30cc 恢复展示速度单位 Fix #544 2024-12-03 11:02:32 +08:00
nilaoda
e350ab7233 更新流水线文件名规则 (#541) 2024-12-02 01:27:26 +08:00
nilaoda
4c4617b780 v0.3.0 v0.3.0-beta 2024-12-01 23:19:16 +08:00
nilaoda
7a54c54786 文件名中包含版本信息 2024-12-01 23:17:22 +08:00
nilaoda
9f530f2cf6 修正fMP4录制文件无法播放问题 (#537) 2024-12-01 23:12:51 +08:00
nilaoda
a8646eb7e7 修复KID寻找异常问题 Fix #529 2024-12-01 12:17:56 +08:00
nilaoda
800ce3d615 v0.2.3 2024-12-01 11:54:15 +08:00
nilaoda
49d37c9f14 修复国际化问题 (#532) 2024-12-01 11:41:00 +08:00
nilaoda
117c73f54b 修正tar压缩命令 2024-12-01 01:20:12 +08:00
nilaoda
b044cdb305 v0.2.2 2024-12-01 00:35:48 +08:00
nilaoda
adbe376ae0 优化部分代码 2024-12-01 00:30:53 +08:00
nilaoda
cacf9b0ff0 增加第三方工具的下载地址提示 (#525) 2024-11-30 22:28:44 +08:00
nilaoda
bc8b5a92a9 去除多余判断 2024-11-30 22:22:15 +08:00
nilaoda
7463915fbb 优化构建发布流程 2024-11-30 22:21:57 +08:00
nilaoda
8702d36276 解决mp4decrypt解密中文文件名失败问题 (#524) 2024-11-30 00:36:17 +08:00
nilaoda
3081701a32 使用tput替代stty (#523) 2024-11-29 20:57:20 +08:00