We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
你好,jt1078调试时发现如果音频流先来,会导致无法推流。 调试发现 source_utils.go 中 ExtractVideoPacket 方法中强制指定了 index = 0 会导致数据无法推流 stream = utils.NewAVStream(utils.AVMediaTypeVideo, 0, codec, codecData.AnnexBExtraData(), codecData)
func ExtractVideoPacket(codec utils.AVCodecID, key, extractStream bool, data []byte, pts, dts int64, index, timebase int) (utils.AVStream, utils.AVPacket, error) { var stream utils.AVStream if utils.AVCodecIdH264 == codec { //从关键帧中解析出sps和pps if key && extractStream { sps, pps, err := libavc.ParseExtraDataFromKeyNALU(data) if err != nil { log.Sugar.Errorf("从关键帧中解析sps pps失败 data:%s", hex.EncodeToString(data)) return nil, nil, err } codecData, err := utils.NewAVCCodecData(sps, pps) if err != nil { log.Sugar.Errorf("解析sps pps失败 data:%s sps:%s, pps:%s", hex.EncodeToString(data), hex.EncodeToString(sps), hex.EncodeToString(pps)) return nil, nil, err } stream = utils.NewAVStream(utils.AVMediaTypeVideo, 0, codec, codecData.AnnexBExtraData(), codecData) } } else if utils.AVCodecIdH265 == codec { if key && extractStream { vps, sps, pps, err := libhevc.ParseExtraDataFromKeyNALU(data) if err != nil { log.Sugar.Errorf("从关键帧中解析vps sps pps失败 data:%s", hex.EncodeToString(data)) return nil, nil, err } codecData, err := utils.NewHEVCCodecData(vps, sps, pps) if err != nil { log.Sugar.Errorf("解析sps pps失败 data:%s vps:%s sps:%s, pps:%s", hex.EncodeToString(data), hex.EncodeToString(vps), hex.EncodeToString(sps), hex.EncodeToString(pps)) return nil, nil, err } stream = utils.NewAVStream(utils.AVMediaTypeVideo, 0, codec, codecData.AnnexBExtraData(), codecData) } } packet := utils.NewVideoPacket(data, dts, pts, key, utils.PacketTypeAnnexB, codec, index, timebase) return stream, packet, nil }
The text was updated successfully, but these errors were encountered:
好的,近两周会出一个重构版本,会修复该问题
Sorry, something went wrong.
No branches or pull requests
你好,jt1078调试时发现如果音频流先来,会导致无法推流。
调试发现 source_utils.go 中 ExtractVideoPacket 方法中强制指定了 index = 0 会导致数据无法推流
stream = utils.NewAVStream(utils.AVMediaTypeVideo, 0, codec, codecData.AnnexBExtraData(), codecData)
The text was updated successfully, but these errors were encountered: