• ZLMediaKit - webrtc录像


    webrtc录像

    创建

    自动录制

    [MediaServer] mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
    [MediaServer] __gnu_cxx::new_allocator::construct new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:359
    [MediaServer] std::allocate_shared, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:702
    [MediaServer] std::make_shared shared_ptr.h:718
    [MediaServer] mediakit::Recorder::createRecorder Recorder.cpp:76
    [MediaServer] mediakit::MultiMediaSourceMuxer::MultiMediaSourceMuxer MultiMediaSourceMuxer.cpp:114
    [MediaServer] __gnu_cxx::new_allocator::construct new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr.h:359
    [MediaServer] std::allocate_shared, const std::string &, const std::string &, const std::string &, float, mediakit::ProtocolOption &> shared_ptr.h:702
    [MediaServer] std::make_shared shared_ptr.h:718
    [MediaServer] mediakit::RtspMediaSourceImp::setProtocolOption RtspMediaSourceImp.h:84
    [MediaServer] ::operator()(const std::string &, const mediakit::ProtocolOption &) WebRtcTransport.cpp:1171
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const std::string &, const mediakit::ProtocolOption &) std_function.h:300
    [MediaServer] std::function::operator()(const std::string &, const mediakit::ProtocolOption &) const std_function.h:688
    [MediaServer] ::operator()(const mediakit::MediaOriginType &, const mediakit::MediaInfo &, const mediakit::Broadcast::PublishAuthInvoker &, toolkit::SockInfo &) const WebHook.cpp:302
    [MediaServer] std::_Function_handler &, toolkit::SockInfo &),  >::_M_invoke(const std::_Any_data &, const mediakit::MediaOriginType &, const mediakit::MediaInfo &, const std::function &, toolkit::SockInfo &) std_function.h:300
    [MediaServer] std::function &, toolkit::SockInfo &)>::operator()(mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function &, toolkit::SockInfo &) const std_function.h:688
    [MediaServer] toolkit::EventDispatcher::emitEvent &, toolkit::SockInfo &>(mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function &, toolkit::SockInfo &) NoticeCenter.h:57
    [MediaServer] toolkit::NoticeCenter::emitEvent &, toolkit::SockInfo &>(const std::string &, mediakit::MediaOriginType &&, mediakit::MediaInfo &, std::function &, toolkit::SockInfo &) NoticeCenter.h:102
    [MediaServer] push_plugin(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function &) WebRtcTransport.cpp:1180
    [MediaServer] std::_Function_handler &), void (*)(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function &)>::_M_invoke(const std::_Any_data &, toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function &) std_function.h:300
    [MediaServer] std::function &)>::operator()(toolkit::Session &, const std::string &, const WebRtcArgs &, const std::function &) const std_function.h:688
    [MediaServer] WebRtcPluginManager::getAnswerSdp(toolkit::Session &, const std::string &, const std::string &, const WebRtcArgs &, const std::function &) WebRtcTransport.cpp:1118
    [MediaServer] ::operator()(toolkit::SockInfo &, mediakit::HttpSession::KeyValue &, const HttpAllArgs &, Json::Value &, const mediakit::HttpSession::HttpResponseInvoker &) const WebApi.cpp:1529
    [MediaServer] std::_Function_handler &, Json::Value &, const mediakit::HttpResponseInvokerImp &),  >::_M_invoke(const std::_Any_data &, toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs &, Json::Value &, const mediakit::HttpResponseInvokerImp &) std_function.h:300
    [MediaServer] std::function &, Json::Value &, const mediakit::HttpResponseInvokerImp &)>::operator()(toolkit::SockInfo &, mediakit::StrCaseMap &, const HttpAllArgs &, Json::Value &, const mediakit::HttpResponseInvokerImp &) const std_function.h:688
    [MediaServer] ::operator()(const mediakit::Parser &, const mediakit::HttpSession::HttpResponseInvoker &, toolkit::SockInfo &) const WebApi.cpp:154
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &) std_function.h:300
    [MediaServer] std::function::operator()(const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, toolkit::SockInfo &) const std_function.h:688
    [MediaServer] ::operator()(const mediakit::Parser &, const mediakit::HttpSession::HttpResponseInvoker &, bool &, toolkit::SockInfo &) const WebApi.cpp:273
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const mediakit::Parser &, const mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &) std_function.h:300
    [MediaServer] std::function::operator()(mediakit::Parser &, mediakit::HttpResponseInvokerImp &, bool &, toolkit::SockInfo &) const std_function.h:688
    [MediaServer] toolkit::EventDispatcher::emitEvent NoticeCenter.h:57
    [MediaServer] toolkit::NoticeCenter::emitEvent NoticeCenter.h:102
    [MediaServer] mediakit::HttpSession::emitHttpEvent HttpSession.cpp:665
    [MediaServer] mediakit::HttpSession::::operator()(const char *, size_t) const HttpSession.cpp:700
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&) std_function.h:285
    [MediaServer] std::function::operator()(const char *, unsigned long) const std_function.h:688
    [MediaServer] mediakit::HttpSession::onRecvContent HttpSession.cpp:90
    [MediaServer] mediakit::HttpRequestSplitter::input HttpRequestSplitter.cpp:95
    [MediaServer] mediakit::HttpSession::onRecv HttpSession.cpp:98
    [MediaServer] toolkit::TcpSessionWithSSL::public_onRecv TcpSession.h:43
    [MediaServer] ::operator()(const std::shared_ptr &) const TcpSession.h:29
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] toolkit::SSL_Box::flushReadBio SSLBox.cpp:430
    [MediaServer] toolkit::SSL_Box::flush SSLBox.cpp:451
    [MediaServer] toolkit::SSL_Box::onRecv SSLBox.cpp:335
    [MediaServer] toolkit::TcpSessionWithSSL::onRecv TcpSession.h:38
    [MediaServer] toolkit::TcpServer::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const TcpServer.cpp:122
    [MediaServer] std::_Function_handler &, sockaddr *, int),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    http接口请求录制

    • ::::operator()(void) WebApi.cpp:1254
    • mediakit::MediaSource::setupRecord MediaSource.cpp:259
    • mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
    • mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
    • mediakit::makeRecorder MultiMediaSourceMuxer.cpp:41
    • mediakit::Recorder::createRecorder Recorder.cpp:76
    • mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
    [MediaServer] mediakit::MP4Recorder::MP4Recorder MP4Recorder.cpp:24
    [MediaServer] __gnu_cxx::new_allocator::construct new_allocator.h:146
    [MediaServer] std::allocator_traits >::construct alloc_traits.h:483
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace shared_ptr_base.h:548
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:679
    [MediaServer] std::__shared_ptr::__shared_ptr, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr_base.h:1344
    [MediaServer] std::shared_ptr::shared_ptr, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:359
    [MediaServer] std::allocate_shared, std::string &, const std::string &, const std::string &, const std::string &, unsigned long &> shared_ptr.h:702
    [MediaServer] std::make_shared shared_ptr.h:718
    [MediaServer] mediakit::Recorder::createRecorder Recorder.cpp:76
    [MediaServer] mediakit::makeRecorder MultiMediaSourceMuxer.cpp:41
    [MediaServer] mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
    [MediaServer] mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
    [MediaServer] mediakit::MediaSource::setupRecord MediaSource.cpp:259
    [MediaServer] ::::operator()(void) WebApi.cpp:1254
    [MediaServer] std::_Function_handler:: >::_M_invoke(const std::_Any_data &) std_function.h:300
    [MediaServer] std::function::operator()() const std_function.h:688
    [MediaServer] toolkit::TaskCancelableImp::operator()() const TaskExecutor.h:111
    [MediaServer] ::operator()(const std::shared_ptr > &) const EventPoller.cpp:237
    [MediaServer] toolkit::List > >::for_each< >( &&) List.h:203
    [MediaServer] toolkit::EventPoller::onPipeEvent EventPoller.cpp:235
    [MediaServer] toolkit::EventPoller::::operator()(int) const EventPoller.cpp:67
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    addTrack

    [MediaServer] mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackReady MultiMediaSourceMuxer.cpp:341
    [MediaServer] mediakit::MediaSink::::operator()(void) const MediaSink.cpp:36
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &) std_function.h:300
    [MediaServer] std::function::operator()() const std_function.h:688
    [MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:91
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:191
    [MediaServer] mediakit::H264Track::::operator()(const char *, size_t, size_t) const H264.cpp:160
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&, unsigned long &&) std_function.h:300
    [MediaServer] std::function::operator()(const char *, unsigned long, unsigned long) const std_function.h:688
    [MediaServer] mediakit::splitH264(const char *, unsigned long, unsigned long, const std::function &) H264.cpp:77
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:158
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
    [MediaServer] mediakit::H264RtpDecoder::singleFrame H264Rtp.cpp:81
    [MediaServer] mediakit::H264RtpDecoder::unpackStapA H264Rtp.cpp:97
    [MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:157
    [MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:137
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    http接口请求录制

    • ::::operator()(void) WebApi.cpp:1254
    • mediakit::MediaSource::setupRecord MediaSource.cpp:259
    • mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
    • mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
    • mediakit::makeRecorder MultiMediaSourceMuxer.cpp:43
    • mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
    [MediaServer] mediakit::MP4Recorder::addTrack MP4Recorder.cpp:127
    [MediaServer] mediakit::makeRecorder MultiMediaSourceMuxer.cpp:43
    [MediaServer] mediakit::MultiMediaSourceMuxer::setupRecord MultiMediaSourceMuxer.cpp:220
    [MediaServer] mediakit::MediaSourceEventInterceptor::setupRecord MediaSource.cpp:744
    [MediaServer] mediakit::MediaSource::setupRecord MediaSource.cpp:259
    [MediaServer] ::::operator()(void) WebApi.cpp:1254
    [MediaServer] std::_Function_handler:: >::_M_invoke(const std::_Any_data &) std_function.h:300
    [MediaServer] std::function::operator()() const std_function.h:688
    [MediaServer] toolkit::TaskCancelableImp::operator()() const TaskExecutor.h:111
    [MediaServer] ::operator()(const std::shared_ptr > &) const EventPoller.cpp:237
    [MediaServer] toolkit::List > >::for_each< >( &&) List.h:203
    [MediaServer] toolkit::EventPoller::onPipeEvent EventPoller.cpp:235
    [MediaServer] toolkit::EventPoller::::operator()(int) const EventPoller.cpp:67
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    [MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:285
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:162
    [MediaServer] toolkit::List >::for_each< >(mediakit::MediaSink:: &&) List.h:203
    [MediaServer] mediakit::MediaSink::emitAllTrackReady MediaSink.cpp:161
    [MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:113
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    http接口请求

    • toolkit::EventPoller::runLoop EventPoller.cpp:304

    • toolkit::Socket::::operator()(int) const Socket.cpp:259

    • toolkit::Socket::onRead Socket.cpp:318

    • toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257

    • toolkit::emitSessionRecv UdpServer.cpp:134

    • WebRtcSession::onRecv WebRtcSession.cpp:70

    • WebRtcTransport::inputSockData WebRtcTransport.cpp:320

    • WebRtcTransportImp::onRtp WebRtcTransport.cpp:856

    • WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884

    • RtpChannel::inputRtp WebRtcTransport.cpp:635

    • mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106

    • mediakit::PacketSortorstd::shared_ptr::sortPacket RtpReceiver.h:76

    • mediakit::PacketSortorstd::shared_ptr::tryPopPacket RtpReceiver.h:129

    • mediakit::PacketSortorstd::shared_ptr::popPacket RtpReceiver.h:91

    • mediakit::PacketSortorstd::shared_ptr::popIterator RtpReceiver.h:122

    • mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18

    • mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133

    • WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830

    • WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950

    • WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83

    • mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59

    • mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64

    • mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44

    • mediakit::FrameDispatcher::inputFrame Frame.h:331

    • mediakit::FrameDispatcher::inputFrame Frame.h:331

    • mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293

    • mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42

    • mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430

    • mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101

    [MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:285
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    2

    [MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:101
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:285
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
    [MediaServer] mediakit::H264RtpDecoder::mergeFu H264Rtp.cpp:139
    [MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:161
    [MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    创建文件

    在输入帧(inputFrame)时时如果满足下来条件会创建文件

    1. _muxer为空
    2. 到了切片时间,并且只有音频
    3. 到了切片时间,有视频并且遇到视频关键帧
    [MediaServer] mediakit::MP4Recorder::createFile MP4Recorder.cpp:39
    [MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:116
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:285
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:185
    [MediaServer] mediakit::H264Track::::operator()(const char *, size_t, size_t) const H264.cpp:160
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, const char *&&, unsigned long &&, unsigned long &&) std_function.h:300
    [MediaServer] std::function::operator()(const char *, unsigned long, unsigned long) const std_function.h:688
    [MediaServer] mediakit::splitH264(const char *, unsigned long, unsigned long, const std::function &) H264.cpp:77
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:158
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:162
    [MediaServer] toolkit::List >::for_each< >(mediakit::MediaSink:: &&) List.h:203
    [MediaServer] mediakit::MediaSink::emitAllTrackReady MediaSink.cpp:161
    [MediaServer] mediakit::MediaSink::checkTrackIfReady MediaSink.cpp:113
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:80
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::CommonRtpDecoder::inputRtp CommonRtp.cpp:44
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:64
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    http接口请求

    [MediaServer] mediakit::MP4Recorder::createFile MP4Recorder.cpp:39
    [MediaServer] mediakit::MP4Recorder::inputFrame MP4Recorder.cpp:116
    [MediaServer] mediakit::MultiMediaSourceMuxer::onTrackFrame MultiMediaSourceMuxer.cpp:430
    [MediaServer] mediakit::MediaSink::::operator()(const mediakit::Frame::Ptr &) const MediaSink.cpp:42
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, const std::shared_ptr &) std_function.h:285
    [MediaServer] std::function &)>::operator()(const std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::FrameWriterInterfaceHelper::inputFrame Frame.h:293
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
    [MediaServer] mediakit::MediaSink::inputFrame MediaSink.cpp:75
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264Track::inputFrame_l H264.cpp:206
    [MediaServer] mediakit::H264Track::inputFrame H264.cpp:153
    [MediaServer] mediakit::FrameDispatcher::inputFrame Frame.h:331
    [MediaServer] mediakit::H264RtpDecoder::outputFrame H264Rtp.cpp:189
    [MediaServer] mediakit::H264RtpDecoder::mergeFu H264Rtp.cpp:139
    [MediaServer] mediakit::H264RtpDecoder::decodeRtp H264Rtp.cpp:161
    [MediaServer] mediakit::H264RtpDecoder::inputRtp H264Rtp.cpp:50
    [MediaServer] mediakit::RtspDemuxer::inputRtp RtspDemuxer.cpp:58
    [MediaServer] mediakit::RtspMediaSourceImp::onWrite RtspMediaSourceImp.h:59
    [MediaServer] WebRtcPusher::onRecvRtp WebRtcPusher.cpp:83
    [MediaServer] WebRtcTransportImp::onSortedRtp WebRtcTransport.cpp:950
    [MediaServer] WebRtcTransportImp::::operator()(mediakit::RtpPacket::Ptr) WebRtcTransport.cpp:830
    [MediaServer] std::_Function_handler),  >::_M_invoke(const std::_Any_data &, std::shared_ptr &&) std_function.h:300
    [MediaServer] std::function)>::operator()(std::shared_ptr) const std_function.h:688
    [MediaServer] mediakit::RtpTrackImp::onRtpSorted RtpReceiver.cpp:133
    [MediaServer] mediakit::RtpTrack::::operator()(uint16_t, mediakit::RtpPacket::Ptr &) const RtpReceiver.cpp:18
    [MediaServer] std::_Function_handler &),  >::_M_invoke(const std::_Any_data &, unsigned short &&, std::shared_ptr &) std_function.h:300
    [MediaServer] std::function &)>::operator()(unsigned short, std::shared_ptr &) const std_function.h:688
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popIterator RtpReceiver.h:122
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::popPacket RtpReceiver.h:91
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::tryPopPacket RtpReceiver.h:129
    [MediaServer] mediakit::PacketSortor, unsigned short, 1024ul, 32ul>::sortPacket RtpReceiver.h:76
    [MediaServer] mediakit::RtpTrack::inputRtp RtpReceiver.cpp:106
    [MediaServer] RtpChannel::inputRtp WebRtcTransport.cpp:635
    [MediaServer] WrappedRtpTrack::inputRtp WebRtcTransport.cpp:884
    [MediaServer] WebRtcTransportImp::onRtp WebRtcTransport.cpp:856
    [MediaServer] WebRtcTransport::inputSockData WebRtcTransport.cpp:320
    [MediaServer] WebRtcSession::onRecv WebRtcSession.cpp:70
    [MediaServer] toolkit::emitSessionRecv UdpServer.cpp:134
    [MediaServer] toolkit::UdpServer::::::operator()(const toolkit::Buffer::Ptr &, sockaddr *, int) const UdpServer.cpp:257
    [MediaServer] std::_Function_handler &, sockaddr *, int), :: >::_M_invoke(const std::_Any_data &, const std::shared_ptr &, sockaddr *&&, int &&) std_function.h:300
    [MediaServer] std::function &, sockaddr *, int)>::operator()(const std::shared_ptr &, sockaddr *, int) const std_function.h:688
    [MediaServer] toolkit::Socket::onRead Socket.cpp:318
    [MediaServer] toolkit::Socket::::operator()(int) const Socket.cpp:259
    [MediaServer] std::_Function_handler >::_M_invoke(const std::_Any_data &, int &&) std_function.h:300
    [MediaServer] std::function::operator()(int) const std_function.h:688
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:304
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    关闭文件

    [MediaServer] mediakit::MP4Recorder::asyncClose MP4Recorder.cpp:66
    [MediaServer] mediakit::MP4Recorder::closeFile MP4Recorder.cpp:96
    [MediaServer] mediakit::MP4Recorder::~MP4Recorder MP4Recorder.cpp:36
    [MediaServer] __gnu_cxx::new_allocator::destroy new_allocator.h:152
    [MediaServer] std::allocator_traits >::destroy alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr::~__shared_ptr shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr::~shared_ptr shared_ptr.h:103
    [MediaServer] mediakit::MultiMediaSourceMuxer::~MultiMediaSourceMuxer MultiMediaSourceMuxer.h:74
    [MediaServer] __gnu_cxx::new_allocator::destroy new_allocator.h:152
    [MediaServer] std::allocator_traits >::destroy alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr::~__shared_ptr shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr::~shared_ptr shared_ptr.h:103
    [MediaServer] std::pair >::~pair stl_pair.h:208
    [MediaServer] __gnu_cxx::new_allocator > > >::destroy > > new_allocator.h:152
    [MediaServer] std::allocator_traits > > > >::destroy > > alloc_traits.h:496
    [MediaServer] std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_destroy_node stl_tree.h:642
    [MediaServer] std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_drop_node stl_tree.h:650
    [MediaServer] std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::_M_erase stl_tree.h:1920
    [MediaServer] std::_Rb_tree >, std::_Select1st > >, std::less, std::allocator > > >::~_Rb_tree stl_tree.h:1000
    [MediaServer] std::map, std::less, std::allocator > > >::~map stl_map.h:300
    [MediaServer] mediakit::FrameDispatcher::~FrameDispatcher Frame.h:306
    [MediaServer] mediakit::Track::~Track Track.h:30
    [MediaServer] mediakit::VideoTrack::~VideoTrack Track.h:77
    [MediaServer] mediakit::H264Track::~H264Track H264.h:94
    [MediaServer] __gnu_cxx::new_allocator::destroy new_allocator.h:152
    [MediaServer] std::allocator_traits >::destroy alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr::~__shared_ptr shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr::~shared_ptr shared_ptr.h:103
    [MediaServer] std::_Destroy > stl_construct.h:98
    [MediaServer] std::_Destroy_aux::__destroy *> stl_construct.h:108
    [MediaServer] std::_Destroy *> stl_construct.h:137
    [MediaServer] std::_Destroy *, std::shared_ptr > stl_construct.h:206
    [MediaServer] std::vector >::~vector stl_vector.h:677
    [MediaServer] mediakit::Demuxer::~Demuxer PlayerBase.h:261
    [MediaServer] mediakit::RtspDemuxer::~RtspDemuxer RtspDemuxer.h:25
    [MediaServer] __gnu_cxx::new_allocator::destroy new_allocator.h:152
    [MediaServer] std::allocator_traits >::destroy alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr::~__shared_ptr shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr::~shared_ptr shared_ptr.h:103
    [MediaServer] mediakit::RtspMediaSourceImp::~RtspMediaSourceImp RtspMediaSourceImp.h:36
    [MediaServer] __gnu_cxx::new_allocator::destroy new_allocator.h:152
    [MediaServer] std::allocator_traits >::destroy alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_M_dispose shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr::~__shared_ptr shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr::~shared_ptr shared_ptr.h:103
    [MediaServer] WebRtcPusher::::~(void) WebRtcPusher.cpp:141
    [MediaServer] std::_Function_base::_Base_manager< >::_M_destroy(std::_Any_data &, std::false_type) std_function.h:191
    [MediaServer] std::_Function_base::_Base_manager< >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) std_function.h:215
    [MediaServer] std::_Function_base::~_Function_base std_function.h:260
    [MediaServer] std::function::~function() std_function.h:369
    [MediaServer] __gnu_cxx::new_allocator >::destroy >(std::function *) new_allocator.h:152
    [MediaServer] std::allocator_traits > >::destroy >(std::allocator > &, std::function *) alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, std::allocator >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr >::~shared_ptr() shared_ptr.h:103
    [MediaServer] toolkit::TaskCancelableImp::~TaskCancelableImp() TaskExecutor.h:88
    [MediaServer] __gnu_cxx::new_allocator >::destroy >(toolkit::TaskCancelableImp *) new_allocator.h:152
    [MediaServer] std::allocator_traits > >::destroy >(std::allocator > &, toolkit::TaskCancelableImp *) alloc_traits.h:496
    [MediaServer] std::_Sp_counted_ptr_inplace, std::allocator >, (__gnu_cxx::_Lock_policy)2>::_M_dispose() shared_ptr_base.h:557
    [MediaServer] std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release shared_ptr_base.h:155
    [MediaServer] std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count shared_ptr_base.h:730
    [MediaServer] std::__shared_ptr, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() shared_ptr_base.h:1169
    [MediaServer] std::shared_ptr >::~shared_ptr() shared_ptr.h:103
    [MediaServer] std::pair > >::~pair() stl_pair.h:208
    [MediaServer] __gnu_cxx::new_allocator > > > >::destroy > > >(std::pair > > *) new_allocator.h:152
    [MediaServer] std::allocator_traits > > > > >::destroy > > >(std::allocator > > > > &, std::pair > > *) alloc_traits.h:496
    [MediaServer] std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_destroy_node(std::_Rb_tree_node > > > *) stl_tree.h:642
    [MediaServer] std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_drop_node(std::_Rb_tree_node > > > *) stl_tree.h:650
    [MediaServer] std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::_M_erase_aux(std::_Rb_tree_const_iterator > > >) stl_tree.h:2516
    [MediaServer] std::_Rb_tree > >, std::_Select1st > > >, std::less, std::allocator > > > >::erase[abi:cxx11](std::_Rb_tree_iterator > > >) stl_tree.h:1225
    [MediaServer] std::multimap > >::erase[abi:cxx11](std::_Rb_tree_iterator > > >) stl_multimap.h:707
    [MediaServer] toolkit::EventPoller::flushDelayTask EventPoller.cpp:386
    [MediaServer] toolkit::EventPoller::getMinDelay EventPoller.cpp:423
    [MediaServer] toolkit::EventPoller::runLoop EventPoller.cpp:286
    [MediaServer] std::__invoke_impl invoke.h:73
    [MediaServer] std::__invoke invoke.h:95
    [MediaServer] std::thread::_Invoker >::_M_invoke<0ul, 1ul, 2ul, 3ul> thread:244
    [MediaServer] std::thread::_Invoker >::operator() thread:251
    [MediaServer] std::thread::_State_impl > >::_M_run thread:195
    [libstdc++.so.6]  0x00007ffff7b1cde4
    [libpthread.so.0] start_thread 0x00007ffff7c31609
    [libc.so.6] clone 0x00007ffff780a263
    

    推荐一个零声学院免费教程,个人觉得老师讲得不错,
    分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
    fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
    TCP/IP,协程,DPDK等技术内容,点击立即学习

  • 相关阅读:
    LeetCode220912_102、除法求值
    K8S-EverNote同步
    Vue自定义指令
    【java源码】医院绩效考核系统源码 支持主流的“成本法”、“工作量法”、“平衡计分卡法”的绩效方案
    pringBoot的全局异常处理汇总
    超级好用的10个思维导图模板
    Nodejs -- 数据库基本概念的介绍及在Express中操作数据库
    ROS下机器人系统仿真及部分SLAM建图
    2、数仓理论概述与相关概念
    JDK发布信息、历史及未来规划
  • 原文地址:https://blog.csdn.net/hzb869168467/article/details/127045495