v01
This commit is contained in:
36
thirdparty/Pangolin/tools/VideoJson/main-print.cpp
vendored
Normal file
36
thirdparty/Pangolin/tools/VideoJson/main-print.cpp
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
#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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user