SmallPeaches / DanmakuRender

一个可以录制带弹幕直播流的小工具
346 stars 37 forks source link

请问弹幕过滤关键字实装了吗 #101

Closed Ms213s closed 1 year ago

Ms213s commented 1 year ago

dm_filter: [播] 例如过滤这个字 弹幕里还是能看到

SmallPeaches commented 1 year ago

你使用了最新版本吗?如果用了最新版本应该是实装了

Ms213s commented 1 year ago

你用的是最新版本吗?如果用了最新版本应该是实装了

是新版本 dm_filter: [你播母妈] 是这样的格式让含关键字的弹幕过滤吗 那应该是没效果

SmallPeaches commented 1 year ago

你如果是多个关键字要英文逗号分隔,如果还是没效果的话我明天试一下

Ms213s commented 1 year ago

你如果是多个关键字英文逗号分隔,如果还是没效果的话我明天试一下

我在测试一下

Ms213s commented 1 year ago

你如果是多个关键字英文逗号分隔,如果还是没效果的话我明天试一下

英文逗号分隔报错

[2023-09-02 23:07:41,673][INFO]: 测试 录制开始. [2023-09-02 23:07:45,949][ERROR]: nothing to repeat at position 0 Traceback (most recent call last): File "E:\新建文件夹\DMR\Downloader__init.py", line 182, in start_helper self.start_once() File "E:\新建文件夹\DMR\Downloader__init__.py", line 149, in start_once return future.result() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\concurrent\futures_base.py", line 439, in result return self.get_result() File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\concurrent\futures_base.py", line 391, in get_result raise self._exception File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "E:\新建文件夹\DMR\Downloader\init.py", line 123, in danmaku_thread self.dmw.start(self_segment=not self.video) File "E:\新建文件夹\DMR\Downloader\danmakuio.py", line 67, in start return self.start_dmc() File "E:\新建文件夹\DMR\Downloader\danmakuio.py", line 167, in start_dmc asyncio.get_event_loop().run_until_complete(danmu_monitor()) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 647, in run_until_complete return future.result() File "E:\新建文件夹\DMR\Downloader\danmakuio.py", line 123, in danmu_monitor if dm['time'] > 0 and self.dm_available(dm): File "E:\新建文件夹\DMR\Downloader\danmakuio.py", line 96, in dm_available if re.search(dmf, dm.get('content','')): File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\re.py", line 201, in search return _compile(pattern, flags).search(string) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\re.py", line 304, in _compile p = sre_compile.compile(pattern, flags) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\sre_compile.py", line 788, in compile p = sre_parse.parse(p, flags) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\sre_parse.py", line 955, in parse p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\sre_parse.py", line 444, in _parse_sub itemsappend(_parse(source, state, verbose, nested + 1, File "C:\Users\Administrator\AppData\Local\Programs\Python\Python39\lib\sre_parse.py", line 669, in _parse raise source.error("nothing to repeat", re.error: nothing to repeat at position 0 [2023-09-02 23:07:47,107][ERROR]: [WinError 2] 系统找不到指定的文件。: './测试\测试-20230902-230742-Part000.ass' -> './测试\测试丨2023-09-02 23_07.ass' [2023-09-02 23:07:47,108][ERROR]: 弹幕 ./测试\测试-20230902-230742-Part000.ass 分段失败. [2023-09-02 23:07:47,110][INFO]: 分片 ./测试\测试丨2023-09-02 23_07.flv 录制完成. [2023-09-02 23:07:47,111][INFO]: 添加分片 ./测试\测试丨2023-09-02 23_07.flv 至渲染队列. [2023-09-02 23:07:47,112][INFO]: 正在渲染: ./测试\测试丨2023-09-02 23_07.flv [2023-09-02 23:07:47,112][ERROR]: 不存在弹幕文件 ./测试\测试丨2023-09-02 23_07.ass,跳过渲染. Traceback (most recent call last): File "E:\新建文件夹\DMR\Render\init__.py", line 100, in _render_subprocess status, info = target_render.render_one(**task.copy()) File "E:\新建文件夹\DMR\Render\ffmpegrender.py", line 95, in render_one raise RuntimeError(f'不存在弹幕文件 {danmaku},跳过渲染.') RuntimeError: 不存在弹幕文件 ./测试\测试丨2023-09-02 23_07.ass,跳过渲染. [2023-09-02 23:07:47,113][ERROR]: 分片 ./测试丨Danmu\测试丨2023-09-02 23_07丨Danmu.flv 渲染错误. [2023-09-02 23:07:47,114][ERROR]: 不存在弹幕文件 ./测试\测试丨2023-09-02 23_07.ass,跳过渲染. [2023-09-02 23:07:47,245][ERROR]: 录制 测试 遇到错误,即将重试. [2023-09-02 23:07:47,255][ERROR]: nothing to repeat at position 0 [2023-09-02 23:07:47,372][INFO]: 测试 录制开始.

SmallPeaches commented 1 year ago

感觉是你没设置好那个值,你看看日志文件里面开头输出的配置文件的dm_filter是正确的吗?

Ms213s commented 1 year ago

感觉是你没设置好那个值,你看看日志文件里面开头输出的配置文件的dm_filter是正确的吗?

这是加了逗号的配置 "dm_filter": [ "之", "服", "+", "区", "苹果", "华为", "福袋", "微", "v", "V", "北辰", "播", "你", "如果", "华", "国", "挂", "倍", "枪", "日", "菜", "急", "母", "狗", "猪", "妈", "奶", "姐", "妹", "叫", "嘴", "口", "含", "女", "人", "淫", "绿", "黄", "变态", "舔", "射", "大", "老", "星巴克", "本科", "小黑子", "学历", "台风", "飞机", "税", "烟", "钱" ],

SmallPeaches commented 1 year ago

我懂了,是你那个+出问题了,这里是用正则表达式实现的,所以说+需要转义,你要填个\+上去

SmallPeaches commented 1 year ago

另外这么多的屏蔽字我还没试过会不会影响性能hhh

Ms213s commented 1 year ago

另外这么多的刺激字我还没有听说过会影响性能hhh

感谢老哥解答 跑起来了 性能先观察一下 看了一下 过滤没问题了