peregin / gps-overlay-on-video Goto Github PK
View Code? Open in Web Editor NEWTelemetry (GPS) data overlay on videos
License: MIT License
Telemetry (GPS) data overlay on videos
License: MIT License
show a gauge with the current grade (steepness of the up/down-hill)
Add a slider or a GUI widget to adjust/synchronize the GPS data against the video timestamp
For long videos would be nice to know a guesstimate... and eventually a percentage of readiness next to the progress bar
Fancy timestamp adjuster, something better than the spinner control.
Fine tune with the mouse movement or wheel, eventually with spinner control
Hello:
I'm trying to use the software in Debian using sbt 0.13.13 (the version in the Sid repositories), and JRE 14. After sbt run I obtain lots of errors which I show in the attached file
errors-gps-overlay.txt
-list of predefined templates
-list existing/custom templates as well
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!
Add the speed and elevation gauges with a predefined size and position onto the video.
looks bad, especially painted with red, leave it only on the elevation panel on the right
Selecteable gauges.
Position and re-size on the fly.
...
[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
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
I'm trying to load a GPX file and the loading indicator just spins forever. The GPX file can be found at https://s3.amazonaws.com/s3.voneicken.com/20190517_221037.gpx
I'm running the latest release jar on linux:
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
see examples... tbd
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
Improve the calculation, currently is calculated between two adjacent points, use a bigger distance.
Add a dialog where the video generation is being monitored.
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)```
show at the left bottom [current timestamp / total duration]
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:
Thank you,
Jarek
It is not working properly
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
On choosing a path and clicking Generate the following error is displayed, and no video file generated:
Failed: could not open <path to file>
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)
add a slider to configure the transparency for the gauges - store it in the 'project' setup as well
add new type of indicator, chart, which shows the values over the time/distance (like a histogram).
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
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?
extract in a separate class.
distinguish when is updated programmatically or from the GUI.
Allow to switch elevation map between distance and time.
This looks like a really cool tool to easily add custom huds on gopro videos but the last release was published 4 years ago.
Would it be possible to have one without having to set up a scala development environment on our computers?
https://github.com/scalacenter/sbt-release-early/wiki/How-to-release-in-Travis-(CI) could help.
By default the click just moves the slider with one unit/tick forward or backward.
Move it to the desired location.
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
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
after running sbt run
I get the following:
[error] (*:update) sbt.ResolveException: unresolved dependency: org.mockito#mockito-all;1.10.10: not found
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.
Allow to choose between different type of maps.
Currently OpenStreetView is shown, possible options:
Split elevation map in segments based on the grade of the slope. Use different colors to mark the difficulty (steepness) of such a segment.
Check how to speed up the video creation (chunks converted in parallel?)
URL in
Thank you Schrottie for creating the how to in german
in the README is broken
by clicking on the elevation map:
-show the location on the route map
-show on the bottom of the elevation map basic information (time, elevation, grade, distance, speed)
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
existing screen/setup to be saved as a template
use the control from the GUI
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
Allow the user to select an arbitrary color for the values displayed on the gauges. Similar to the transparency level.
-eventually to seek in the video as well.
-update elevation and route map when playing the video.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.