Skip to main content

Video coder for psychological experiments

Project description

Felyx – Video coder in Python for Experimental Psychology

PyPI Version License

Felyx is a Python-based application for video coding, primarily intended for use in experimental psychology. Although Felyx resembles a video editor, it is not possible to alter the video file loaded into it. However, it is possible to add temporal occurrences and save them as CSV (comma-separated values) files.

Screenshot

figure

Installation

The application is available at PyPI and can be installed via:

python -m pip install felyx

On Linux, In order to avoid the following warning at startup:

qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load VAAPI library

please install the libav-dev package (in Debian derivatives).

The application was developed primary on Linux and Windows, but should also work on MacOS.

Felyx is known to function properly with Python versions between 3.8 and 3.13, and with PySide6 versions 6.9 and 6.10.

Usage

Loading the video file

After launching the application (felyx.exe on Windows, felyx on Linux and MacOS), a video file can be loaded via the menu entry File⇒Open…. Almost all popular video formats are supported. It is also possible to load a “project” file, in the ZIP format. This file contains a video file, as well as the configuration and data files, all bundled together. Current work can then be saved to the project file, allowing the work to be resumed later. For the technical details about the project file, see the FORMAT specification file.

It has been reported that MP4 video files cause Felyx to slow down on Windows systems.

Playing/stopping the video and moving around it

Once the video has loaded, it can be played or stopped using the space bar. The left and right arrow keys can be used to go backward and forward by one frame at a time, respectively. Positioning the cursor (a black triangle) with the mouse is also possible by clicking and dragging the cursor on the time pane.

The time pane and its timelines

Events

Event occurrences

Event occurrences can be defined by pressing the enter key. This marks one of the borders of the occurrence. The other border can be defined by using the arrow keys or by clicking and dragging the cursor. Once the cursor is in the desired position, press Enter again. This will open a dialog window for choosing the label and the color of the occurrence. New labels can be defined in the dialog window by simply typing them. The new created labels will appear in the list of proposed labels when new occurrences are subsequently created.

Once an occurrence is created, it is possible to change its borders by double-clicking on it. Two handles will then appear, one on the left border of the occurrence and the other on the right border. Click on a border handle and use the left and right arrow keys to move it.

The creation of an occurrence can be aborted, once it has been started by either pressing the Escape key or by clicking on the Abort button in the pop-up window.

The timeline can be zoomed in and out by using the mouse's scroll wheel.

Occurrences can be saved as a CSV file via the menu item File⇒Export CSV….

Configuration

(more to come later)

Contributing

The source code is available in a public repository at the Gitlab instance of the Université Grenoble Alpes, France.

The name of the game

Felyx is named after the grandson of one of the authors. The letter y is reminiscent of the y in Python.

Authors

Copyright (C) 2024 Esteban Milleret (esteban.milleret@etu.univ-grenoble-alpes.fr)

Copyright (C) 2024, 2025 Rafael Laboissière (rafael.laboissiere@cnrs.fr)

License

This project is licensed under the terms of the GPL 3.0 or later.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

felyx-0.12.17.tar.gz (62.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

felyx-0.12.17-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

File details

Details for the file felyx-0.12.17.tar.gz.

File metadata

  • Download URL: felyx-0.12.17.tar.gz
  • Upload date:
  • Size: 62.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for felyx-0.12.17.tar.gz
Algorithm Hash digest
SHA256 5d4d945f1c9ce2bf111b986cd06afcdb32a72bb85f6a484a95c9d4ac573018c5
MD5 fabd86305d9839c140edd6f93321e8d6
BLAKE2b-256 5980e90dd5b63fd7d703209ac4ce6f75f4f0048f41dc342fb3143ee63a578e84

See more details on using hashes here.

File details

Details for the file felyx-0.12.17-py3-none-any.whl.

File metadata

  • Download URL: felyx-0.12.17-py3-none-any.whl
  • Upload date:
  • Size: 70.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.9

File hashes

Hashes for felyx-0.12.17-py3-none-any.whl
Algorithm Hash digest
SHA256 1be060583945d7cb68b30b0592ce6381c5982b127b252d05c548fadcb1de7cb0
MD5 03887a0447ecce3a30e7c614b6d522f5
BLAKE2b-256 18c5dc7f7ab93113ea0bb1ac300789343b2b45b39b7075b7ee1395c110e824cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page