Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新功能请求:优先录制二压原画,以及仅录制限定画质的功能 #192

Open
Sodapopoo opened this issue Oct 25, 2023 · 13 comments

Comments

@Sodapopoo
Copy link

这个请求是因为我有一些不太重要的直播间想要录制,但是真原画流的文件又太大了,所以这些直播间想录制二压原画,节省一些空间
blrec的画质选项在自动录制时基本没有作用,因为刚开播时一定只有原画画质,开播一段时间后才会产生其他画质
blrec在检测到没有其他画质时会自动切换为原画录制,这就使得画质的选项缺乏意义,即使选择其他画质也只能录制原画

我想要优先录制二压原画是因为二压原画一般是最快产生的二压画质,其他的画质则不一定能很快产生,会导致开头漏录
但是二压原画跟真原画都是绑定在“原画”这一个画质里的
我想,如果在录制开始前分析一下文件头,音频125k的就是二压流,这样就能从原画里分割一个额外的画质出来,叫“二压原画”

录播姬里可以通过设置直播画质 qn 值来实现画质选择,从而实现只录制填写了qn值的画质,填写多个qn值时则是按优先级录制。
我希望blrec也能实现这个功能,并且在这之上更进一步,把二压原画的画质也单独分割出来,
从而实现我的需求:“有二压原画时优先录制二压原画,没有时录制真原画”
以及可能较少用到的:“仅录制二压原画,如果只有真原画就不开始录制”

@Genteure
Copy link

有二压原画时优先录制二压原画,没有时录制真原画

做不到。B站API返回啥就是啥,它又不会给你返回两个地址让你选。

仅录制二压原画,如果只有真原画就不开始录制

理论上能实现,判断 URL 就行,但有误判的可能性。

@Sodapopoo
Copy link
Author

做不到。B站API返回啥就是啥,它又不会给你返回两个地址让你选。

的确,但现在我也经常录到开播二压流,开播时重新请求一下就变成二压流了,如果开播的时候等待一段时间,等待时间结束时请求也没有二压流再开始录制真原画流行不行呢?

虽然这样可能会漏一小段,但也算满足我的需要了

@Sodapopoo
Copy link
Author

不,我想了想这个办法好像不太可行,要是检测有二压流就结束真原画流录制,自动切换二压流我觉得更可行

@aliofwind
Copy link

强行录真原画可以,但强制二压不一定有机会

@Sodapopoo
Copy link
Author

我测试了一下,一般二压原画最多一两分钟就有了,如果没有可能就是只有真原画流了
这样的话,一开始就正常录制,等一分钟之后再请求一次,检测到是二压就断开真原画录制,进行二压录制,否则就不断开
这应该比起之前两个想法容易实现吧,而且理论上不容易漏录

@Sodapopoo
Copy link
Author

需要帮助喵,今天关注的几个V都录不下来了,获取不到原画分辨率的视频流,所有分辨率都解析不到,是不是普遍情况 已经添加了Cookie

需要求助请单独开个问题
我的录制包括不同地方的都是正常的,你可能需要提供你的日志,另外cookie得填SESSDATA和匹配的DedeUserID,最好还有buvid3,另外如果填入一些无法识别的字符会导致无法录制

@DrakLeader
Copy link

需要帮助喵,今天关注的几个V都录不下来了,获取不到原画分辨率的视频流,所有分辨率都解析不到,是不是普遍情况 已经添加了Cookie

需要求助请单独开个问题 我的录制包括不同地方的都是正常的,你可能需要提供你的日志,另外cookie得填SESSDATA和匹配的DedeUserID,最好还有buvid3,另外如果填入一些无法识别的字符会导致无法录制

事实上并不是一个issue,可能又外部因素引起,我更换了大号的Cookie后修正了问题。

@ChooseBetterr
Copy link

强行录真原画可以,但强制二压不一定有机会

强制真原画怎么做到

@aliofwind
Copy link

强行录真原画可以,但强制二压不一定有机会

强制真原画怎么做到

HLS方式获取的m3u8直接删除二压字段就是真原画

@acgnhiki
Copy link
Owner

acgnhiki commented Nov 5, 2023

我测试了一下,一般二压原画最多一两分钟就有了,如果没有可能就是只有真原画流了 这样的话,一开始就正常录制,等一分钟之后再请求一次,检测到是二压就断开真原画录制,进行二压录制,否则就不断开 这应该比起之前两个想法容易实现吧,而且理论上不容易漏录

有些麻烦 。。。

@Sodapopoo
Copy link
Author

11.2号之后录播的二压流的音频文件头从125kb改成256kb和160kb了,靠音频文件头感觉不靠谱。
这个功能实现起来可能很难,不过如果只是增加录到二压的概率还是比较容易的,比如延迟录制或者定时重新请求,以及换响应比较慢的api之类的

@aliofwind
Copy link

11.2号之后录播的二压流的音频文件头从125kb改成256kb和160kb了,靠音频文件头感觉不靠谱。 这个功能实现起来可能很难,不过如果只是增加录到二压的概率还是比较容易的,比如延迟录制或者定时重新请求,以及换响应比较慢的api之类的

判断二压流直接看流的地址啊,怎么会是通过metadata来看,带bluray的就是二压

@2314860760
Copy link

强行录真原画可以,但强制二压不一定有机会

强制真原画怎么做到

HLS方式获取的m3u8直接删除二压字段就是真原画

好像gotcha系无一例外会403 不知道地区cdn如何 大佬有没有什么技巧?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants