Skip to content

Commit 42cf463

Browse files
committed
moving things around / clarification
1 parent 79349b7 commit 42cf463

File tree

1 file changed

+59
-45
lines changed

1 file changed

+59
-45
lines changed

docs/bin/README.md

+59-45
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,57 @@ You'll need to create a profile - see [FFMPEG Profiles](#ffmpeg-profiles)
5454
venv/bin/gopro-dashboard.py --profile nvgpu ~/layouts/my-layout.xml ~/gopro/GH020073.MP4 GH020073-dashboard.MP4
5555
```
5656

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
58108

59109
You'll need to create a profile - see [FFMPEG Profiles](#ffmpeg-profiles)
60110

@@ -95,13 +145,20 @@ then execute (NOTE: extension is `webm`)
95145
venv/bin/gopro-dashboard.py --use-gpx-only --gpx ~/Downloads/Morning_Ride.gpx --profile overlay --overlay-size 1920x1080 GH020073-dashboard.webm
96146
```
97147

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
99153

100154
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
101155
(this might not be the case if video is recorded abroad).
156+
102157
If it is not correct you can fix it using `touch -d '2022-08-29T11:17:44Z' file.mp4`.
158+
103159
To get the correct time you can try with different dates available from `exiftool file.mp4` or `exiftool thumbnail_image_of_the_video.thm`
104160
(if thumbnail image exist), from SRT/flight log viewer/CSV from Airdata, etc.
161+
105162
But first make sure that you have set the correct date and time of the camera BEFORE recording the video.
106163

107164
```shell
@@ -118,49 +175,6 @@ venv/bin/gopro-dashboard.py --video-time-end file-created --use-gpx-only --gpx
118175
venv/bin/gopro-dashboard.py --video-time-end file-modified --use-gpx-only --gpx ~/Downloads/Morning_Ride.gpx ~/recording/sail.MP4 GH020073-dashboard.MP4
119176
```
120177

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-
```
164178

165179
## GPU Learnings
166180

0 commit comments

Comments
 (0)