修复rtmp音视频不同步问题

This commit is contained in:
yangjiechina
2024-06-23 13:45:52 +08:00
parent e88c243efa
commit 8d886d1444
3 changed files with 5 additions and 17 deletions

View File

@@ -44,14 +44,8 @@ func (t *httpTransStream) Input(packet utils.AVPacket) error {
var dts int64 var dts int64
var pts int64 var pts int64
if utils.AVCodecIdAAC == packet.CodecId() {
dts = packet.ConvertDts(1024)
pts = packet.ConvertPts(1024)
} else {
dts = packet.ConvertDts(1000) dts = packet.ConvertDts(1000)
pts = packet.ConvertPts(1000) pts = packet.ConvertPts(1000)
}
if utils.AVMediaTypeAudio == packet.MediaType() { if utils.AVMediaTypeAudio == packet.MediaType() {
flvSize = 17 + len(packet.Data()) flvSize = 17 + len(packet.Data())
data = packet.Data() data = packet.Data()

View File

@@ -16,7 +16,7 @@ type Publisher struct {
} }
func NewPublisher(sourceId string, stack *librtmp.Stack, conn net.Conn) *Publisher { func NewPublisher(sourceId string, stack *librtmp.Stack, conn net.Conn) *Publisher {
deMuxer := libflv.NewDeMuxer(libflv.TSModeRelative) deMuxer := libflv.NewDeMuxer()
publisher_ := &Publisher{PublishSource: stream.PublishSource{Id_: sourceId, Type_: stream.SourceTypeRtmp, TransDeMuxer: deMuxer, Conn: conn}, stack: stack} publisher_ := &Publisher{PublishSource: stream.PublishSource{Id_: sourceId, Type_: stream.SourceTypeRtmp, TransDeMuxer: deMuxer, Conn: conn}, stack: stack}
//设置回调从flv解析出来的Stream和AVPacket都将统一回调到stream.PublishSource //设置回调从flv解析出来的Stream和AVPacket都将统一回调到stream.PublishSource
deMuxer.SetHandler(publisher_) deMuxer.SetHandler(publisher_)

View File

@@ -36,14 +36,8 @@ func (t *transStream) Input(packet utils.AVPacket) error {
var pts int64 var pts int64
chunkHeaderSize := 12 chunkHeaderSize := 12
if utils.AVCodecIdAAC == packet.CodecId() {
dts = packet.ConvertDts(1024)
pts = packet.ConvertPts(1024)
} else {
dts = packet.ConvertDts(1000) dts = packet.ConvertDts(1000)
pts = packet.ConvertPts(1000) pts = packet.ConvertPts(1000)
}
if dts >= 0xFFFFFF { if dts >= 0xFFFFFF {
chunkHeaderSize += 4 chunkHeaderSize += 4
} }