@@ -54,7 +54,57 @@ You'll need to create a profile - see [FFMPEG Profiles](#ffmpeg-profiles)
54
54
venv/bin/gopro-dashboard.py --profile nvgpu ~ /layouts/my-layout.xml ~ /gopro/GH020073.MP4 GH020073-dashboard.MP4
55
55
```
56
56
57
- * Create a movie with alpha channel, using only GPX file, without video from GoPro*
57
+
58
+ ## Omitting Widgets
59
+
60
+ If the layout you are using has a widget you don't want, you can use ` --include <name> <name>.. ` or ` --exclude <name> <name>... `
61
+ on the command line to include or exclude that widget. To get the name of the widget, currently you need to look at the xml file. (linked above)
62
+
63
+ ## Skipping Containers
64
+
65
+ If you didn't want to render a container, you could add ` --exclude <container-name> ` when running the program, and this
66
+ container would be skipped.
67
+
68
+ ## FFMPEG Profiles
69
+
70
+ Create a file ` ~/.gopro-graphics/ffmpeg-profiles.json ` , and put FFMPEG parameters to control the ` input ` and ` output `
71
+
72
+ Both ` input ` and ` output ` sections are mandatory.
73
+
74
+ The ffmpeg command line arguments are a bit of a minefield, so when using this, then it definitely is out-of-warranty. (There's no warranty anyway!)
75
+
76
+ Please consider contributing useful settings, particularly those that control GPU outputs.
77
+
78
+ ``` json
79
+ {
80
+ "profile-name" : {
81
+ "input" : [" list" , " of" , " input" , " options" ],
82
+ "output" : [" list" , " of" , " output" , " options" ]
83
+ }
84
+ }
85
+ ```
86
+
87
+ Example:
88
+
89
+ ``` json
90
+ {
91
+ "nvgpu" : {
92
+ "input" : [" -hwaccel" , " nvdec" ],
93
+ "output" : [" -vcodec" , " h264_nvenc" , " -rc:v" , " cbr" , " -b:v" , " 50000k" , " -bf:v" , " 3" , " -profile:v" , " high" , " -spatial-aq" , " true" ]
94
+ },
95
+ "low-fr" : {
96
+ "input" : [],
97
+ "output" : [" -r" , " 10" ]
98
+ }
99
+ }
100
+ ```
101
+
102
+ ## Creating Videos using only GPX File
103
+
104
+ ### Create a movie with alpha channel, using only GPX file, without any video at all
105
+
106
+ This is when you want to use external software to do the final video - combining the "dashboard" video and some other video using Lightworks
107
+ or whatever
58
108
59
109
You'll need to create a profile - see [ FFMPEG Profiles] ( #ffmpeg-profiles )
60
110
@@ -95,13 +145,20 @@ then execute (NOTE: extension is `webm`)
95
145
venv/bin/gopro-dashboard.py --use-gpx-only --gpx ~ /Downloads/Morning_Ride.gpx --profile overlay --overlay-size 1920x1080 GH020073-dashboard.webm
96
146
```
97
147
98
- * Create a movie from GPX and video not created with GoPro*
148
+ ### Create a movie from GPX and video not created with GoPro
149
+
150
+ This is currently quite hard to align things properly!
151
+
152
+ #### Ensure file time matches GPX times
99
153
100
154
Make sure that the time of the file is correct and when aligned to the timezone of your computer matches the data in GPX file
101
155
(this might not be the case if video is recorded abroad).
156
+
102
157
If it is not correct you can fix it using ` touch -d '2022-08-29T11:17:44Z' file.mp4 ` .
158
+
103
159
To get the correct time you can try with different dates available from ` exiftool file.mp4 ` or ` exiftool thumbnail_image_of_the_video.thm `
104
160
(if thumbnail image exist), from SRT/flight log viewer/CSV from Airdata, etc.
161
+
105
162
But first make sure that you have set the correct date and time of the camera BEFORE recording the video.
106
163
107
164
``` shell
@@ -118,49 +175,6 @@ venv/bin/gopro-dashboard.py --video-time-end file-created --use-gpx-only --gpx
118
175
venv/bin/gopro-dashboard.py --video-time-end file-modified --use-gpx-only --gpx ~ /Downloads/Morning_Ride.gpx ~ /recording/sail.MP4 GH020073-dashboard.MP4
119
176
```
120
177
121
- ## Omitting Widgets
122
-
123
- If the layout you are using has a widget you don't want, you can use ` --include <name> <name>.. ` or ` --exclude <name> <name>... `
124
- on the command line to include or exclude that widget. To get the name of the widget, currently you need to look at the xml file. (linked above)
125
-
126
- ## Skipping Containers
127
-
128
- If you didn't want to render a container, you could add ` --exclude <container-name> ` when running the program, and this
129
- container would be skipped.
130
-
131
- ## FFMPEG Profiles
132
-
133
- Create a file ` ~/.gopro-graphics/ffmpeg-profiles.json ` , and put FFMPEG parameters to control the ` input ` and ` output `
134
-
135
- Both ` input ` and ` output ` sections are mandatory.
136
-
137
- The ffmpeg command line arguments are a bit of a minefield, so when using this, then it definitely is out-of-warranty. (There's no warranty anyway!)
138
-
139
- Please consider contributing useful settings, particularly those that control GPU outputs.
140
-
141
- ``` json
142
- {
143
- "profile-name" : {
144
- "input" : [" list" , " of" , " input" , " options" ],
145
- "output" : [" list" , " of" , " output" , " options" ]
146
- }
147
- }
148
- ```
149
-
150
- Example:
151
-
152
- ``` json
153
- {
154
- "nvgpu" : {
155
- "input" : [" -hwaccel" , " nvdec" ],
156
- "output" : [" -vcodec" , " h264_nvenc" , " -rc:v" , " cbr" , " -b:v" , " 50000k" , " -bf:v" , " 3" , " -profile:v" , " high" , " -spatial-aq" , " true" ]
157
- },
158
- "low-fr" : {
159
- "input" : [],
160
- "output" : [" -r" , " 10" ]
161
- }
162
- }
163
- ```
164
178
165
179
## GPU Learnings
166
180
0 commit comments