mirror of
https://github.com/Monibuca/plugin-record.git
synced 2025-11-03 10:51:05 +08:00
chroe: fit engine's upgrade
This commit is contained in:
@@ -33,8 +33,8 @@ type Record struct {
|
||||
Fragment time.Duration //分片大小,0表示不分片
|
||||
filterReg *regexp.Regexp
|
||||
fs http.Handler
|
||||
CreateFileFn func(filename string, append bool) (FileWr, error) `yaml:"-" json:"-"`
|
||||
GetDurationFn func(file io.ReadSeeker) uint32 `yaml:"-" json:"-"`
|
||||
CreateFileFn func(filename string, append bool) (FileWr, error) `json:"-" yaml:"-"`
|
||||
GetDurationFn func(file io.ReadSeeker) uint32 `json:"-" yaml:"-"`
|
||||
recording map[string]engine.ISubscriber
|
||||
}
|
||||
|
||||
|
||||
4
flv.go
4
flv.go
@@ -146,7 +146,7 @@ func (r *FLVRecorder) OnEvent(event any) {
|
||||
case FLVFrame:
|
||||
check := false
|
||||
var absTime uint32
|
||||
if r.VideoReader.Track == nil {
|
||||
if r.VideoReader == nil {
|
||||
check = true
|
||||
absTime = r.AudioReader.AbsTime
|
||||
} else if v.IsVideo() {
|
||||
@@ -165,7 +165,7 @@ func (r *FLVRecorder) OnEvent(event any) {
|
||||
r.SetIO(file)
|
||||
r.Write(codec.FLVHeader)
|
||||
var dcflv net.Buffers
|
||||
if r.VideoReader.Track != nil {
|
||||
if r.VideoReader != nil {
|
||||
r.VideoReader.ResetAbsTime()
|
||||
dcflv = codec.VideoAVCC2FLV(0, r.VideoReader.Track.SequenceHead)
|
||||
flv := append(dcflv, codec.VideoAVCC2FLV(0, r.VideoReader.Frame.AVCC.ToBuffers()...)...)
|
||||
|
||||
4
mp4.go
4
mp4.go
@@ -89,10 +89,10 @@ func (r *MP4Recorder) OnEvent(event any) {
|
||||
r.SetIO(file)
|
||||
r.InitSegment = mp4.CreateEmptyInit()
|
||||
r.Moov.Mvhd.NextTrackID = 1
|
||||
if r.VideoReader.Track != nil {
|
||||
if r.VideoReader != nil {
|
||||
r.OnEvent(r.Video)
|
||||
}
|
||||
if r.AudioReader.Track != nil {
|
||||
if r.AudioReader != nil {
|
||||
r.OnEvent(r.Audio)
|
||||
}
|
||||
r.ftyp.Encode(r)
|
||||
|
||||
@@ -43,7 +43,7 @@ func (r *Recorder) OnEvent(event any) {
|
||||
}
|
||||
case AudioFrame:
|
||||
// 纯音频流的情况下需要切割文件
|
||||
if r.Fragment > 0 && r.VideoReader.Track == nil {
|
||||
if r.Fragment > 0 && r.VideoReader == nil {
|
||||
r.cut(v.AbsTime)
|
||||
}
|
||||
case VideoFrame:
|
||||
|
||||
Reference in New Issue
Block a user