1

(18 replies, posted in General)

Tam wrote:

I am using Kinovea 2025.1.1, which has been updated to include Vietnamese.

However, when I select Vietnamese, the interface still displays in English.
How can I fix this?

Sorry about this, the build system was not adding the Vietnamese resources to the final package. It's fixed now and a version with the fix should be released shortly.

If you want to return to default settings you should also delete the content of the "Windows" directory in the preferences as that's where the delay is stored. (and in that case probably delete the "Workspaces" content since workspaces are pointing to windows).

For it to work correctly there must be at least 10 seconds (or whatever is the delay value) worth of images already in the buffer when recording starts so recording shouldn't be triggered before that. Could it be that? This should show in the displayed image as black with a negative timer until it's available. (if configured to show the delayed image).

It also depends on the Recording mode configured in the preferences. Preferences > Capture > Recording > Recording mode and delay > Delayed or Retroactive.

This should be fixed in the next release.

4

(4 replies, posted in Bug reports)

Sorry I missed these posts. The translations are integrated into the codebase at irregular intervals and they end up in the next software release, these happen a few times a year. I'm in the process of setting up continuous builds though, so people can test the latest changes faster, including translations.

5

(1 replies, posted in General)

The intended mechanism is that the setting in the global preferences is used when you create a new capture screen in a new Kinovea window. But after that the capture screen itself stores its own configuration, to allow for different names in different capture screens. And within a given Kinovea window it will remember the last capture screen you opened and what name was used there. So when you close and re-open a capture screen it will reuse the name that was used in that capture screen, independent of what's in the global preferences.

So in your case I think if you change the name inside that capture screen, it should retain it from now on, even if you close and re-open that capture screen. And if you create a new window and add a capture screen there, or create a second capture screen in the same window, it should use the name from the global preferences.

Hopefully that made sense, I'm still in the process of updating the documentation.

The main change is that essentially anything you can configure on the capture screen user interface (delay, max duration, capture folder, file name), is not coming from the global preferences but from the preferences of that particular window. The window can either be in "continue where I left off" mode or use a specific configuration, this is changed in Window > Window properties menu.

6

(7 replies, posted in General)

This should be fixed in the next build.

7

(2 replies, posted in General)

Details: when you click on Enable UDP trigger in the preferences it will start listening on the UDP port configured. (You still need to "arm" the trigger as for audio in the capture screen (lightning icon)).

The UDP message itself is ignored, you can send an empty string.

It works from different computers. I just double checked by installing an app called "UDP Sender / Receiver" on my mobile phone and I was able to trigger the capture remotely. (In this case it insisted on sending a message so I just set it to "a").

Here is a small python script sending a packet every 10 seconds. You can send to the IP of the computer with Kinovea. If you don't know it you can send to 255.255.255.255.

import os
import socket
import time

# Send an empty udp broadcast every 10 seconds.
def broadcast():
    print(f'Broadcasting at {time.ctime()}')
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
    s.sendto(b'', ('192.168.0.228', 8875))
    s.close()


if __name__ == '__main__':
    while True:
        broadcast()
        time.sleep(10)

8

(7 replies, posted in General)

Yes you're right, the code is shared with the exporter that exports frames by time interval so it enumerates all frames and decides which ones to export. That is indeed very inefficient for key images, I'll fix it.

9

(7 replies, posted in General)

Hi,
I just tested here it took 17 seconds to export 100 key images.
Let's figure out what's different, maybe there is some context that's triggering a massive slow down. 1 minute per frame?

My source video is 1920x1080, is your video much larger and you are exporting at full HD? It has to repaint the source so performance is partly related to the source size.

To export the images I used menu File > Export images > Key images…

The resulting files are indeed very large.

OK, I think I see what's going on, it seems it's exporting PNG files in all cases even when the extension is set to JPEG. That would explain both the large size and the problem opening the file in other software. I'll check what's going on.

10

(3 replies, posted in Bug reports)

It's a very generic error message, I can't investigate without more information on how to reproduce the problem or at least a better understanding of what the program was doing when it happened.

Can you send me the Unhandled exception files and log files or create a github issue? Does it happen only on 2024.1 or also 2025.1? Are you also using remote desktop?

Thanks.

For 2. Guides, I think the simplest way to implement that at the moment would be an option to enable "snapping" to a virtual grid, like every 20 pixels or similar. I will double check how it works in various software.

I think the other solution is that the first object is placed freely and then when you move another one there is a guideline that appears to align it. This second solution means it needs to check all other objects while moving. But it allows aligning center to center which could be desirable. If you have a prototypical example of an application where it works well don't hesitate to share.

I would like to find something useful while keeping things visually simple.

I know of one example where it just snaps the center of the rectangle to evenly spaced virtual grid lines, this is nice and simple (but can't left-align, they are always center-aligned).

For 3. element size, is it about the timer/labels? The object size is based on the font size for these.

Yes, it's crucially important! I made a fix and I'm testing it.

13

(4 replies, posted in Bug reports)

Thanks, can you try again please? There was one component locked and I integrated all the pending translations into Kinovea.

The error you got appears to be an issue between weblate and github though, so in that case there is not much I can do, it will probably fix itself after a while.

I would prefer that you update the translation directly where you think it can be improved rather than submit suggestions. I don't get a notification on suggestions and they end up in limbo.

14

(4 replies, posted in General)

The "RenameSelected" command is only for the thumbnail view in the file explorer or camera explorer, to rename files or cameras.

There is not really any shortcut to bring up this properties dialog. The closest thing is to open the annotation pane on the right, on the second tab, and rename the objects from there.

Thanks. I can reproduce the issue here and I see where the problem is. The bug is in the time conversion unfortunately, not the name.

I'll look into it ASAP. Someone also reported an issue on github with the same root cause.