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

直播服务器会提供 H.264 Annex B 格式的直播流,分辨率等变动不需要切分文件 #568

Open
Genteure opened this issue Jan 23, 2024 · 2 comments

Comments

@Genteure
Copy link
Member

Genteure commented Jan 23, 2024

Problem

直播 PK、手机横竖屏切换等原因导致的参数变动,之前提供的数据 ffmpeg 以及几乎所有音视频工具无法正常处理,参数变动后会解码出错。录播姬的修复系统检测到有新参数后会切分文件。
发现部分直播流会以 H.264 Annex B 也就是每个 I 帧都带一份参数的形式提供,常见的所有工具都能正确处理这种数据,不切分成多个文件也可以正确解码播放,也就没有必要对文件进行分段。

Proposal

  1. 检测 Header Tag 后一段数据的视频 I 帧是否存在 SPS PPS NALU,如果存在则说明不需要对文件进行分段。
  2. 添加一个设置项?
@Genteure
Copy link
Member Author

需要添加一个设置项,默认关闭状态。测试发现这样的文件虽然播放器基本都能正常处理,视频编辑软件大多会有各种问题。

@AlexGuo1998
Copy link

这个设置开关是否可以做成这样:

  • 关闭时,只要参数变化就切分
  • 打开时,无论如何都不切分;如果I帧没有带参数,就在修复时手动加上(约等于手动-bsf:v h264_mp4toannexb

这样修复的判断逻辑可能会简单一些?而且无论收到什么流都 可以 不切分,用户体验更好

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

No branches or pull requests

2 participants