From cb7d85430df18d05356ee5157127faa9913f3363 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 15 Oct 2020 17:34:59 -0700 Subject: [PATCH 01/16] add ability to record video from gui camera using sim time Signed-off-by: Ian Chen --- .../ignition/gazebo/rendering/RenderUtil.hh | 5 ++ src/gui/plugins/scene3d/Scene3D.cc | 46 ++++++++++++++++++- src/gui/plugins/scene3d/Scene3D.hh | 8 ++++ src/rendering/RenderUtil.cc | 7 +++ 4 files changed, 65 insertions(+), 1 deletion(-) diff --git a/include/ignition/gazebo/rendering/RenderUtil.hh b/include/ignition/gazebo/rendering/RenderUtil.hh index 72a0055e79..aa66219bb3 100644 --- a/include/ignition/gazebo/rendering/RenderUtil.hh +++ b/include/ignition/gazebo/rendering/RenderUtil.hh @@ -119,6 +119,11 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// Returns reference to the marker manager. public: class MarkerManager &MarkerManager(); + /// \brief Get simulation time that the current rendering state corresponds + /// to + /// \returns Simulation time. + public: std::chrono::steady_clock::duration SimTime() const; + /// \brief Set the entity being selected /// \param[in] _node Node representing the selected entity /// \TODO(anyone) Make const ref when merging forward diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 053fcd003a..79524b7bc6 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -194,6 +194,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \brief Path to save the recorded video public: std::string recordVideoSavePath; + /// \brief Use sim time as timestamp during video recording + /// By default (false), video encoding is done using real time. + public: bool recordVideoUseSimTime = false; + /// \brief Target to move the user camera to public: std::string moveToTarget; @@ -475,8 +479,16 @@ void IgnRenderer::Render() if (this->dataPtr->videoEncoder.IsEncoding()) { this->dataPtr->camera->Copy(this->dataPtr->cameraImage); + + std::chrono::steady_clock::time_point t = + std::chrono::steady_clock::now(); + if (this->dataPtr->recordVideoUseSimTime) + { + t = std::chrono::steady_clock::time_point( + this->dataPtr->renderUtil.SimTime()); + } this->dataPtr->videoEncoder.AddFrame( - this->dataPtr->cameraImage.Data(), width, height); + this->dataPtr->cameraImage.Data(), width, height, t); } // Video recorder is idle. Start recording. else @@ -1654,6 +1666,13 @@ void IgnRenderer::SetRecordVideo(bool _record, const std::string &_format, this->dataPtr->recordVideoSavePath = _savePath; } +///////////////////////////////////////////////// +void IgnRenderer::SetRecordVideoUseSimTime(bool _useSimTime) +{ + std::lock_guard lock(this->dataPtr->mutex); + this->dataPtr->recordVideoUseSimTime = _useSimTime; +} + ///////////////////////////////////////////////// void IgnRenderer::SetMoveTo(const std::string &_target) { @@ -2270,6 +2289,24 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) } } + if (auto elem = _pluginElem->FirstChildElement("record_video")) + { + if (auto useSimTimeElem = elem->FirstChildElement("use_sim_time")) + { + std::string useSimTimeStr = + common::lowercase(useSimTimeElem->GetText()); + if (useSimTimeStr == "true" || useSimTimeStr == "1") + renderWindow->SetRecordVideoUseSimTime(true); + else if (useSimTimeStr == "false" || useSimTimeStr == "0") + renderWindow->SetRecordVideoUseSimTime(false); + else + { + ignerr << "Faild to parse value: " << useSimTimeStr + << std::endl; + } + } + } + if (auto elem = _pluginElem->FirstChildElement("fullscreen")) { auto fullscreen = false; @@ -2733,6 +2770,13 @@ void RenderWindowItem::SetWorldName(const std::string &_name) this->dataPtr->renderThread->ignRenderer.worldName = _name; } +///////////////////////////////////////////////// +void RenderWindowItem::SetRecordVideoUseSimTime(bool _useSimTime) +{ + this->dataPtr->renderThread->ignRenderer.SetRecordVideoUseSimTime( + _useSimTime); +} + ///////////////////////////////////////////////// void RenderWindowItem::OnHovered(const ignition::math::Vector2i &_hoverPos) { diff --git a/src/gui/plugins/scene3d/Scene3D.hh b/src/gui/plugins/scene3d/Scene3D.hh index 5adf01854e..a7bde066b6 100644 --- a/src/gui/plugins/scene3d/Scene3D.hh +++ b/src/gui/plugins/scene3d/Scene3D.hh @@ -206,6 +206,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { public: void SetRecordVideo(bool _record, const std::string &_format, const std::string &_savePath); + /// \brief Set whether to record video using sim time as timestamp + /// \param[in] _true True record video using sim time + public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Move the user camera to move to the speficied target /// \param[in] _target Target to move the camera to public: void SetMoveTo(const std::string &_target); @@ -515,6 +519,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { public: void SetRecordVideo(bool _record, const std::string &_format, const std::string &_savePath); + /// \brief Set whether to record video using sim time as timestamp + /// \param[in] _true True record video using sim time + public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Move the user camera to move to the specified target /// \param[in] _target Target to move the camera to public: void SetMoveTo(const std::string &_target); diff --git a/src/rendering/RenderUtil.cc b/src/rendering/RenderUtil.cc index 8288c49e1f..9dc0b9ec58 100644 --- a/src/rendering/RenderUtil.cc +++ b/src/rendering/RenderUtil.cc @@ -1143,6 +1143,13 @@ MarkerManager &RenderUtil::MarkerManager() return this->dataPtr->markerManager; } +////////////////////////////////////////////////// +std::chrono::steady_clock::duration RenderUtil::SimTime() const +{ + std::lock_guard lock(this->dataPtr->updateMutex); + return this->dataPtr->simTime; +} + ///////////////////////////////////////////////// // NOLINTNEXTLINE void RenderUtil::SetSelectedEntity(rendering::NodePtr _node) From a12d948dc9dd66f81a28c73da8268dde8eee82f2 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 15 Oct 2020 20:11:29 -0700 Subject: [PATCH 02/16] add msg Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 79524b7bc6..2674740104 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -493,6 +493,8 @@ void IgnRenderer::Render() // Video recorder is idle. Start recording. else { + if (this->dataPtr->recordVideoUseSimTime) + ignmsg << "Recording video using sim time." << std::endl; this->dataPtr->videoEncoder.Start(this->dataPtr->recordVideoFormat, this->dataPtr->recordVideoSavePath, width, height); } From 925d22926d1497754d437ca34c21781290d3c3d3 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Fri, 16 Oct 2020 15:47:08 -0700 Subject: [PATCH 03/16] add lockstep mode during video recording Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 58 ++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 2674740104..6029b2b212 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -15,8 +15,10 @@ * */ +#include #include #include +#include #include #include #include @@ -62,6 +64,15 @@ #include "Scene3D.hh" +/// \brife True if rendering has been initialized +bool g_renderInit = false; + +/// \brief condition variable for lockstepping video recording +std::condition_variable g_renderCv; + +/// \brief mutex for lockstepping video recording +std::mutex g_renderMutex; + Q_DECLARE_METATYPE(std::string) namespace ignition @@ -379,6 +390,15 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \brief Camera pose publisher public: transport::Node::Publisher cameraPosePub; + + /// \brief lockstep ECM updates with rendering + public: bool recordVideoLockstep = false; + + /// \brief True to indicate video recording in progress + public: bool recording = false; + + /// \brief mutex to protect the recording variable + public: std::mutex recordMutex; }; } } @@ -686,6 +706,10 @@ void IgnRenderer::Render() ignition::gui::App()->findChild(), &event); } + + // only has an effect in video recording lockstep mode + // this notifes ECM to continue updating the scene + g_renderCv.notify_one(); } ///////////////////////////////////////////////// @@ -2049,6 +2073,8 @@ void RenderWindowItem::Ready() this->dataPtr->renderThread->start(); this->update(); + + g_renderInit = true; } ///////////////////////////////////////////////// @@ -2307,6 +2333,22 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) << std::endl; } } + if (auto lockstepElem = elem->FirstChildElement("lockstep")) + { + std::string lockstepStr = + common::lowercase(lockstepElem->GetText()); + if (lockstepStr == "true" || lockstepStr == "1") + { + this->dataPtr->recordVideoLockstep = true; + } + else if (lockstepStr == "false" || lockstepStr == "0") + this->dataPtr->recordVideoLockstep = false; + else + { + ignerr << "Faild to parse value: " << lockstepStr + << std::endl; + } + } } if (auto elem = _pluginElem->FirstChildElement("fullscreen")) @@ -2422,6 +2464,16 @@ void Scene3D::Update(const UpdateInfo &_info, this->dataPtr->cameraPosePub.Publish(poseMsg); } this->dataPtr->renderUtil->UpdateFromECM(_info, _ecm); + + // check if video recording is enabled and if we need to lock step + // ECM updates with GUI rendering during video recording + std::unique_lock lock(this->dataPtr->recordMutex); + if (this->dataPtr->recording && this->dataPtr->recordVideoLockstep && + g_renderInit) + { + std::unique_lock lock2(g_renderMutex); + g_renderCv.wait(lock2); + } } ///////////////////////////////////////////////// @@ -2445,6 +2497,12 @@ bool Scene3D::OnRecordVideo(const msgs::VideoRecord &_msg, renderWindow->SetRecordVideo(record, _msg.format(), _msg.save_filename()); _res.set_data(true); + + std::unique_lock lock(this->dataPtr->recordMutex); + this->dataPtr->recording = record; + if (this->dataPtr->recording && this->dataPtr->recordVideoLockstep) + ignmsg << "Recording video in lockstep mode" << std::endl; + return true; } From 7348bf42a8c103cdc582237afeafc6dcc653c09b Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Fri, 16 Oct 2020 17:47:04 -0700 Subject: [PATCH 04/16] add support for configurating state pub rate Signed-off-by: Ian Chen --- src/systems/scene_broadcaster/SceneBroadcaster.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/systems/scene_broadcaster/SceneBroadcaster.cc b/src/systems/scene_broadcaster/SceneBroadcaster.cc index 72f20491c1..ef72bb5d14 100644 --- a/src/systems/scene_broadcaster/SceneBroadcaster.cc +++ b/src/systems/scene_broadcaster/SceneBroadcaster.cc @@ -217,6 +217,11 @@ void SceneBroadcaster::Configure( auto readHertz = _sdf->Get("dynamic_pose_hertz", 60); this->dataPtr->dyPoseHertz = readHertz.first; + auto stateHerz = _sdf->Get("state_hertz", 60); + this->dataPtr->statePublishPeriod = + std::chrono::duration>( + std::chrono::milliseconds(1000/stateHerz.first)); + // Add to graph { std::lock_guard lock(this->dataPtr->graphMutex); From 6533d0dc5cb3caac6040e7d3182afbeef5df0541 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Tue, 20 Oct 2020 23:48:53 -0700 Subject: [PATCH 05/16] set bit rate and pub recorder video stats Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 76 +++++++++++++++++++++++++++++- src/gui/plugins/scene3d/Scene3D.hh | 8 ++++ 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 6029b2b212..36e8193dd0 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -209,6 +209,15 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// By default (false), video encoding is done using real time. public: bool recordVideoUseSimTime = false; + /// \brief Video recorder bitrate (bps) + public: unsigned int recordVideoBitrate = 2070000; + + /// \brief Start tiem of video recording + public: std::chrono::steady_clock::time_point recordStartTime; + + /// \brief Camera pose publisher + public: transport::Node::Publisher recorderStatsPub; + /// \brief Target to move the user camera to public: std::string moveToTarget; @@ -414,6 +423,13 @@ IgnRenderer::IgnRenderer() : dataPtr(new IgnRendererPrivate) { this->dataPtr->moveToHelper.initCameraPose = this->cameraPose; + + // recorder stats topic + std::string recorderStatsTopic = "/gui/record_video/stats"; + this->dataPtr->recorderStatsPub = + this->dataPtr->node.Advertise(recorderStatsTopic); + ignmsg << "Video recorder stats topic advertised on [" + << recorderStatsTopic << "]" << std::endl; } @@ -507,16 +523,42 @@ void IgnRenderer::Render() t = std::chrono::steady_clock::time_point( this->dataPtr->renderUtil.SimTime()); } - this->dataPtr->videoEncoder.AddFrame( + bool frameAdded = this->dataPtr->videoEncoder.AddFrame( this->dataPtr->cameraImage.Data(), width, height, t); + + if (frameAdded) + { + // publish recorder stats + if (this->dataPtr->recordStartTime == + std::chrono::steady_clock::time_point( + std::chrono::duration(std::chrono::seconds(0)))) + { + // start time, i.e. time when first frame is added + this->dataPtr->recordStartTime = t; + } + + std::chrono::steady_clock::duration dt; + dt = t - this->dataPtr->recordStartTime; + int64_t sec, nsec; + std::tie(sec, nsec) = ignition::math::durationToSecNsec(dt); + msgs::Time msg; + msg.set_sec(sec); + msg.set_nsec(nsec); + this-dataPtr->recorderStatsPub.Publish(msg); + } } // Video recorder is idle. Start recording. else { if (this->dataPtr->recordVideoUseSimTime) ignmsg << "Recording video using sim time." << std::endl; + ignmsg << "Recording video using bitrate: " + << this->dataPtr->recordVideoBitrate << std::endl; this->dataPtr->videoEncoder.Start(this->dataPtr->recordVideoFormat, - this->dataPtr->recordVideoSavePath, width, height); + this->dataPtr->recordVideoSavePath, width, height, 25, + this->dataPtr->recordVideoBitrate); + this->dataPtr->recordStartTime = std::chrono::steady_clock::time_point( + std::chrono::duration(std::chrono::seconds(0))); } } else if (this->dataPtr->videoEncoder.IsEncoding()) @@ -1699,6 +1741,13 @@ void IgnRenderer::SetRecordVideoUseSimTime(bool _useSimTime) this->dataPtr->recordVideoUseSimTime = _useSimTime; } +///////////////////////////////////////////////// +void IgnRenderer::SetRecordVideoBitrate(unsigned int _bitrate) +{ + std::lock_guard lock(this->dataPtr->mutex); + this->dataPtr->recordVideoBitrate = _bitrate; +} + ///////////////////////////////////////////////// void IgnRenderer::SetMoveTo(const std::string &_target) { @@ -2349,6 +2398,22 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) << std::endl; } } + if (auto bitrateElem = elem->FirstChildElement("bitrate")) + { + unsigned int bitrate = 0u; + std::stringstream bitrateStr; + bitrateStr << std::string(bitrateElem->GetText()); + bitrateStr >> bitrate; + if (bitrate > 0u) + { + renderWindow->SetRecordVideoBitrate(bitrate); + } + else + { + ignerr << "Video recorder bitrate must be larger than 0" + << std::endl; + } + } } if (auto elem = _pluginElem->FirstChildElement("fullscreen")) @@ -2837,6 +2902,13 @@ void RenderWindowItem::SetRecordVideoUseSimTime(bool _useSimTime) _useSimTime); } +///////////////////////////////////////////////// +void RenderWindowItem::SetRecordVideoBitrate(unsigned int _bitrate) +{ + this->dataPtr->renderThread->ignRenderer.SetRecordVideoBitrate( + _bitrate); +} + ///////////////////////////////////////////////// void RenderWindowItem::OnHovered(const ignition::math::Vector2i &_hoverPos) { diff --git a/src/gui/plugins/scene3d/Scene3D.hh b/src/gui/plugins/scene3d/Scene3D.hh index a7bde066b6..a357510d81 100644 --- a/src/gui/plugins/scene3d/Scene3D.hh +++ b/src/gui/plugins/scene3d/Scene3D.hh @@ -210,6 +210,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \param[in] _true True record video using sim time public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Set video recorder bitrate in bps + /// \param[in] _bitrate Bit rate to set to + public: void SetRecordVideoBitrate(unsigned int _bitrate); + /// \brief Move the user camera to move to the speficied target /// \param[in] _target Target to move the camera to public: void SetMoveTo(const std::string &_target); @@ -523,6 +527,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \param[in] _true True record video using sim time public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Set video recorder bitrate in bps + /// \param[in] _bitrate Bit rate to set to + public: void SetRecordVideoBitrate(unsigned int _bitrate); + /// \brief Move the user camera to move to the specified target /// \param[in] _target Target to move the camera to public: void SetMoveTo(const std::string &_target); From 90f78fe67a1d8f260e8e42ab23d185ff2acde03e Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Fri, 23 Oct 2020 21:21:39 -0700 Subject: [PATCH 06/16] strict lockstepping with gui camera Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 43 ++++++++++++++++++++++++++++++ src/gui/plugins/scene3d/Scene3D.hh | 8 ++++++ 2 files changed, 51 insertions(+) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 36e8193dd0..aedbe1b0cf 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -209,9 +209,16 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// By default (false), video encoding is done using real time. public: bool recordVideoUseSimTime = false; + /// \brief Lockstep gui with ECM when recording + public: bool recordVideoLockstep = false; + /// \brief Video recorder bitrate (bps) public: unsigned int recordVideoBitrate = 2070000; + /// \brief Previous camera update time during video recording + /// only used in lockstep mode and recording in sim time. + public: std::chrono::steady_clock::time_point recordVideoUpdateTime; + /// \brief Start tiem of video recording public: std::chrono::steady_clock::time_point recordStartTime; @@ -491,7 +498,24 @@ void IgnRenderer::Render() } } + // check if recording is in lockstep mode and if it is using sim time + // if so, there is no need to update camera if sim time has not advanced + bool update = true; + if (this->dataPtr->recordVideoLockstep && + this->dataPtr->recordVideoUseSimTime && + this->dataPtr->videoEncoder.IsEncoding()) + { + std::chrono::steady_clock::time_point t = + std::chrono::steady_clock::time_point( + this->dataPtr->renderUtil.SimTime()); + if (t - this->dataPtr->recordVideoUpdateTime == std::chrono::seconds(0)) + update = false; + else + this->dataPtr->recordVideoUpdateTime = t; + } + // update and render to texture + if (update) { IGN_PROFILE("IgnRenderer::Render Update camera"); this->dataPtr->camera->Update(); @@ -1741,6 +1765,13 @@ void IgnRenderer::SetRecordVideoUseSimTime(bool _useSimTime) this->dataPtr->recordVideoUseSimTime = _useSimTime; } +///////////////////////////////////////////////// +void IgnRenderer::SetRecordVideoLockstep(bool _useSimTime) +{ + std::lock_guard lock(this->dataPtr->mutex); + this->dataPtr->recordVideoLockstep = _useSimTime; +} + ///////////////////////////////////////////////// void IgnRenderer::SetRecordVideoBitrate(unsigned int _bitrate) { @@ -2389,9 +2420,13 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) if (lockstepStr == "true" || lockstepStr == "1") { this->dataPtr->recordVideoLockstep = true; + renderWindow->SetRecordVideoLockstep(true); } else if (lockstepStr == "false" || lockstepStr == "0") + { this->dataPtr->recordVideoLockstep = false; + renderWindow->SetRecordVideoLockstep(false); + } else { ignerr << "Faild to parse value: " << lockstepStr @@ -2538,6 +2573,7 @@ void Scene3D::Update(const UpdateInfo &_info, { std::unique_lock lock2(g_renderMutex); g_renderCv.wait(lock2); + } } @@ -2902,6 +2938,13 @@ void RenderWindowItem::SetRecordVideoUseSimTime(bool _useSimTime) _useSimTime); } +///////////////////////////////////////////////// +void RenderWindowItem::SetRecordVideoLockstep(bool _lockstep) +{ + this->dataPtr->renderThread->ignRenderer.SetRecordVideoLockstep( + _lockstep); +} + ///////////////////////////////////////////////// void RenderWindowItem::SetRecordVideoBitrate(unsigned int _bitrate) { diff --git a/src/gui/plugins/scene3d/Scene3D.hh b/src/gui/plugins/scene3d/Scene3D.hh index a357510d81..921ad6d684 100644 --- a/src/gui/plugins/scene3d/Scene3D.hh +++ b/src/gui/plugins/scene3d/Scene3D.hh @@ -210,6 +210,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \param[in] _true True record video using sim time public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Set whether to record video in lockstep mode + /// \param[in] _true True to record video in lockstep mode + public: void SetRecordVideoLockstep(bool _lockstep); + /// \brief Set video recorder bitrate in bps /// \param[in] _bitrate Bit rate to set to public: void SetRecordVideoBitrate(unsigned int _bitrate); @@ -527,6 +531,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \param[in] _true True record video using sim time public: void SetRecordVideoUseSimTime(bool _useSimTime); + /// \brief Set whether to record video in lockstep mode + /// \param[in] _true True to record video in lockstep mode + public: void SetRecordVideoLockstep(bool _lockstep); + /// \brief Set video recorder bitrate in bps /// \param[in] _bitrate Bit rate to set to public: void SetRecordVideoBitrate(unsigned int _bitrate); From 7dccc0a08f9e926b9460c7662d49dbb0ce24ea61 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 2 Nov 2020 16:01:45 -0800 Subject: [PATCH 07/16] add video recorder tutorial Signed-off-by: Ian Chen --- tutorials.md.in | 1 + .../files/video_recorder/video_recorder.png | Bin 0 -> 47398 bytes tutorials/video_recorder.md | 93 ++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 tutorials/files/video_recorder/video_recorder.png create mode 100644 tutorials/video_recorder.md diff --git a/tutorials.md.in b/tutorials.md.in index d6ace40092..0b7b512f69 100644 --- a/tutorials.md.in +++ b/tutorials.md.in @@ -21,6 +21,7 @@ Ignition @IGN_DESIGNATION_CAP@ library and how to use the library effectively. * \subpage meshtofuel "Importing a Mesh to Fuel": Build a model directory around a mesh so it can be added to the Ignition Fuel app. * \subpage detachablejoints "Detachable Joints": Creating models that start off rigidly attached and then get detached during simulation * \subpage triggeredpublisher "Triggered Publisher": Using the TriggeredPublisher system to orchestrate actions in simulation +* \subpage videorecorder "Video Recorder": Record videos from the 3D render window. **Migration from Gazebo-classic** diff --git a/tutorials/files/video_recorder/video_recorder.png b/tutorials/files/video_recorder/video_recorder.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b06895c9637633f252387fb76246224c4c7eed GIT binary patch literal 47398 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%0D34+>^}tlJo^*SaD)o}HIOa{t>O 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 SnR;Nr$9pLy$!c-q;Qt3LxtI(9 literal 0 HcmV?d00001 diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md new file mode 100644 index 0000000000..f2952ce056 --- /dev/null +++ b/tutorials/video_recorder.md @@ -0,0 +1,93 @@ +\page videorecorder Video Recorder + +## Using the video recorder plugin + +Ignition Gazebo offers an video recorder tool for recording video from the 3D +Scene in the rendering window. The tool is available as a GUI plugin. To open +this plugin, first launch Ign Gazebo and select the ellipsis menu on top right +(3 dots menu), and scroll down to find the `Video Recorder` option. Click on +the plugin to open the Video Recorder tool. + +Inside this tool, you should see a single button with a video recorder icon. +Clicking on the button gives you the video format options that are available. + +![Video Recorder](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/video_recorder/video_recorder.png) + +Once an option is selected, recording starts immediately as now indicated by +the flashing video recorder icon. At anytime that you wish to stop recording, +click on flashing icon and select `Stop`. A file dialog window should pop up +and let you select the path to save the recorded file in. + + +## Video recorder configurations + +A few video recorder configurations can be specified through the gui.config +file, see the [GUI Configuration](gui_config.html) tutorial for more +information about where to locate the file and how to load different +configurations. For this tutorial, we will assume that you will be using the +default gui.config located in `$HOME/.ignition/gazebo/gui.config`. + +Recall that videos are recorded from the 3D Scene, we will add the video +configuration options to the 3D scene plugin. Here is example of the +Scene 3D plugin with custom video recording settings: + +```xml + + + 3D View + false + docked + + + ogre2 + scene + 0.4 0.4 0.4 + 0.8 0.8 0.8 + 6 0 6 0 0.5 3.14 + + + true + true + 8000000 + + + +``` + +Options are: + +* ``: Values are `[true|false]`. Record videos based on sim time, +i.e. each frame encoded into the video will be timestamped using sim time. +For example, if a complex simulation was running at half of real time, and +`` is set to true, video playback should ignore delays due +to low Real Time Factor (RTF) and plays back simulation as if RTF was 1.0. +By default, the value is `false`, which means the videos are recorded in real +time. + +* ``: Values are `[true|false]`. Lockstep simulation for video +recording. This forces the GUI to pause and only process a new state update +from the server until the video recorder finishes encoding the current frame. +This ensures that the video recorder does not miss any updates / frames in the +resulting video. This configuration make more sense when used with +`` set to `true`, in which case it produces smooth videos +with exact timing, i.e. if you record simulation for 1 minute sim time, +the resulting video should be also 1 min long (+/- 1 second due to encoder +settings). Defaults to `false`. Note: the server publishes states at 60Hz +and the video recorder records at 25 FPS so it also makes sense to update the +Scene Broadcaster system to only publish states at 25Hz. You can do this by +going to the world sdf file, locate the +`ignition::gazebo::systems::SceneBroadcaster` system, and set the +`` parameter: + + ```xml + + 25 + + ``` + + +* ``: Video encoding bitrate in bps. This affects the quality of the +generated video. The default bitrate is 2Mbps. + + From 31619cdce8a11985dffaea953c2d8e2df7a4c230 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 2 Nov 2020 16:23:21 -0800 Subject: [PATCH 08/16] add gif Signed-off-by: Ian Chen --- tutorials/video_recorder.md | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md index f2952ce056..d2107848d9 100644 --- a/tutorials/video_recorder.md +++ b/tutorials/video_recorder.md @@ -6,17 +6,30 @@ Ignition Gazebo offers an video recorder tool for recording video from the 3D Scene in the rendering window. The tool is available as a GUI plugin. To open this plugin, first launch Ign Gazebo and select the ellipsis menu on top right (3 dots menu), and scroll down to find the `Video Recorder` option. Click on -the plugin to open the Video Recorder tool. +the plugin to open the Video Recorder tool. Alternatively, launch the demo +world in ign-gazebo that already has this plugin included in the GUI. -Inside this tool, you should see a single button with a video recorder icon. +``` +ign gazebo -v 4 video_record_dbl_pendulum.sdf +``` + +In this plugin, you should see a single button with a video recorder icon. Clicking on the button gives you the video format options that are available. -![Video Recorder](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/983d50937cbcaa75c790515b2ec5797fe82f1188/tutorials/files/video_recorder/video_recorder.png) +![Video Recorder formats](https://github.com/ignitionrobotics/ign-gazebo/raw/7dccc0a08f9e926b9460c7662d49dbb0ce24ea61/tutorials/files/video_recorder/video_recorder.png) Once an option is selected, recording starts immediately as now indicated by the flashing video recorder icon. At anytime that you wish to stop recording, click on flashing icon and select `Stop`. A file dialog window should pop up -and let you select the path to save the recorded file in. +and let you select the path to save the recorded file in. Save the file and +make sure to also include the file extension in the filename. + +Playback the video you just saved and you should notice that the resolution +of the video is based on the size of your 3D Scene window. So if you wish +to record the video in a different size, make sure to configure the GUI +window prior to recording. + +![Video Recorder gif](https://github.com/ignitionrobotics/ign-gazebo/raw/7dccc0a08f9e926b9460c7662d49dbb0ce24ea61/tutorials/files/video_recorder/video_recorder.gif) ## Video recorder configurations @@ -48,7 +61,7 @@ Scene 3D plugin with custom video recording settings: true true - 8000000 + 4000000 @@ -56,7 +69,7 @@ Scene 3D plugin with custom video recording settings: Options are: -* ``: Values are `[true|false]`. Record videos based on sim time, +* **use_sim_time**: Values are `[true|false]`. Record videos based on sim time, i.e. each frame encoded into the video will be timestamped using sim time. For example, if a complex simulation was running at half of real time, and `` is set to true, video playback should ignore delays due @@ -64,7 +77,7 @@ to low Real Time Factor (RTF) and plays back simulation as if RTF was 1.0. By default, the value is `false`, which means the videos are recorded in real time. -* ``: Values are `[true|false]`. Lockstep simulation for video +* **lockstep**: Values are `[true|false]`. Lockstep simulation for video recording. This forces the GUI to pause and only process a new state update from the server until the video recorder finishes encoding the current frame. This ensures that the video recorder does not miss any updates / frames in the @@ -79,15 +92,15 @@ going to the world sdf file, locate the `ignition::gazebo::systems::SceneBroadcaster` system, and set the `` parameter: - ```xml +```xml 25 - ``` +``` -* ``: Video encoding bitrate in bps. This affects the quality of the +* **bitrate**: Video encoding bitrate in bps. This affects the quality of the generated video. The default bitrate is 2Mbps. From d19f507ca7f08d3b060665d5b180a7e9cbe2dde2 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 2 Nov 2020 16:24:18 -0800 Subject: [PATCH 09/16] add giff Signed-off-by: Ian Chen --- .../files/video_recorder/video_recorder.gif | Bin 0 -> 222842 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tutorials/files/video_recorder/video_recorder.gif diff --git a/tutorials/files/video_recorder/video_recorder.gif b/tutorials/files/video_recorder/video_recorder.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9e9b28dc9351a56f6f34434f41b1e1d10bf0952 GIT binary patch literal 222842 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 gB)_XA8a{x_M%Mjc+ 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 aK; Date: Mon, 2 Nov 2020 16:48:26 -0800 Subject: [PATCH 10/16] updates to gui configurations Signed-off-by: Ian Chen --- tutorials/video_recorder.md | 57 +++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md index d2107848d9..738ecc02fb 100644 --- a/tutorials/video_recorder.md +++ b/tutorials/video_recorder.md @@ -2,12 +2,12 @@ ## Using the video recorder plugin -Ignition Gazebo offers an video recorder tool for recording video from the 3D -Scene in the rendering window. The tool is available as a GUI plugin. To open -this plugin, first launch Ign Gazebo and select the ellipsis menu on top right -(3 dots menu), and scroll down to find the `Video Recorder` option. Click on -the plugin to open the Video Recorder tool. Alternatively, launch the demo -world in ign-gazebo that already has this plugin included in the GUI. +Ignition Gazebo offers an video recorder tool for recording videos from the 3D +Scene. The tool is available as a GUI plugin. To open this plugin, first launch +Ignition Gazebo and select the ellipsis menu on top right (3 dots menu), and +scroll down to find the `Video Recorder` option. Click on the plugin to open +the Video Recorder tool. Alternatively, launch the demo world in Ignition Gazebo +that already has this plugin included in the GUI. ``` ign gazebo -v 4 video_record_dbl_pendulum.sdf @@ -18,10 +18,10 @@ Clicking on the button gives you the video format options that are available. ![Video Recorder formats](https://github.com/ignitionrobotics/ign-gazebo/raw/7dccc0a08f9e926b9460c7662d49dbb0ce24ea61/tutorials/files/video_recorder/video_recorder.png) -Once an option is selected, recording starts immediately as now indicated by -the flashing video recorder icon. At anytime that you wish to stop recording, -click on flashing icon and select `Stop`. A file dialog window should pop up -and let you select the path to save the recorded file in. Save the file and +Once an option is selected, recording starts immediately and indicated by +a flashing video recorder icon. At anytime that you wish to stop recording, +click on the flashing icon and select `Stop`. A file dialog window should pop up +and let you select the path to save the recorded video in. Save the file and make sure to also include the file extension in the filename. Playback the video you just saved and you should notice that the resolution @@ -29,20 +29,24 @@ of the video is based on the size of your 3D Scene window. So if you wish to record the video in a different size, make sure to configure the GUI window prior to recording. -![Video Recorder gif](https://github.com/ignitionrobotics/ign-gazebo/raw/7dccc0a08f9e926b9460c7662d49dbb0ce24ea61/tutorials/files/video_recorder/video_recorder.gif) +![Video Recorder gif](https://github.com/ignitionrobotics/ign-gazebo/raw/d19f507ca7f08d3b060665d5b180a7e9cbe2dde2/tutorials/files/video_recorder/video_recorder.gif) ## Video recorder configurations -A few video recorder configurations can be specified through the gui.config -file, see the [GUI Configuration](gui_config.html) tutorial for more -information about where to locate the file and how to load different -configurations. For this tutorial, we will assume that you will be using the -default gui.config located in `$HOME/.ignition/gazebo/gui.config`. +A few video recorder parameters can be specified using GUI configurations, see +the [GUI Configuration](gui_config.html) tutorial for more information. +If you launched Ignition Gazebo with the +`video_record_dbl_pendulum.sdf` demo world, the GUI configurations are embedded +in the world SDF file so you will need to download a copy of the +[sdf file](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/ign-gazebo3/examples/worlds/video_record_dbl_pendulum.sdf). +and modify the GUI configuration in that file. On the other hand, if launched +Ignition Gazebo with a world file that does not have GUI configurations, you +will need to specify the settings in `$HOME/.ignition/gazebo/gui.config` -Recall that videos are recorded from the 3D Scene, we will add the video -configuration options to the 3D scene plugin. Here is example of the -Scene 3D plugin with custom video recording settings: +Recall that videos are recorded from the 3D Scene, we will to set the video +configurations in the 3D scene plugin. Here is an example of the +Scene 3D plugin with custom video recorder settings: ```xml @@ -71,24 +75,24 @@ Options are: * **use_sim_time**: Values are `[true|false]`. Record videos based on sim time, i.e. each frame encoded into the video will be timestamped using sim time. -For example, if a complex simulation was running at half of real time, and +For example, if a complex simulation was running at half of real time speed, and `` is set to true, video playback should ignore delays due to low Real Time Factor (RTF) and plays back simulation as if RTF was 1.0. -By default, the value is `false`, which means the videos are recorded in real -time. +By default, the value is `false`, which means the videos are recorded based +on real time. * **lockstep**: Values are `[true|false]`. Lockstep simulation for video recording. This forces the GUI to pause and only process a new state update from the server until the video recorder finishes encoding the current frame. This ensures that the video recorder does not miss any updates / frames in the -resulting video. This configuration make more sense when used with +resulting video. This configuration makes more sense when used with `` set to `true`, in which case it produces smooth videos with exact timing, i.e. if you record simulation for 1 minute sim time, -the resulting video should be also 1 min long (+/- 1 second due to encoder +the resulting video should be also 1 minute long (+/- 1 second due to encoder settings). Defaults to `false`. Note: the server publishes states at 60Hz and the video recorder records at 25 FPS so it also makes sense to update the Scene Broadcaster system to only publish states at 25Hz. You can do this by -going to the world sdf file, locate the +going to the world SDF file, locate the `ignition::gazebo::systems::SceneBroadcaster` system, and set the `` parameter: @@ -99,8 +103,5 @@ going to the world sdf file, locate the ``` - * **bitrate**: Video encoding bitrate in bps. This affects the quality of the generated video. The default bitrate is 2Mbps. - - From 46a7d1fc21b7648589f12665f8c0ca4503bf988c Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 2 Nov 2020 18:01:30 -0800 Subject: [PATCH 11/16] update link, typos Signed-off-by: Ian Chen --- tutorials/video_recorder.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md index 738ecc02fb..f903211186 100644 --- a/tutorials/video_recorder.md +++ b/tutorials/video_recorder.md @@ -2,7 +2,7 @@ ## Using the video recorder plugin -Ignition Gazebo offers an video recorder tool for recording videos from the 3D +Ignition Gazebo offers a video recorder tool for recording videos from the 3D Scene. The tool is available as a GUI plugin. To open this plugin, first launch Ignition Gazebo and select the ellipsis menu on top right (3 dots menu), and scroll down to find the `Video Recorder` option. Click on the plugin to open @@ -16,9 +16,9 @@ ign gazebo -v 4 video_record_dbl_pendulum.sdf In this plugin, you should see a single button with a video recorder icon. Clicking on the button gives you the video format options that are available. -![Video Recorder formats](https://github.com/ignitionrobotics/ign-gazebo/raw/7dccc0a08f9e926b9460c7662d49dbb0ce24ea61/tutorials/files/video_recorder/video_recorder.png) +@image html files/video_recorder/video_recorder.png -Once an option is selected, recording starts immediately and indicated by +Once an option is selected, recording starts immediately as indicated by a flashing video recorder icon. At anytime that you wish to stop recording, click on the flashing icon and select `Stop`. A file dialog window should pop up and let you select the path to save the recorded video in. Save the file and @@ -29,7 +29,7 @@ of the video is based on the size of your 3D Scene window. So if you wish to record the video in a different size, make sure to configure the GUI window prior to recording. -![Video Recorder gif](https://github.com/ignitionrobotics/ign-gazebo/raw/d19f507ca7f08d3b060665d5b180a7e9cbe2dde2/tutorials/files/video_recorder/video_recorder.gif) +@image html files/video_recorder/video_recorder.gif ## Video recorder configurations @@ -77,7 +77,7 @@ Options are: i.e. each frame encoded into the video will be timestamped using sim time. For example, if a complex simulation was running at half of real time speed, and `` is set to true, video playback should ignore delays due -to low Real Time Factor (RTF) and plays back simulation as if RTF was 1.0. +to low Real Time Factor (RTF) and plays back video as if RTF was 1.0. By default, the value is `false`, which means the videos are recorded based on real time. From aa6f03116764d10e106fa109e5b04240ad1226cc Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 2 Nov 2020 19:34:41 -0800 Subject: [PATCH 12/16] add warning msg if lockstep=true and sim_time=false Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index aedbe1b0cf..4ef669f943 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -576,6 +576,16 @@ void IgnRenderer::Render() { if (this->dataPtr->recordVideoUseSimTime) ignmsg << "Recording video using sim time." << std::endl; + if (this->dataPtr->recordVideoLockstep) + { + ignmsg << "Recording video in lockstep mode" << std::endl; + if (!this->dataPtr->recordVideoUseSimTime) + { + ignwarn << "It is recommended to set to true " + << "when recording video in lockstep mode." << std::endl; + } + } + ignmsg << "Recording video using bitrate: " << this->dataPtr->recordVideoBitrate << std::endl; this->dataPtr->videoEncoder.Start(this->dataPtr->recordVideoFormat, @@ -2573,7 +2583,6 @@ void Scene3D::Update(const UpdateInfo &_info, { std::unique_lock lock2(g_renderMutex); g_renderCv.wait(lock2); - } } @@ -2601,9 +2610,6 @@ bool Scene3D::OnRecordVideo(const msgs::VideoRecord &_msg, std::unique_lock lock(this->dataPtr->recordMutex); this->dataPtr->recording = record; - if (this->dataPtr->recording && this->dataPtr->recordVideoLockstep) - ignmsg << "Recording video in lockstep mode" << std::endl; - return true; } From bdee780300291a93a6ccc239e65640ca3201276f Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Thu, 12 Nov 2020 14:34:21 -0800 Subject: [PATCH 13/16] updates based on feedback Signed-off-by: Ian Chen --- tutorials/video_recorder.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tutorials/video_recorder.md b/tutorials/video_recorder.md index f903211186..54b8fbe519 100644 --- a/tutorials/video_recorder.md +++ b/tutorials/video_recorder.md @@ -3,11 +3,11 @@ ## Using the video recorder plugin Ignition Gazebo offers a video recorder tool for recording videos from the 3D -Scene. The tool is available as a GUI plugin. To open this plugin, first launch -Ignition Gazebo and select the ellipsis menu on top right (3 dots menu), and -scroll down to find the `Video Recorder` option. Click on the plugin to open -the Video Recorder tool. Alternatively, launch the demo world in Ignition Gazebo -that already has this plugin included in the GUI. +scene. The recorder tool is available as a GUI plugin. To open this plugin, +first launch Ignition Gazebo and select the ellipsis menu on top right +(3 dots menu), and scroll down to find the `Video Recorder` option. Click on the +plugin to open the Video Recorder tool. Alternatively, launch the demo world in +Ignition Gazebo that already has this plugin included in the GUI. ``` ign gazebo -v 4 video_record_dbl_pendulum.sdf @@ -21,11 +21,10 @@ Clicking on the button gives you the video format options that are available. Once an option is selected, recording starts immediately as indicated by a flashing video recorder icon. At anytime that you wish to stop recording, click on the flashing icon and select `Stop`. A file dialog window should pop up -and let you select the path to save the recorded video in. Save the file and -make sure to also include the file extension in the filename. +and let you select the path to save the recorded video in. Playback the video you just saved and you should notice that the resolution -of the video is based on the size of your 3D Scene window. So if you wish +of the video is based on the size of your 3D scene window. So if you wish to record the video in a different size, make sure to configure the GUI window prior to recording. @@ -40,11 +39,12 @@ If you launched Ignition Gazebo with the `video_record_dbl_pendulum.sdf` demo world, the GUI configurations are embedded in the world SDF file so you will need to download a copy of the [sdf file](https://raw.githubusercontent.com/ignitionrobotics/ign-gazebo/ign-gazebo3/examples/worlds/video_record_dbl_pendulum.sdf). -and modify the GUI configuration in that file. On the other hand, if launched -Ignition Gazebo with a world file that does not have GUI configurations, you -will need to specify the settings in `$HOME/.ignition/gazebo/gui.config` +and modify the GUI configuration in that file. On the other hand, if you +launched Ignition Gazebo with a world file that does not have GUI +configurations, you will need to specify the settings in +`$HOME/.ignition/gazebo/gui.config`. -Recall that videos are recorded from the 3D Scene, we will to set the video +Recall that videos are recorded from the 3D scene, we will to set the video configurations in the 3D scene plugin. Here is an example of the Scene 3D plugin with custom video recorder settings: From d8e57c6f6ebac4c2fa9c4a80c627180cddd77a32 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Tue, 1 Dec 2020 16:01:07 -0800 Subject: [PATCH 14/16] remove a few global var Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 27 ++++++++++++++++++--------- src/gui/plugins/scene3d/Scene3D.hh | 6 ++++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index 4ef669f943..58d3645a66 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -64,15 +64,11 @@ #include "Scene3D.hh" -/// \brife True if rendering has been initialized -bool g_renderInit = false; - /// \brief condition variable for lockstepping video recording +/// todo(anyone) avoid using a global condition variable when we support +/// multiple viewports in the future. std::condition_variable g_renderCv; -/// \brief mutex for lockstepping video recording -std::mutex g_renderMutex; - Q_DECLARE_METATYPE(std::string) namespace ignition @@ -364,6 +360,9 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \brief Render thread public : RenderThread *renderThread = nullptr; + //// \brief Set to true after the renderer is initialized + public: bool rendererInit = false; + //// \brief List of threads public: static QList threads; }; @@ -415,6 +414,10 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \brief mutex to protect the recording variable public: std::mutex recordMutex; + + /// \brief mutex to protect the render condition variable + /// Used when recording in lockstep mode. + public: std::mutex renderMutex; }; } } @@ -2164,7 +2167,13 @@ void RenderWindowItem::Ready() this->dataPtr->renderThread->start(); this->update(); - g_renderInit = true; + this->dataPtr->rendererInit = true; +} + +///////////////////////////////////////////////// +bool RenderWindowItem::RendererInitialized() const +{ + return this->dataPtr->rendererInit; } ///////////////////////////////////////////////// @@ -2579,9 +2588,9 @@ void Scene3D::Update(const UpdateInfo &_info, // ECM updates with GUI rendering during video recording std::unique_lock lock(this->dataPtr->recordMutex); if (this->dataPtr->recording && this->dataPtr->recordVideoLockstep && - g_renderInit) + renderWindow->RendererInitialized()) { - std::unique_lock lock2(g_renderMutex); + std::unique_lock lock2(this->dataPtr->renderMutex); g_renderCv.wait(lock2); } } diff --git a/src/gui/plugins/scene3d/Scene3D.hh b/src/gui/plugins/scene3d/Scene3D.hh index 921ad6d684..858508c12f 100644 --- a/src/gui/plugins/scene3d/Scene3D.hh +++ b/src/gui/plugins/scene3d/Scene3D.hh @@ -620,6 +620,12 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// the render window. public: void OnHovered(const ignition::math::Vector2i &_hoverPos); + /// \brief Get whether the renderer is initialized. The renderer is + /// initialized when the context is created and the render thread is + /// started. + /// \return True if the renderer is initialized. + public: bool RendererInitialized() const; + /// \brief Slot called when thread is ready to be started public Q_SLOTS: void Ready(); From 154139b28a698e0521fd8e61029f443debf76ac8 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Mon, 21 Dec 2020 13:41:13 -0800 Subject: [PATCH 15/16] resolve conflicts Signed-off-by: Ian Chen --- src/gui/plugins/scene3d/Scene3D.cc | 62 ++++++------------------------ 1 file changed, 12 insertions(+), 50 deletions(-) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index a217abccf5..bb8aaed82c 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -209,7 +209,6 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// By default (false), video encoding is done using real time. public: bool recordVideoUseSimTime = false; -<<<<<<< HEAD /// \brief Lockstep gui with ECM when recording public: bool recordVideoLockstep = false; @@ -226,8 +225,6 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE { /// \brief Camera pose publisher public: transport::Node::Publisher recorderStatsPub; -======= ->>>>>>> ign-gazebo3 /// \brief Target to move the user camera to public: std::string moveToTarget; @@ -567,7 +564,6 @@ void IgnRenderer::Render() t = std::chrono::steady_clock::time_point( this->dataPtr->renderUtil.SimTime()); } -<<<<<<< HEAD bool frameAdded = this->dataPtr->videoEncoder.AddFrame( this->dataPtr->cameraImage.Data(), width, height, t); @@ -591,17 +587,12 @@ void IgnRenderer::Render() msg.set_nsec(nsec); this-dataPtr->recorderStatsPub.Publish(msg); } -======= - this->dataPtr->videoEncoder.AddFrame( - this->dataPtr->cameraImage.Data(), width, height, t); ->>>>>>> ign-gazebo3 } // Video recorder is idle. Start recording. else { if (this->dataPtr->recordVideoUseSimTime) ignmsg << "Recording video using sim time." << std::endl; -<<<<<<< HEAD if (this->dataPtr->recordVideoLockstep) { ignmsg << "Recording video in lockstep mode" << std::endl; @@ -611,11 +602,8 @@ void IgnRenderer::Render() << "when recording video in lockstep mode." << std::endl; } } - ignmsg << "Recording video using bitrate: " << this->dataPtr->recordVideoBitrate << std::endl; -======= ->>>>>>> ign-gazebo3 this->dataPtr->videoEncoder.Start(this->dataPtr->recordVideoFormat, this->dataPtr->recordVideoSavePath, width, height, 25, this->dataPtr->recordVideoBitrate); @@ -1851,7 +1839,6 @@ void IgnRenderer::SetRecordVideoUseSimTime(bool _useSimTime) } ///////////////////////////////////////////////// -<<<<<<< HEAD void IgnRenderer::SetRecordVideoLockstep(bool _useSimTime) { std::lock_guard lock(this->dataPtr->mutex); @@ -1866,8 +1853,6 @@ void IgnRenderer::SetRecordVideoBitrate(unsigned int _bitrate) } ///////////////////////////////////////////////// -======= ->>>>>>> ign-gazebo3 void IgnRenderer::SetMoveTo(const std::string &_target) { std::lock_guard lock(this->dataPtr->mutex); @@ -2495,37 +2480,28 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) { if (auto useSimTimeElem = elem->FirstChildElement("use_sim_time")) { -<<<<<<< HEAD - std::string useSimTimeStr = - common::lowercase(useSimTimeElem->GetText()); - if (useSimTimeStr == "true" || useSimTimeStr == "1") - renderWindow->SetRecordVideoUseSimTime(true); - else if (useSimTimeStr == "false" || useSimTimeStr == "0") - renderWindow->SetRecordVideoUseSimTime(false); + bool useSimTime = false; + if (useSimTimeElem->QueryBoolText(&useSimTime) != tinyxml2::XML_SUCCESS) + { + ignerr << "Faild to parse value: " + << useSimTimeElem->GetText() << std::endl; + } else { - ignerr << "Faild to parse value: " << useSimTimeStr - << std::endl; + renderWindow->SetRecordVideoUseSimTime(useSimTime); } } if (auto lockstepElem = elem->FirstChildElement("lockstep")) { - std::string lockstepStr = - common::lowercase(lockstepElem->GetText()); - if (lockstepStr == "true" || lockstepStr == "1") - { - this->dataPtr->recordVideoLockstep = true; - renderWindow->SetRecordVideoLockstep(true); - } - else if (lockstepStr == "false" || lockstepStr == "0") + bool lockstep = false; + if (lockstepElem->QueryBoolText(&lockstep) != tinyxml2::XML_SUCCESS) { - this->dataPtr->recordVideoLockstep = false; - renderWindow->SetRecordVideoLockstep(false); + ignerr << "Faild to parse value: " + << lockstepElem->GetText() << std::endl; } else { - ignerr << "Faild to parse value: " << lockstepStr - << std::endl; + renderWindow->SetRecordVideoLockstep(lockstep); } } if (auto bitrateElem = elem->FirstChildElement("bitrate")) @@ -2542,17 +2518,6 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) { ignerr << "Video recorder bitrate must be larger than 0" << std::endl; -======= - bool useSimTime = false; - if (useSimTimeElem->QueryBoolText(&useSimTime) != tinyxml2::XML_SUCCESS) - { - ignerr << "Faild to parse value: " - << useSimTimeElem->GetText() << std::endl; - } - else - { - renderWindow->SetRecordVideoUseSimTime(useSimTime); ->>>>>>> ign-gazebo3 } } } @@ -3062,7 +3027,6 @@ void RenderWindowItem::SetRecordVideoUseSimTime(bool _useSimTime) } ///////////////////////////////////////////////// -<<<<<<< HEAD void RenderWindowItem::SetRecordVideoLockstep(bool _lockstep) { this->dataPtr->renderThread->ignRenderer.SetRecordVideoLockstep( @@ -3077,8 +3041,6 @@ void RenderWindowItem::SetRecordVideoBitrate(unsigned int _bitrate) } ///////////////////////////////////////////////// -======= ->>>>>>> ign-gazebo3 void RenderWindowItem::OnHovered(const ignition::math::Vector2i &_hoverPos) { this->dataPtr->renderThread->ignRenderer.NewHoverEvent(_hoverPos); From 3019d67e17a205de89585ed92e3ee9f49d3ea99c Mon Sep 17 00:00:00 2001 From: Louise Poubel Date: Mon, 21 Dec 2020 18:45:21 -0800 Subject: [PATCH 16/16] Fix clang warning, typo Signed-off-by: Louise Poubel --- src/gui/plugins/scene3d/Scene3D.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/plugins/scene3d/Scene3D.cc b/src/gui/plugins/scene3d/Scene3D.cc index bb8aaed82c..99bbe5b7d4 100644 --- a/src/gui/plugins/scene3d/Scene3D.cc +++ b/src/gui/plugins/scene3d/Scene3D.cc @@ -585,7 +585,7 @@ void IgnRenderer::Render() msgs::Time msg; msg.set_sec(sec); msg.set_nsec(nsec); - this-dataPtr->recorderStatsPub.Publish(msg); + this->dataPtr->recorderStatsPub.Publish(msg); } } // Video recorder is idle. Start recording. @@ -2496,7 +2496,7 @@ void Scene3D::LoadConfig(const tinyxml2::XMLElement *_pluginElem) bool lockstep = false; if (lockstepElem->QueryBoolText(&lockstep) != tinyxml2::XML_SUCCESS) { - ignerr << "Faild to parse value: " + ignerr << "Failed to parse value: " << lockstepElem->GetText() << std::endl; } else