- Table of Contents
- Overview
- Features
- Project Structure
- Getting Started
- Roadmap
- Contributing
- License
- Acknowledgments
ChateniarVideoEditor is an advanced video editing automation tool that integrates with DaVinci Resolve. It provides a powerful Python-based framework for programmatically managing video editing tasks, timeline operations, and project workflows. This tool is designed to streamline the video editing process through automation and AI-assisted editing capabilities.
Key aspects:
- Integration with DaVinci Resolve's API
- Automated timeline management
- Support for multiple media types (video, audio, AV)
- Project and folder organization
- Template-based editing operations
The ChateniarVideoEditor provides a comprehensive set of features for automated video editing:
- DaVinci Resolve Integration: Seamless connection with DaVinci Resolve for professional video editing
- Timeline Management: Advanced control over video/audio tracks and timeline operations
- Media Management: Efficient handling of various media types (video, audio, combined AV)
- Project Organization: Structured project and folder management system
- Template System: Reusable templates for common editing operations
- Track Operations:
- Add video to specific tracks
- Insert audio in designated tracks
- Manage combined audio/video content
- Retrieve track contents and properties
- Folder Structure: Organized media and project file management
- Media Import: Automated media importing and organization
- Project Settings: Customizable project configuration
- Timeline Control: Precise timeline manipulation and editing
- Python-based Framework: Powerful and extensible Python implementation
- JSON Configuration: Flexible template and settings management
- Logging System: Comprehensive logging for debugging and monitoring
- Cache Management: Efficient caching system for improved performance
└── ChateniarVideoEditor/
├── __pycache__
│ ├── DaVinciResolveScript.cpython-310.pyc
│ └── python_get_resolve.cpython-310.pyc
├── a.txt
├── ChateniarAI
│ ├── Editor
├── Lib
│ ├── __init__.py
│ ├── __pycache__
│ ├── DaVinciResolveScript.py
│ ├── fusionscript.dll
│ ├── Logger.py
│ ├── ResolveLoader.py
│ └── ResolveLoader.pyi
├── ManageProject
│ ├── __pycache__
│ ├── Connection.py
│ ├── FolderManager.py
│ ├── MediaManager.py
│ ├── ProjectManager.py
│ ├── ResolveDefine.py
│ └── TimelineManager.py
├── Test.py
└── VirtualEnvironment
├── Lib
├── pyvenv.cfg
└── ScriptsC:\USERS\LONG96\DOCUMENTS\CHATENIARVIDEOEDITOR/
__root__
⦿ __root__
File Name Summary a.txt Code>❯ REPLACE-ME Test.py Code>❯ REPLACE-ME
ChateniarAI
⦿ ChateniarAIEditor
⦿ ChateniarAI.Editor
File Name Summary EditExample.json Code>❯ REPLACE-ME EditorMain.py Code>❯ REPLACE-ME Cache
⦿ ChateniarAI.Editor.CacheNahBro
⦿ ChateniarAI.Editor.Cache.NahBro
File Name Summary copy_7126D21C-8EE3-484D-B53C-8B3B5DFB1655_property_ce5d652e-8cbc-4cac-9443-0c8dd12f1145.json Code>❯ REPLACE-ME Template
⦿ ChateniarAI.Editor.Template
File Name Summary addAudioToTrack.py Code>❯ REPLACE-ME addAVToTrack.py Code>❯ REPLACE-ME addVideoToTrack.py Code>❯ REPLACE-ME getAudioInTrack.py Code>❯ REPLACE-ME getAVInTrack.py Code>❯ REPLACE-ME getVideoInTrack.py Code>❯ REPLACE-ME ListFunction.py Code>❯ REPLACE-ME
Lib
⦿ Lib
File Name Summary DaVinciResolveScript.py Code>❯ REPLACE-ME Logger.py Code>❯ REPLACE-ME ResolveLoader.py Code>❯ REPLACE-ME ResolveLoader.pyi Code>❯ REPLACE-ME
ManageProject
⦿ ManageProject
File Name Summary Connection.py Code>❯ REPLACE-ME FolderManager.py Code>❯ REPLACE-ME MediaManager.py Code>❯ REPLACE-ME ProjectManager.py Code>❯ REPLACE-ME ResolveDefine.py Code>❯ REPLACE-ME TimelineManager.py Code>❯ REPLACE-ME
This project requires the following dependencies:
- Python: Version 3.8 or higher
- DaVinci Resolve: Studio or Free version installed
- Operating System: Windows 10/11
- Additional Software:
- Git (for version control)
- Python virtual environment tool (recommended)
Follow these steps to set up ChateniarVideoEditor:
-
Clone the repository:
git clone https://github.com/1234coco/ChateniarVideoEditor.git
-
Navigate to the project directory:
cd ChateniarVideoEditor -
Create and activate a virtual environment:
python -m venv venv .\venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Configure DaVinci Resolve:
- Ensure DaVinci Resolve is installed
- Enable external scripting in DaVinci Resolve preferences
- Set up proper permissions for script access
-
Start DaVinci Resolve before running any scripts.
-
Run the main editor:
python ChateniarAI/Editor/EditorMain.py
-
Use template functions:
- Add video to track:
from ChateniarAI.Editor.Template import addVideoToTrack addVideoToTrack.execute(timeline, trackIndex, mediaPath)
- Add audio to track:
from ChateniarAI.Editor.Template import addAudioToTrack addAudioToTrack.execute(timeline, trackIndex, mediaPath)
- Add video to track:
-
Project Management:
- Create new project:
from ManageProject import ProjectManager project = ProjectManager.createProject("MyProject")
- Manage media:
from ManageProject import MediaManager MediaManager.importMedia(project, "path/to/media")
- Create new project:
-
Edit
EditExample.jsonto customize default settings:{ "project": { "name": "MyProject", "resolution": "1920x1080", "framerate": 30 } } -
Configure logging in
Logger.pyfor debugging needs.
ChateniarVideoEditor includes a test suite for verifying functionality:
-
Run all tests:
python -m unittest discover tests
-
Run specific test modules:
python -m unittest tests/test_editor.py python -m unittest tests/test_project.py
-
Core Framework:Implement basic DaVinci Resolve integration and project management -
Template System:Create reusable templates for common editing operations -
AI Enhancement: Implement AI-assisted editing features -
GUI Interface: Develop graphical user interface for easier operation -
Advanced Templates: Add more sophisticated editing templates -
Asset Management: Improve media asset organization and tagging -
Performance Optimization: Enhance speed and efficiency of operations -
Multi-platform Support: Extend support to other operating systems
- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the
ChateniarVideoEditorproject. - 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your LOCAL account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone C:\Users\long96\Documents\ChateniarVideoEditor
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to LOCAL: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
ChateniarVideoEditor is released under the MIT License. This means you can:
- Use the software for commercial purposes
- Modify the source code
- Distribute the software
- Use and modify the software in private
For more details, refer to the LICENSE file in the repository.
- DaVinci Resolve: For providing the powerful video editing platform and API
- Python Community: For the extensive libraries and tools
- Contributors: All developers who have contributed to this project
- Documentation: Thanks to everyone who helped improve the documentation