Hi,
Thanks for the details.
Indeed 0.8.24 has specific code to use the Basler "Pylon" libraries while the older versions were relying on the rather limited DirectShow filter. It improves Kinovea awareness of the camera capabilities but I could only test with one specific camera (a 50fps grayscale Ace).

Are you on Windows x64 or x86 ? Which version of Windows ? Did you install Basler software in x64 or x86 ?
It was only tested with the x86 versions of Basler Pylon libraries since Kinovea 0.8.24 is an x86 app.

Does it let you go in the camera configuration window in Kinovea and change some options?
What options are listed in the Stream format combobox ?

Did you install the Basler viewer application ? I noticed that sometimes I have to launch it first and make sure I can see the camera stream there, before it can work properly in Kinovea.

No, at the moment you can't rotate the image in Kinovea.
It is something I would like to look at in the future but haven't had time to get to.

However, if someone has a small sample video that automatically turns itself upright in other players because of a flag in the file, I'm interested in such a file to bootstrap experiments.

753

(1 replies, posted in Français)

Bonjour,
Effectivement il semble que le driver Windows pour la PS3Eye soit devenu payant…
Dans tous les cas le driver ne supportait qu'une caméra à la fois.

À l'heure actuelle pour la capture en live il y a des webcams de meilleure qualité comme la Logitech C920. Par contre elle est plus chère et filme à 30fps max (mais en 1920×1080, contre 640×480 pour la PS3Eye, ce qui fait une grosse différence sur l'exploitabilité des vidéos à mon avis).

Sinon en mode un peu plus expérimental il y a une webcam chinoise peu chère, ELP-USBFHD01M, qui fait 1280×720 @ 60 fps, mais la qualité d'image n'est pas même niveau que la logitech.

It is grouped under the line tool.
You must press the line tool button down until the popup menu with the extra tools appears. Similarly, the other tools that have the tiny triangle in the top-left corner have other tools grouped under them.

755

(28 replies, posted in General)

There is no written guidelines regarding Basler cameras at the moment.

Can you expand a bit?
- Which package did you download and install from Basler? Was it x64 or x86, and are you on Windows x64 or x86?
- Do you see the camera thumbnail or not?
- Do you have a color or monochrome camera?
- Do you have the same issues if you start by using the Pylon viewer, connect to the camera there, close the viewer, and then open Kinovea?
- Can you open the log.txt file and search for "Basler". Paste any corresponding line found.

Thanks

756

(28 replies, posted in General)

In the next version the behavior will be to read the value under Control Panel > Region > Formats > Additional settings… > List separator. The value can be ";" or ",". Then use this value as the separator for exported files and clipboard data. It should provide at least self consistency for a single machine and will work without issue as long as the files are shared with users of the same culture.

It is also the value that is used by Excel at import. You can set it to ";" in the meantime if you don't fear loosing compatibility with other applications.

757

(28 replies, posted in General)

I'm not a heavy user of Excel but I think there is a button in one of the ribbon tabs where you can specify the field separator character when importing.

The problem with using a comma is that in some locales like French it is the decimal separator and it would mangle numbers with one another. It could be an option in preferences though.

edit:
The button I mentioned will only work for copy/paste operation. It's irrelevant if you double click an exported file.
Apparently if you rename the file to .txt it will open the text import dialog which let you choose the delimiter.

758

(28 replies, posted in General)

If you are using the trajectory tool or point tool, maybe check the "Data analysis" contextual menu by right clicking the drawing.

From there you can export filtered data to a CSV file which should be read by any spreadsheet application, copy data to the clipboard, or directly export the graph as an image file.

The Excel export in the main menu will create a file in an XML format that is compatible with the version I had at the time, but I haven't checked with the most recent versions of Excel.

The text export option is mostly useful to use the data as input to another program. The CSV export from the data analysis window should be preferred in most cases anyway.

759

(10 replies, posted in General)

Hi,
The first suggestion is to try with the version 0.8.24. It is marked "experimental" because there are some aspects that I feel are not polished enough to reach what I consider proper release, like an updated user manual and full translations. However in terms of features it is much more advanced than 0.8.15. I believe it is also more stable, (if only for the crash recovery mechanism).

760

(28 replies, posted in General)

I have posted a response to juanecorrea in the other thread here.

It would seem that it is the specific combination of container and codec that doesn't please Windows Media Player and co. Having an option to package the content inside AVI should be enough to fix the issues.

761

(3 replies, posted in Bug reports)

Hi,

1.
OK, for some reason I was under the impression that there was an issue between MJPEG (the new codec used for captured files) and the AVI container at certain frame rates.
I just checked and there doesn't seem to be any issue. I don't have iTunes or cSwing though, so please test this file against these players and let me know if it works (only a few frames). If it works I will restore the container format selector.

2.
Yes it is a consequence of a fundamental change in the recording architecture. There is no going back to the previous architecture because it was not good enough to allow the recording of HD stream at 30fps which I think is a must. The only way to emulate it would be to implement the old behavior on top of the new architecture but it will be a bit of a pain.

Can you describe a bit more how you combine recording and delay? How do you know when to hit record?

762

(28 replies, posted in General)

Oh, I completely missed the messages from April 30th and May 1st, sorry.

@gollum: I'll double check the issue with exported framerate. I did several tests where it worked and properly recorded the framerate. I have to check if the value written at the codec level is the same as the value written at the container level.

Regarding naming, thanks for the examples, it helps. Yes, being able to include the alias of the camera in the filename is a must-have.

For auto-incrementing counters, maybe there should be several of them. One global counter that increments whenever a video is recorded, then screen-specific counters, or maybe a global counter that is dual-camera aware and only increment once, and then maybe camera-specific counters.

It would also probably be nice to be able to manipulate the current value of the counters beside just reset.

To change the camera alias you can:
- Right-click the thumbnail and choose "Rename".
- Inside the camera configuration dialog, directly edit the alias (blue text). I always wondered if this hidden editbox was hard to discover, I have my answer. Maybe an explicit rename button would be more usable.
Note that you can change the icon by clicking on it in both dialogs.

@cmdi035: I have seen this effect with some H.264 encoded content, is it your case? I don't have a solution at the moment. The images themselves should be in the correct order but the timestamps are all mangled which is why the cursors jumps back and forth, and why there are issues with seeking.

763

(28 replies, posted in General)

Hi,
Thanks for the detailed message.
I'll try to recap. I think you have correctly identified the various causes. I'll just repost them here for clarity.

1. Framerate mismatch due to auto-exposure.
Kinovea uses the camera configuration information to write the framerate in the file. So if the camera is configured for 30 fps but due to Auto Exposure only actually streams at 15 fps, the resulting video will be sped up.

2. Framerate mismatch due to using a default value.
Kinovea probably cannot read the configuration of the frame grabber. When you go in the configuration dialog do you have the framerate drop down available ?

3. Issues with dual mode when one or both of the videos have a mismatched framerate.
Both videos do not share a common truth for what they consider real-time.

Possible solutions:

  • A. At playback time, being able to correct the information written into the file with a user provided value. I think this is what you propose. I like this idea because it would open other use-cases as well. There are caveats though.

  • B. At record time, write the "signal" value to the file. This value is the computed framerate from the actual stream. It is smoothed over a time window but still subject to noise and variation from auto exposure. I don't particularly like this option because it will result in a lot of files marked as 29.99 fps or 30.01 fps, even though the frames were actually captured by the camera at the correct frequency. The noise is coming from various buffers on the computer side.

  • C. At record time, ask the user to specify a value. This could disrupt the recording workflow.

Caveats of A:
How do you know the actual recording framerate? It depends on the current exposure duration and may change during the recording if exposure is on Auto. It is not always 1/exposure duration anyway (Logitech and Microsoft cameras differ on their strategy here).

There will be a confusion possible between this and the high speed camera dialog which only changes timecodes.


4. Naming pattern for dual cameras
I completely agree and I have been experiencing that very same annoyance myself recently while filming sterescopic videos.

There are other improvements to be had in this area. I'd like to
- be able to specify separate capture directories (to be able to record on two different drives in parallel for performance),
- make it easier to change the capture directory,
- be able to use macros in the directory path so they get named with the date automatically
- have separate prefix/suffix for left/right cameras, etc.
I'll probably start another thread for this to brainstorm ideas.

764

(28 replies, posted in General)

I forgot to mention an important change in the way the recording works with regards to the delay feature.

In previous versions of Kinovea, when you started the recording, you would record what was visible on screen. If you had delay in place of say 10 seconds, then the first image of the resulting video would be 10 seconds earlier than the time you pressed record.

This is no longer the case due to the decoupling of the preview and the recording. This means that the configured delay is no longer taken into account when recording. You always record the "live" feed. Minus the base latency between the camera and the computer memory (which depends on the selected stream format by the way).

This new feature is introduced in 0.8.24.
It may not be entirely intuitive so I'll attempt to clarify the behavior here.

http://www.kinovea.org/screencaps/0.8.x/0824-dss.png

It controls the frequency at which the frames are displayed on screen vs the frequency at which they are captured from the camera. (During live capture sessions).
It has an impact on the smoothness of display and on the maximum duration of the delay feature.

When the camera captures a frame, it is stored in an internal buffer. This buffer is then consumed independently by the display module and by the recording module.
The recording module always consumes all the frames to avoid any frame drop in the resulting video.

For the display on screen there are two choices, controlled by this setting.

1. Camera frame signal.
Each time the camera receives a frame it is added to the internal buffer and the display module receives a signal.
In this strategy, the display module uses this signal to take the latest frame from the buffer and push it to its internal delay buffer, and take one frame from the delay buffer and display it on screen. (If delay is zero they are the same frame).
This is the historical mode.

Advantage: If the computer is fast enough, the delay buffer contains all the camera frames. If you pause the stream you can navigate with the full temporal granularity.
Drawback: If the computer is not fast enough, it may cause jittery display, especially in dual camera mode.

2. Forced framerate.
In this strategy, an independant timer loop is used by the display module. It's only when this timer ticks that the display module takes the latest frame from the buffer and push it to its internal delay buffer and take one frame from the delay buffer and display it on screen.

Advantage: Smoother display, especially when using dual camera mode (unless you go too low in framerate).
Advantage 2: If you lower the framerate, you can fit a longer time period into the delay buffer.
Drawback: Some frames are missing if you pause the stream and analyse it.

Notes:
- The selected framerate has no relation to the camera framerate.
- The selected framerate has no impact on the framerate stored in the recorded videos. (videos are created at the camera framerate).
- In either mode, the recording module takes precedence in terms of performance. The display module will always drop frames if the computer has trouble keeping up.
- Setting the framerate to higher than the camera framerate will not provide any benefits.
- You have to reconnect the stream for this option to take effect.


The default is to use "Forced framerate" at a value of 25 fps. Feedback is welcomed on whether this is a good default.

If you have questions or comments please post below.