This repository has been archived on 2024-05-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ar_basalt/thirdparty/Pangolin/tools/VideoJson/main-print.cpp
2022-04-05 11:42:28 +03:00

37 lines
1.2 KiB
C++

#include <pangolin/pangolin.h>
#include <pangolin/log/packetstream_reader.h>
#include <pangolin/log/packetstream_writer.h>
#include <pangolin/video/video.h>
int main( int argc, char* argv[] )
{
if( argc == 2) {
const std::string filename = std::string(argv[1]);
pangolin::PacketStreamReader reader(filename);
// Extract JSON
picojson::value all_properties;
for(size_t i=0; i < reader.Sources().size(); ++i) {
picojson::value source_props;
const pangolin::PacketStreamSource& src = reader.Sources()[i];
source_props["device_properties"] = src.info["device"];
// Seek through index, loading frame properties
for(size_t framenum=0; framenum < src.index.size(); ++framenum) {
reader.Seek(src.id, framenum);
pangolin::Packet pkt = reader.NextFrame();
source_props["frame_properties"].push_back(pkt.meta);
}
all_properties.push_back(source_props);
}
std::cout << all_properties.serialize(true) << std::endl;
}else{
std::cout << "Usage: \n\tPangoJsonPrint filename.pango" << std::endl;
}
}