Files
dragonpilot/selfdrive/loggerd
George Hotz 0baa4c3e2a loggerd: switch to v4l encoder try 2 (#24380)
* start v4l encoder

* v4l encoder starts

* start and stop

* fill in proper controls

* it dequeued a buffer

* getting bytes

* it made a video

* it does make files

* getting close

* ahh, so that's how dequeue works

* qcam works (no remuxing)

* remuxing works

* we just need to make shutdown and rollover graceful

* graceful destruction

* switch to polling

* should work now

* fix pc build

* refactors, stop properly

* touchups, remove a copy

* add v4l encoder to release

* inlcude file

* move writing to it's own thread

* fix minor memory leak

* block instead of dropping frames

* add counter, fix tests maybe

* better debugging and test print

* print file path in assert

* format string in test

* no more oversized qlogs

* match qcam

* touchups, remove omx encoder

* remove omx include files

* checked ioctl, better debugging, open by name

* unused import

* move linux includes to third_party/linux/include

* simple encoderd

* full packet

* encoderd should be complete

* lagging print

* updates

* name dq thread

* subset idx

* video file writing works

* debug

* potential bugfix

* rotation works

* iframe

* keep writing support

* ci should pass

* loggerd, not encoderd

* remote encoder code

* support remote encoder

* cereal to master, add encoderd

* header no longer required

* put that back there

* realtime

* lower decoder latency

* don't use queue for VisionIpcBufExtra, disable realtime again

* assert all written

* hmm simpler

* only push to to_write if we are writing

* assert timestamp is right

* use at and remove assert

* revert to queue

Co-authored-by: Comma Device <device@comma.ai>
2022-04-30 09:22:52 -07:00
..
2022-04-18 17:55:23 -07:00
2022-01-10 15:21:48 +01:00
2022-03-23 11:31:29 -07:00
2022-04-18 17:55:23 -07:00
2022-04-18 17:55:23 -07:00
2021-09-24 10:23:41 +02:00
2022-01-21 15:11:16 -08:00

loggerd

openpilot records routes in one minute chunks called segments. A route starts on the rising edge of ignition and ends on the falling edge.

Check out our python library for reading openpilot logs. Also checkout our tools to replay and view your data. These are the same tools we use to debug and develop openpilot.

log types

For each segment, openpilot records the following log types:

rlog.bz2

rlogs contain all the messages passed amongst openpilot's processes. See cereal/services.py for a list of all the logged services. They're a bzip2 archive of the serialized capnproto messages.

{f,e,d}camera.hevc

Each camera stream is H.265 encoded and written to its respective file.

  • fcamera.hevc is the road camera
  • ecamera.hevc is the wide road camera
  • dcamera.hevc is the driver camera

qlog.bz2 & qcamera.ts

qlogs are a decimated subset of the rlogs. Check out cereal/services.py for the decimation.

qcameras are H.264 encoded, lower res versions of the fcamera.hevc. The video shown in comma connect is from the qcameras.

qlogs and qcameras are designed to be small enough to upload instantly on slow internet and store forever, yet useful enough for most analysis and debugging.