From 4291c3149353c352998c5dad3b4f8cb10c0d1893 Mon Sep 17 00:00:00 2001 From: ziyue <1213642868@qq.com> Date: Thu, 16 Dec 2021 12:09:49 +0800 Subject: [PATCH] =?UTF-8?q?FMP4:=20http-fmp4=E7=9B=B4=E6=92=AD=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E6=B5=81=E7=95=85=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Record/MP4Muxer.cpp | 9 ++++----- src/Record/MP4Muxer.h | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Record/MP4Muxer.cpp b/src/Record/MP4Muxer.cpp index f4fda0ea..346d2cc8 100644 --- a/src/Record/MP4Muxer.cpp +++ b/src/Record/MP4Muxer.cpp @@ -319,14 +319,13 @@ bool MP4MuxerMemory::inputFrame(const Frame::Ptr &frame){ return false; } - bool key_frame = frame->keyFrame(); - if (_ticker.elapsedTime() > 50 || key_frame) { - //遇到关键帧或者超过50ms则切片 - _ticker.resetTime(); + auto key_frame = frame->keyFrame(); + auto data = _memory_file->getAndClearMemory(); + if (!data.empty()) { //flush切片 saveSegment(); //输出切片数据 - onSegmentData(_memory_file->getAndClearMemory(), frame->dts(), _key_frame); + onSegmentData(data, frame->dts(), _key_frame); _key_frame = false; } diff --git a/src/Record/MP4Muxer.h b/src/Record/MP4Muxer.h index 2d4c7a3e..6d51650f 100644 --- a/src/Record/MP4Muxer.h +++ b/src/Record/MP4Muxer.h @@ -141,7 +141,6 @@ protected: private: bool _key_frame = false; - Ticker _ticker; string _init_segment; MP4FileMemory::Ptr _memory_file; };