Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/at15/tennis-video-analysis

A desktop video player for tennis video analysis, scroll, take screenshots to create composite screenshot of full (serve) motion
https://github.com/at15/tennis-video-analysis

Last synced: 7 days ago
JSON representation

A desktop video player for tennis video analysis, scroll, take screenshots to create composite screenshot of full (serve) motion

Awesome Lists containing this project

README

        

# tennis-video-analysis

A desktop video player for tennis video analysis, scroll, take screenshots to create composite screenshot of full (serve) motion.

## TODO

Basic

- [ ] Play single video with a scroll bar
- [ ] Ability to take screenshots and define an area to create a series of screenshots on a time range

Advanced

- [ ] Annotation tools on the video, e.g. draw line
- [ ] Play two videos side by side

Machine learning

- [ ] Mark the person and racket in the beginning of the video and able to detect them in the rest of the video

## Commands

Setup python virtual environment

```bash
python3 -m venv playground
source playground/bin/activate
pip install opencv-python
pip freeze > requirements.txt
```

Install ffmpeg for `moviepy`

```bash
brew install ffmpeg
pip install pygame
```

Use qt? maybe use PyQt6 instead of PyQt5... https://www.pythonguis.com/tutorials/pyqt6-actions-toolbars-menus/

```bash
brew install qt # this is qt6
# https://stackoverflow.com/questions/76113859/unable-to-install-pyqt5-on-macos
brew install qt5
```

Convert video

```bash
ffmpeg -i test_serve.mov -c:v libx264 -crf 23 -c:a aac -b:a 128k test_serve.mp4
```

## Known issues

- most code are generated by copilot :doge:
- only tested on macOS arm64
- moviepy cannot render portrait video correctly, see [issue](https://github.com/Zulko/moviepy/issues/586) and the future of moviepy is uncertain see [issue](https://github.com/Zulko/moviepy/issues/1874)

## License

GPL-3.0