Code Monkey home page Code Monkey logo

gps-overlay-on-video's People

Contributors

aayaffe avatar danieldean avatar etaque avatar mfloryan avatar mikwat avatar peregin avatar scala-steward avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gps-overlay-on-video's Issues

timestamp shifter gui component

Fancy timestamp adjuster, something better than the spinner control.
Fine tune with the mouse movement or wheel, eventually with spinner control

Failing compilation in Debian

Hello:

I'm trying to compile the software in Debian and I've obtained this error:

java.lang.RuntimeException: No main class detected.
        at scala.sys.package$.error(package.scala:27)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) No main class detected.
[error] Total time: 1 s, completed 01-mar-2019 10:09:02

If I run last compile:run I obtain anything

add chart type indicator

add new type of indicator, chart, which shows the values over the time/distance (like a histogram).

Feature req

Hello.

Tested it today, found that it dont seem to be able to handle gorpo7 4k video.
But i would love to see a overlay as the map used to sync, but as a overlay, thats something we that drive on racetracks would love to have.

Please let me know if i can help or assist in any way.

Br
Coffe

add grade gauge

show a gauge with the current grade (steepness of the up/down-hill)

Support for automatic syncronization using GPS time

Hello:
It would be nice if the video and telemetry synchronization could be performed automatically. This could be done in the case the camera is equipped with GPS and record time. In this case the synchronization could be done automatically matching both times: the camera one and the GPS file. Actually it is not necessary the camera has a GPS sensor, but only it provides time tags

Missing dependency of the Github release library

This relates to the issue at ohnosequences/sbt-github-release/issues/28.

I tried installing the software on my desktop machine (Ubuntu 19.04 amd64, openjdk version "11.0.4" 2019-07-16). sbt run terminates, after downloading dependencies, with a complaint about a missing class (it was seemingly deprecated and then removed).

I got the software to work by commenting lines 56 to 73 inclusive in build.sbt and also commenting out line 27 in project/plugins.sbt.

Specifically removal of addSbtPlugin("ohnosequences" % "sbt-github-release" % "0.7.0") in plugins.sbt.

Below is the stacktrace from sbt run before the modifications.

Great software, thanks :)


[info] Done updating.
[warn] There may be incompatibilities among your library dependencies.
[warn] Run 'evicted' to see detailed eviction warnings
[info] Loading settings for project root from build.sbt,version.sbt ...
[error] java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap
[error] 	at ohnosequences.sbt.GithubRelease$defs$.ghreleaseMediaTypesMap(GithubRelease.scala:42)
[error] 	at ohnosequences.sbt.SbtGithubReleasePlugin$.$anonfun$projectSettings$9(SbtGithubReleasePlugin.scala:27)
[error] 	at sbt.internal.util.Init$Value.$anonfun$apply$3(Settings.scala:814)
[error] 	at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
[error] 	at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
[error] 	at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
[error] 	at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
[error] 	at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
[error] 	at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] 	at java.base/java.lang.Thread.run(Thread.java:834)
[error] Caused by: java.lang.ClassNotFoundException: javax.activation.MimetypesFileTypeMap
[error] 	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
[error] 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
[error] 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
[error] 	at ohnosequences.sbt.GithubRelease$defs$.ghreleaseMediaTypesMap(GithubRelease.scala:42)
[error] 	at ohnosequences.sbt.SbtGithubReleasePlugin$.$anonfun$projectSettings$9(SbtGithubReleasePlugin.scala:27)
[error] 	at sbt.internal.util.Init$Value.$anonfun$apply$3(Settings.scala:814)
[error] 	at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
[error] 	at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
[error] 	at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
[error] 	at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
[error] 	at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
[error] 	at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] 	at java.base/java.lang.Thread.run(Thread.java:834)
[error] java.lang.NoClassDefFoundError: javax/activation/MimetypesFileTypeMap

Can't generate video file "Failed: Could not open..."

On choosing a path and clicking Generate the following error is displayed, and no video file generated:

Failed: could not open <path to file>

screen shot 2015-05-12 at 10 32 24

Messages from console:
10:25:40.870 [AWT-EventQueue-0] DEBUG peregin.gpv.App$ - saving /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/second horseman 10:25:47.017 [AWT-EventQueue-0] DEBUG peregin.gpv.App$ - convert project 10:26:17.483 [AWT-EventQueue-0] DEBUG peregin.gpv.gui.FileChooserPanel - opening /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith Hill 10:26:17.483 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - save to /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith Hill 10:26:22.284 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - generate... 10:26:22.485 [ForkJoinPool-3-worker-15] ERROR com.xuggle.xuggler - URL: /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith Hill; Error: could not find output format (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:513) 10:26:45.242 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - cancel or close 10:26:47.155 [AWT-EventQueue-0] DEBUG peregin.gpv.App$ - convert project 10:27:00.718 [AWT-EventQueue-0] DEBUG peregin.gpv.gui.FileChooserPanel - opening /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith 10:27:00.718 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - save to /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith 10:27:34.933 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - generate... 10:27:35.096 [ForkJoinPool-3-worker-15] ERROR com.xuggle.xuggler - URL: /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith; Error: could not find output format (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:513) 10:27:42.965 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - cancel or close 10:27:45.321 [AWT-EventQueue-0] DEBUG peregin.gpv.App$ - convert project 10:27:58.334 [AWT-EventQueue-0] INFO peregin.gpv.ConverterDialog - generate... 10:27:58.497 [ForkJoinPool-3-worker-5] ERROR com.xuggle.xuggler - URL: /Users/simon/Movies/Cycing/20150510 - Three Horsemen of the Apocolypse/Leith; Error: could not find output format (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:513)

Color elevation profile by grade

Split elevation map in segments based on the grade of the slope. Use different colors to mark the difficulty (steepness) of such a segment.

Unable to run on MacOS 12.3 (21E230) with openjdk version "17.0.2" 2022-01-18

07:39:56.138 [main] INFO peregin.gpv.GpsOverlayApp$ - initializing... Exception in thread "main" java.lang.ExceptionInInitializerError at peregin.gpv.GpsOverlayApp.main(GpsOverlayApp.scala) Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected boolean javax.swing.plaf.basic.BasicSliderUI.isDragging() accessible: module java.desktop does not "opens javax.swing.plaf.basic" to unnamed module @689eb690 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) at java.base/java.lang.reflect.Method.setAccessible(Method.java:193) at peregin.gpv.gui.PercentageSlider.<init>(PercentageSlider.scala:37) at peregin.gpv.gui.VideoPanel.<init>(VideoPanel.scala:26) at peregin.gpv.GpsOverlayApp$$anon$1.<init>(GpsOverlayApp.scala:32) at peregin.gpv.GpsOverlayApp$.<clinit>(GpsOverlayApp.scala:32) ... 1 more

Thanks!

problem after loading a video

Under Fedora 28, with jar from latest release (telemetry-on-video v1.1.7)
after loading an AVI file got this stack trace :

[ERROR] [09/28/2018 17:43:49.599] [gpv-akka.actor.default-dispatcher-3] [akka://gpv/user/playerController] got error decoding video in: /home/val/Videos/2017_bretagne_velo_PICT0003.AVI
java.lang.RuntimeException: got error decoding video in: /home/val/Videos/2017_bretagne_velo_PICT0003.AVI
at peregin.gpv.video.SeekableVideoStream.readVideo(SeekableVideoStream.scala:85)
at peregin.gpv.video.SeekableVideoStream.readPacket(SeekableVideoStream.scala:73)
at peregin.gpv.video.SeekableVideoStream.readNextFrame(SeekableVideoStream.scala:114)
at peregin.gpv.video.PlayerControllerActor$$anonfun$2.applyOrElse(SeekableVideoPlayer.scala:97)
at peregin.gpv.video.PlayerControllerActor$$anonfun$2.applyOrElse(SeekableVideoPlayer.scala:89)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:34)
at akka.actor.FSM.processEvent(FSM.scala:684)
at akka.actor.FSM.processEvent$(FSM.scala:681)
at peregin.gpv.video.PlayerControllerActor.akka$actor$LoggingFSM$$super$processEvent(SeekableVideoPlayer.scala:64)
at akka.actor.LoggingFSM.processEvent(FSM.scala:820)
at akka.actor.LoggingFSM.processEvent$(FSM.scala:802)
at peregin.gpv.video.PlayerControllerActor.processEvent(SeekableVideoPlayer.scala:64)
at akka.actor.FSM.akka$actor$FSM$$processMsg(FSM.scala:678)
at akka.actor.FSM$$anonfun$receive$1.applyOrElse(FSM.scala:650)
at akka.actor.Actor.aroundReceive(Actor.scala:517)
at akka.actor.Actor.aroundReceive$(Actor.scala:515)
at peregin.gpv.video.PlayerControllerActor.aroundReceive(SeekableVideoPlayer.scala:64)
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:588)
at akka.actor.ActorCell.invoke(ActorCell.scala:557)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:258)
at akka.dispatch.Mailbox.run(Mailbox.scala:225)
at akka.dispatch.Mailbox.exec(Mailbox.scala:235)
at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

[WARN] [09/28/2018 17:43:52.026] [gpv-akka.actor.default-dispatcher-3] [akka://gpv/user/playerController] unhandled Event(PauseCommand,ReadInProgress)
17:44:12.022 [gpv-akka.actor.default-dispatcher-3] INFO p.gpv.video.SeekableVideoStream - see

Support for multiple clips

Typically, when I drive long trips, I don't film whole trip but start shooting only in interesting places.

In result, I have a bunch of movies which I'd like to merge into one video, obviously, with a GPS overlay. Two difficulties and enhancement requests here:

  1. Ability to load multiple videos. In the first iteration, the app does not even need to have any functionality to edit the files (cut, re-arrange)
  2. Ability to recognise from video timestamp, where we are on the GPS track. There will be gaps, so the app should be able to jump from a point shown by end of previous video to a new point corresponding to the beginning of the next video. With all consequences (e.g. ignore incorrect speed which will might be generated in this case).

Thank you,
Jarek

Add map gauge

Add a gauge showing the outline of the traveled course.
Only the route without the map background.
The actual location at the time of the video should be shown on the track gauge.
This should resemble the track shown on the map pane in the editing window.

unresolved dependencies

...
[info] Resolving xuggle#xuggle-xuggler;5.4 ...
[warn] module not found: xuggle#xuggle-xuggler;5.4
...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: xuggle#xuggle-xuggler;5.4: not found
[warn] :: org.mockito#mockito-all;1.10.10: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run last :update for the full output.
[error] (
:update) sbt.ResolveException: unresolved dependency: xuggle#xuggle-xuggler;5.4: not found
[error] unresolved dependency: org.mockito#mockito-all;1.10.10: not found
[error] Total time: 66 s, completed May 24, 2017 7:52:03 PM

Fix grade calculation

Improve the calculation, currently is calculated between two adjacent points, use a bigger distance.

Can't start app on mac os - module java.desktop does not "opens javax.swing.plaf.basic" to unnamed module

Hello, I'm not really into java/scala but instructions were quite clear so I've tried. Unfortunately I can't make it starting. I had java installed before, I've installed sbt using brew and I downloaded master branch from github. Then just started using sbt run command. What I'm missing to make it working?

My env:
macOS 11.4, sbt 1.5.3, Java 16.0.1

Stack:

[error] java.lang.ExceptionInInitializerError
[error] 	at peregin.gpv.GpsOverlayApp.main(GpsOverlayApp.scala)
[error] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
[error] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] 	at java.base/java.lang.reflect.Method.invoke(Method.java:567)
[error] Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected boolean javax.swing.plaf.basic.BasicSliderUI.isDragging() accessible: module java.desktop does not "opens javax.swing.plaf.basic" to unnamed module @67b49a5d
[error] 	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
[error] 	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
[error] 	at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
[error] 	at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
[error] 	at peregin.gpv.gui.PercentageSlider.<init>(PercentageSlider.scala:39)
[error] 	at peregin.gpv.gui.VideoPanel.<init>(VideoPanel.scala:26)
[error] 	at peregin.gpv.GpsOverlayApp$$anon$1.<init>(GpsOverlayApp.scala:32)
[error] 	at peregin.gpv.GpsOverlayApp$.<clinit>(GpsOverlayApp.scala:32)
[error] 	at peregin.gpv.GpsOverlayApp.main(GpsOverlayApp.scala)
[error] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
[error] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] 	at java.base/java.lang.reflect.Method.invoke(Method.java:567)```

resize video to youtube recommended values

Provide pre-defined settings for video size recommended by youtube when generating the new video.

Recommended bitrates, codecs, and resolutions, and more:
Audio codec: AAC-LC
Channels: Stereo or Stereo + 5.1
Sample rate 96khz or 48khz

Video, if you want to fit the player perfectly, encode at these resolutions:
2160p: 3840x2160
1440p: 2560x1440
1080p: 1920x1080
720p: 1280x720
480p: 854x480
360p: 640x360
240p: 426x240

broken link

URL in
Thank you Schrottie for creating the how to in german
in the README is broken

add conversion dialog to monitor video generation

Add a dialog where the video generation is being monitored.

  • show some frames from the stream
  • show real processing time
  • show estimated time until the generation is ready
  • show video timestamp / duration

Flatpak support

Hey to be able to use the program easier it would be great if there was a flatpak version on e.g. flathub.org. is something planned in this direction?

Running on linux

Is it possible to run it on linux? I have arch linux with sbt 1:0.13.9-1.

I get this error (I don't have a clue about java or scala):

[info] Running peregin.gpv.App
[debug] Waiting for threads to exit or System.exit to be called.
[debug] Classpath:
[debug] /run/media/user/data/gps-overlay-on-video-1.0.0/target/scala-2.10/classes
[debug] /home/user/.sbt/boot/scala-2.10.4/lib/scala-library.jar
[debug] /home/user/.ivy2/cache/org.scala-lang/scala-swing/jars/scala-swing-2.10.4.jar
[debug] /home/user/.ivy2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.3.7.jar
[debug] /home/user/.ivy2/cache/com.typesafe/config/bundles/config-1.2.1.jar
[debug] /home/user/.ivy2/cache/com.typesafe.akka/akka-slf4j_2.10/jars/akka-slf4j_2.10-2.3.7.jar
[debug] /home/user/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.5.jar
[debug] /home/user/.ivy2/cache/org.swinglabs/swingx-core/jars/swingx-core-1.6.2-2.jar
[debug] /home/user/.ivy2/cache/org.swinglabs/swingx-ws/jars/swingx-ws-1.0.jar
[debug] /home/user/.ivy2/cache/jdom/jdom/jars/jdom-1.0.jar
[debug] /home/user/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.0.1.jar
[debug] /home/user/.ivy2/cache/junit/junit/jars/junit-3.8.1.jar
[debug] /home/user/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.jar
[debug] /home/user/.ivy2/cache/log4j/log4j/jars/log4j-1.2.12.jar
[debug] /home/user/.ivy2/cache/logkit/logkit/jars/logkit-1.0.1.jar
[debug] /home/user/.ivy2/cache/avalon-framework/avalon-framework/jars/avalon-framework-4.1.3.jar
[debug] /home/user/.ivy2/cache/javax.servlet/servlet-api/jars/servlet-api-2.3.jar
[debug] /home/user/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.3.jar
[debug] /home/user/.ivy2/cache/net.sf.json-lib/json-lib/jars/json-lib-0.9.jar
[debug] /home/user/.ivy2/cache/commons-beanutils/commons-beanutils/jars/commons-beanutils-1.7.0.jar
[debug] /home/user/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.2.jar
[debug] /home/user/.ivy2/cache/xom/xom/jars/xom-1.1.jar
[debug] /home/user/.ivy2/cache/xerces/xmlParserAPIs/jars/xmlParserAPIs-2.6.2.jar
[debug] /home/user/.ivy2/cache/xalan/xalan/jars/xalan-2.7.0.jar
[debug] /home/user/.ivy2/cache/jaxen/jaxen/jars/jaxen-1.1-beta-8.jar
[debug] /home/user/.ivy2/cache/dom4j/dom4j/jars/dom4j-1.6.1.jar
[debug] /home/user/.ivy2/cache/net.sf.ezmorph/ezmorph/jars/ezmorph-0.8.1.jar
[debug] /home/user/.ivy2/cache/xerces/xercesImpl/jars/xercesImpl-2.8.1.jar
[debug] /home/user/.ivy2/cache/jtidy/jtidy/jars/jtidy-4aug2000r7-dev.jar
[debug] /home/user/.ivy2/cache/rome/rome/jars/rome-0.8.jar
[debug] /home/user/.ivy2/cache/com.jgoodies/looks/jars/looks-2.2.2.jar
[debug] /home/user/.ivy2/cache/com.jgoodies/jgoodies-common/jars/jgoodies-common-1.7.0.jar
[debug] /home/user/.ivy2/cache/com.miglayout/miglayout/jars/miglayout-3.7.4.jar
[debug] /home/user/.ivy2/cache/xuggle/xuggle-xuggler/jars/xuggle-xuggler-5.4.jar
[debug] /home/user/.ivy2/cache/commons-cli/commons-cli/jars/commons-cli-1.1.jar
[debug] /home/user/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.0.0.jar
[debug] /home/user/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.0.jar
[debug] /home/user/.ivy2/cache/org.json4s/json4s-native_2.10/jars/json4s-native_2.10-3.2.11.jar
[debug] /home/user/.ivy2/cache/org.json4s/json4s-core_2.10/jars/json4s-core_2.10-3.2.11.jar
[debug] /home/user/.ivy2/cache/org.json4s/json4s-ast_2.10/jars/json4s-ast_2.10-3.2.11.jar
[debug] /home/user/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.6.jar
[debug] /home/user/.ivy2/cache/org.scala-lang/scalap/jars/scalap-2.10.0.jar
[debug] /home/user/.ivy2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.10.0.jar
[debug] /home/user/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.0.jar
[debug] /home/user/.ivy2/cache/org.json4s/json4s-jackson_2.10/jars/json4s-jackson_2.10-3.2.11.jar
[debug] /home/user/.ivy2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.3.1.jar
[debug] /home/user/.ivy2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.3.0.jar
[debug] /home/user/.ivy2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.3.1.jar
[debug] /home/user/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.5.jar
[debug] /home/user/.ivy2/cache/org.joda/joda-convert/jars/joda-convert-1.7.jar
[debug] Waiting for thread run-main-0 to terminate.
error java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at peregin.gpv.App.main(App.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sbt.Run.invokeMain(Run.scala:72)
at sbt.Run.run0(Run.scala:65)
at sbt.Run.sbt$Run$$execute$1(Run.scala:54)
at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:58)
at sbt.Run$$anonfun$run$1.apply(Run.scala:58)
at sbt.Run$$anonfun$run$1.apply(Run.scala:58)
at sbt.Logger$$anon$4.apply(Logger.scala:90)
at sbt.TrapExit$App.run(TrapExit.scala:244)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1348)
at peregin.gpv.util.Io$.loadImage(Io.scala:19)
at peregin.gpv.util.Io$.loadIcon(Io.scala:21)
at peregin.gpv.gui.StartStopButton.(StartStopButton.scala:11)
at peregin.gpv.gui.VideoPanel.(VideoPanel.scala:27)
at peregin.gpv.App$$anon$1.(App.scala:28)
at peregin.gpv.App$.(App.scala:28)
at peregin.gpv.App$.(App.scala)
at peregin.gpv.App.main(App.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sbt.Run.invokeMain(Run.scala:72)
at sbt.Run.run0(Run.scala:65)
at sbt.Run.sbt$Run$$execute$1(Run.scala:54)
at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:58)
at sbt.Run$$anonfun$run$1.apply(Run.scala:58)
at sbt.Run$$anonfun$run$1.apply(Run.scala:58)
at sbt.Logger$$anon$4.apply(Logger.scala:90)
at sbt.TrapExit$App.run(TrapExit.scala:244)
at java.lang.Thread.run(Thread.java:745)
[debug] Thread run-main-0 exited.
[debug] Interrupting remaining threads (should be all daemons).
[debug] Not interrupting system thread Thread[AWT-XAWT,6,system]
[debug] Not interrupting system thread Thread[XToolkt-Shutdown-Thread,5,system]
[debug] Not interrupting system thread Thread[Java2D Disposer,10,system]
[debug] Sandboxed run complete..
java.lang.RuntimeException: Nonzero exit code: 1
at scala.sys.package$.error(package.scala:27)
at sbt.BuildCommon$$anonfun$toError$1.apply(Defaults.scala:1708)
at sbt.BuildCommon$$anonfun$toError$1.apply(Defaults.scala:1708)
at scala.Option.foreach(Option.scala:236)
at sbt.BuildCommon$class.toError(Defaults.scala:1708)
at sbt.Defaults$.toError(Defaults.scala:35)
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$36$$anonfun$apply$37.apply(Defau
at sbt.Defaults$$anonfun$runTask$1$$anonfun$apply$36$$anonfun$apply$37.apply(Defau
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scal
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
error Nonzero exit code: 1

GPS data not being loaded, if the GPX file has no elevation data.

Hi,
I have a camera, that does not store the elevation detail from the GPS (I know, it sucks, but it does so many other things really well).

I tried to load the data in the gps-overlay software and it basically ignores all gps data.

Console output:
13:35:18.393 [AWT-EventQueue-0] DEBUG peregin.gpv.gui.FileChooserPanel - opening /media/marlow/A0CCD470CCD44268/Videoclips/M0409A.MOV.gpx
13:35:18.415 [scala-execution-context-global-229] INFO peregin.gpv.model.Telemetry$ - found 0 track points
Executed analyze GPS data in 0 millis
13:35:18.416 [scala-execution-context-global-229] INFO peregin.gpv.model.Telemetry$ - elevation boundary MinMax(1.7976931348623157E308,-1.7976931348623157E308)
Executed load telemetry in 16 millis
13:35:18.419 [AWT-EventQueue-0] DEBUG peregin.gpv.gui.DurationSpinner - hour=0 min=0 sec=0 mill=0

This is using gps-overlay-on-video-1.1.8, scala-sbt 1.3.3 and openjdk-11-jre:amd64 11.0.4+11-1ubuntu2~18.04.3 running gps-overlay-on-video as root.

A sample GPX file can be found here: http://coyote.marlow.dk/~marlow/M0409A.MOV.gpx

/M

Play video with gauges

-eventually to seek in the video as well.
-update elevation and route map when playing the video.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.