Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Direct FFmpeg calls #1

Merged
merged 10 commits into from
Feb 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/python-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Skelly Synchronize Tests

on:
pull_request:
branches: [ main ]


jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.x
uses: actions/setup-python@v4
with:
# Semantic version range syntax or exact version of a Python version
python-version: '3.9'
# Optional - x64 or x86 architecture, defaults to x64
architecture: 'x64'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests with pytest
run: |
pip install pytest
pytest skelly_synchronize/test_test.py
- name: Upload pytest test results
uses: actions/upload-artifact@v3
with:
name: pytest-results-3.9
path: junit/test-results-3.9.xml
28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@ This package synchronizes a set of videos of the same event by cross-correlating

# How to run

Synchronize your videos by setting the path to your freemocap data folder, your sessionID, and the file types of your videos into __main__.py, then run the file.
Synchronize your videos by setting the path to your freemocap data folder, your sessionID, and the file types of your videos into __main__.py, then run the file. The sessionID should be the name of a subfolder of your freemocap data folder, and should contain a subfolder called `RawVideos` containing the videos that need synching.

![Main](https://user-images.githubusercontent.com/24758117/220470598-580360ef-8d4f-447c-820e-cc4d2d544c07.png)

The terminal output while running should look like this:

<img width="1250" alt="TerminalOutput" src="https://user-images.githubusercontent.com/24758117/220470626-c3592b65-6d8f-439b-87e7-20b83d6aff0f.png">

A `SyncedVideos` folder will be created in the session folder and filled with the synchronized video files. The session folder will also have an `AudioFiles` folder containing audio files of the raw videos, which are used in processing.

<img width="626" alt="FileStructureAfterRunning" src="https://user-images.githubusercontent.com/24758117/220470692-2f573367-1737-4842-b23e-e6fb79b1e4c8.png">

## Installation

Expand All @@ -17,4 +27,18 @@ The following requirements must be met for the script to function:
1. Videos must have audio
2. Videos must be in the same file format
3. Videos must have overlapping audio from the same real world event
4. Videos must be in a folder titled "RawVideos", with no other videos in the folder
4. Videos must be in a folder titled "RawVideos", with no other videos in the folder

# Expected File Structure

To function correctly, Skelly Synchronize expects the following folder structure:
```
freemocap_data_folder:
sessionID:
RawVideos:
Cam0.mp4
Cam1.mp4
...
...
```
The camera names can be changed, and the file format may changed as well, although freemocap currently only uses `.mp4`.
2 changes: 1 addition & 1 deletion skelly_synchronize/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Top-level package for basic_template_repo."""

__package_name__ = "skelly_synchronize"
__version__ = "v2023.01.1004"
__version__ = "v2023.01.1001"

__author__ = """Philip Queen"""
__email__ = "[email protected]"
Expand Down
11 changes: 0 additions & 11 deletions skelly_synchronize/moviepy_issue.py

This file was deleted.

Loading