mirror of
https://github.com/kerberos-io/joy4.git
synced 2025-12-24 13:57:59 +08:00
avoid fps for transcoding (used for webrtc)
This commit is contained in:
@@ -141,10 +141,10 @@ func (self *tStream) videoDecodeAndEncode(inpkt av.Packet) (outpkts []av.Packet,
|
||||
return
|
||||
}
|
||||
|
||||
if dur, err = self.vdecodec.PacketDuration(inpkt.Data); err != nil {
|
||||
err = fmt.Errorf("transcode: PacketDuration() failed for input video stream #%d", inpkt.Idx)
|
||||
return
|
||||
}
|
||||
//if dur, err = self.vdecodec.PacketDuration(inpkt.Data); err != nil {
|
||||
// err = fmt.Errorf("transcode: PacketDuration() failed for input video stream #%d", inpkt.Idx)
|
||||
// return
|
||||
//}
|
||||
|
||||
if Debug {
|
||||
fmt.Println("transcode: push", inpkt.Time, dur)
|
||||
|
||||
@@ -677,6 +677,10 @@ func (enc *VideoEncoder) SetGopSize(gopSize int) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (enc *VideoEncoder) GetGopSize() (int) {
|
||||
return enc.gopSize
|
||||
}
|
||||
|
||||
func (enc *VideoEncoder) SetResolution(w, h int) (err error) {
|
||||
enc.width = w
|
||||
enc.height = h
|
||||
@@ -773,6 +777,8 @@ func NewVideoEncoderByName(name string) (enc *VideoEncoder, err error) {
|
||||
type VideoDecoder struct {
|
||||
ff *ffctx
|
||||
Extradata []byte
|
||||
fpsNum int
|
||||
fpsDen int
|
||||
}
|
||||
|
||||
func (self *VideoDecoder) Setup() (err error) {
|
||||
@@ -833,10 +839,16 @@ func (dec *VideoDecoder) Close() {
|
||||
freeFFCtx(dec.ff)
|
||||
}
|
||||
|
||||
func (dec *VideoDecoder) SetFramerate(num, den int) (err error) {
|
||||
dec.fpsNum = num
|
||||
dec.fpsDen = den
|
||||
return
|
||||
}
|
||||
|
||||
func (dec VideoDecoder) GetFramerate() (num, den int) {
|
||||
ff := &dec.ff.ff
|
||||
num = int(ff.codecCtx.framerate.num)
|
||||
den = int(ff.codecCtx.framerate.den)
|
||||
//ff := &dec.ff.ff
|
||||
num = dec.fpsNum // int(ff.codecCtx.framerate.num)
|
||||
den = dec.fpsDen //int(ff.codecCtx.framerate.den)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user