New video overlay option in QGroundControl

Hi, you should try to record in MP4 format instead of mkv. It worked for me.
Does anyone know how to modify the script to add some text like company name on the overlay?

Regards,

OK, i will try MP4 !!
Thanks

Hi,
You can easily edit the .ass file with a text editor. it should be straightforward.

You can try loading the subtitles manually too, either dragging the file to the VLC video screen or through the menu “Subtitle->Add Subtitle File…”

New test !! If i record in MP4 and read with VLC , overlay are here !!
Thanks

3 Likes

Can I ask if you have had any stability problems with the daily build program?

Hi. I have tryed to download daily QGC and VLC. I save the videos in mp4, but i still not got any overlay??? Check my version of QGC and VLC video files in the picture. Thanks for all help!

Screen picture of VLC video file

@Bluerobot Do you see a subtitles (.ass) file in the folder with the video?

Is this still a feature of the daily builds? I have the daily build running, and get a .ass file generated, however, it does not seem to be recording telemetry. Only time and date are recorded in the .ass (and shown in the video on VLC). Battery,GPS,pitch, roll data are displayed in the widget, but don’t seem to be recording (file copied below).

Have found with the daily build, the option to log when disarmed, and generate CSV have to be switched off or the program crashes (Windows). ArduSub and companion are updated to most recent versions. Have tried all video recording formats with no luck. Any thoughts? Thanks!

[Script Info]

Title: QGroundControl Subtitle Telemetry file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.601
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Monospace,30,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,1,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:00.9,0:00:01.9,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:02.0,0:00:03.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:02.9,0:00:03.9,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:04.0,0:00:05.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:05.0,0:00:06.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:06.0,0:00:07.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:07.0,0:00:08.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:08.0,0:00:09.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:09.0,0:00:10.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:10.0,0:00:11.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:11.0,0:00:12.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:11.9,0:00:12.9,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:13.0,0:00:14.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:14.0,0:00:15.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\an3\pos(295,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\pos(305,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\an3\pos(950,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\pos(960,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\an3\pos(1605,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\pos(1615,1075)}
Dialogue: 0,0:00:15.0,0:00:16.0,Default,0,0,0,{\pos(10,35)}16/04/2020 9:46 AM

Hey, it’s definitely a valuable feature, thanks for the efforts! I managed to see the the subtitles in VLC and BS.player but they are not stable, disappearing and re-appearing in a changing interval. Any clue how to solve this?
Thanks.

Might be processor load on topside computer.
Have had that effect when the processor chokes.

1 Like

Hi Bo, thanks for your answer.
I don’t think that computer resource is the issue as I checked it and restarted the computer just to verify. It has the exact same subtitles blinking, seems like it might be in the actual data, although this is somewhat of a guess.

Hi @odedezra,

Try burning them to the video using Handbrake.

2 Likes

Thanks William, I will try it.

I have the same issue.

Hi @gcelec,

How bad is it? can you share a few seconds of video? Have you tried Handbrake?

@gcelec you seem to have ran into this issue. There is already a pull request open to fix it, it should be fixed in the next major release of QGC.

Sometimes due to how the subtitles are saved, some small gaps appear in the file (100ms or so), and VLC seems to make them worse.

1 Like

I’m having a similar issue, newest version of QGC will does not have any of telemetry subtitles displayed, .ass file is there and plays with VLC but no data shown. Went back to version 4.0.11 of QGC, telemetry shows now in both .mkv and .mp4, however now the telemetry flashes on and off intermittently while watching video back in VLC with subtitles on??
Further to the above, I tried QGC 4.0.11 on two different laptops, one brand new, one 5+years old, the old one works fine and telemetry is displayed constantly on playback. On new laptop, telemetry flashes intermittently on playback

Hi @Airon ,

QGC 4.1.1 should be available and have this fixed. Both the flickering issue from 4.0.11 and the update for the new telemetry widget. This is the relevant PR.

where is 4.1.1 located? The stable build download seems to be 4.0.5.
Thanks