Commit 29fcf3eb by xiongziliang

完善代码

parent aedb1a88
...@@ -48,18 +48,14 @@ void MP4Muxer::inputFrame(const Frame::Ptr &frame) { ...@@ -48,18 +48,14 @@ void MP4Muxer::inputFrame(const Frame::Ptr &frame) {
} }
if (!_started) { if (!_started) {
//还没开始 //该逻辑确保含有视频时,第一帧为关键帧
if (!_have_video) { if (_have_video && !frame->keyFrame()) {
_started = true; //含有视频,但是不是关键帧,那么前面的帧丢弃
} else {
if (frame->getTrackType() != TrackVideo || !frame->keyFrame()) {
//如果首帧是音频或者是视频但是不是i帧,那么不能开始写文件
return; return;
} }
//开始写文件 //开始写文件
_started = true; _started = true;
} }
}
//mp4文件时间戳需要从0开始 //mp4文件时间戳需要从0开始
auto &track_info = it->second; auto &track_info = it->second;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论