trek-view / gopro2gsv

Processes .jpg images and .mp4/.360 videos shot on GoPro MAX or Fusion cameras and uploads to Google Street View.
Apache License 2.0
4 stars 0 forks source link

Add .360 video mode (MAX) #28

Closed himynamesdave closed 9 months ago

himynamesdave commented 9 months ago

Currently we suppport .mp4 video mode.

GoPro MAX cameras also produce a .360 video format.

For GoPro MAX Unprocessed Video mode (.360):

  1. takes GoPro .360 video (equirectangular) with GPMF data
  2. converts to an equirectangular frames
  3. optionally adds a nadir to the resulting video
  4. stores output/uploads output/etc

GoPro2GSV validates .360 inputs before processing as follows;

Where trackN is the track that contains the gpmd telemetry.

For processing, the same flags as .mp4 video mode can be used, and the processing is somewhat similar to mp4.

ffmpeg first extracts frames. However, these frames need to be converted to equirectangular projection (because GoPro .360 is EAC format).

We already have some old code to join

Note: resusing code is fine, but do not copy the whole codebase of this implementation.

After this, the GPS points are then embedded to the equirectangular images (same as #26) and the final video is processed in the same way as the image->video pipeline including the new function; https://github.com/trek-view/gopro2gsv/issues/25

fqrious commented 9 months ago

about this, should I require a path to max2sphere binary or should I assume the user has this fork of ffmpeg

himynamesdave commented 9 months ago

@fqrious ask for max2sphere binary (ideally clone it on install as a gitmodule). This is what https://github.com/trek-view/gopro2frames does

himynamesdave commented 9 months ago

closing, will raise individual issue separately