mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
新增支持mjpeg负载的mp4文件点播 (#2898)
This commit is contained in:
parent
67bc0273b4
commit
eedf262059
@ -16,8 +16,10 @@
|
|||||||
#include "Extension/AAC.h"
|
#include "Extension/AAC.h"
|
||||||
#include "Extension/G711.h"
|
#include "Extension/G711.h"
|
||||||
#include "Extension/Opus.h"
|
#include "Extension/Opus.h"
|
||||||
using namespace toolkit;
|
#include "Extension/JPEG.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
using namespace toolkit;
|
||||||
|
|
||||||
namespace mediakit {
|
namespace mediakit {
|
||||||
|
|
||||||
@ -105,8 +107,9 @@ void MP4Demuxer::onVideoTrack(uint32_t track, uint8_t object, int width, int hei
|
|||||||
video->inputFrame(std::make_shared<H264FrameNoCacheAble>((char *)config, size, 0, 0,4));
|
video->inputFrame(std::make_shared<H264FrameNoCacheAble>((char *)config, size, 0, 0,4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case MOV_OBJECT_HEVC: {
|
case MOV_OBJECT_HEVC: {
|
||||||
auto video = std::make_shared<H265Track>();
|
auto video = std::make_shared<H265Track>();
|
||||||
_track_to_codec.emplace(track,video);
|
_track_to_codec.emplace(track,video);
|
||||||
@ -120,11 +123,16 @@ void MP4Demuxer::onVideoTrack(uint32_t track, uint8_t object, int width, int hei
|
|||||||
video->inputFrame(std::make_shared<H265FrameNoCacheAble>((char *) config, size, 0, 0,4));
|
video->inputFrame(std::make_shared<H265FrameNoCacheAble>((char *) config, size, 0, 0,4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case MOV_OBJECT_JPEG: {
|
||||||
|
auto video = std::make_shared<JPEGTrack>();
|
||||||
|
_track_to_codec.emplace(track,video);
|
||||||
break;
|
break;
|
||||||
default:
|
}
|
||||||
WarnL << "不支持该编码类型的MP4,已忽略:" << getObjectName(object);
|
|
||||||
break;
|
default: WarnL << "不支持该编码类型的MP4,已忽略:" << getObjectName(object); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,6 +251,11 @@ Frame::Ptr MP4Demuxer::makeFrame(uint32_t track_id, const Buffer::Ptr &buf, int6
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case CodecJPEG: {
|
||||||
|
ret = std::make_shared<JPEGFrame>(buf, (uint64_t)dts, 0, DATA_OFFSET);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case CodecAAC: {
|
case CodecAAC: {
|
||||||
AACTrack::Ptr track = dynamic_pointer_cast<AACTrack>(it->second);
|
AACTrack::Ptr track = dynamic_pointer_cast<AACTrack>(it->second);
|
||||||
assert(track);
|
assert(track);
|
||||||
@ -283,4 +296,4 @@ uint64_t MP4Demuxer::getDurationMS() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}//namespace mediakit
|
}//namespace mediakit
|
||||||
#endif// ENABLE_MP4
|
#endif// ENABLE_MP4
|
||||||
|
Loading…
Reference in New Issue
Block a user