fli_video 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.builders/klues/add_episode.klue +25 -0
- data/.builders/klues/change_chapter_name.klue +32 -0
- data/.builders/klues/create_chapter_video.klue +34 -0
- data/.builders/klues/create_project.klue +37 -0
- data/.builders/klues/empty_trash.klue +24 -0
- data/.builders/klues/episode_path.klue +77 -0
- data/.builders/klues/global_config.klue +31 -0
- data/.builders/klues/move_ecamm_file.klue +21 -0
- data/.builders/klues/move_to_trash.klue +29 -0
- data/.builders/klues/open_in_finder.klue +25 -0
- data/.builders/klues/project_config.klue +123 -0
- data/.builders/klues/project_meta_data_store.klue +28 -0
- data/.builders/klues/project_path.klue +77 -0
- data/.builders/klues/recording_file_watcher.klue +28 -0
- data/.builders/klues/recording_filename.klue +112 -0
- data/.builders/klues/restore_from_trash.klue +29 -0
- data/.builders/klues/switch_focus.klue +24 -0
- data/.builders/klues/text_to_speech.klue +29 -0
- data/.builders/klues/transcript_data_store.klue +28 -0
- data/.rubocop.yml +2 -0
- data/CHANGELOG.md +18 -0
- data/README.md +13 -20
- data/bin/fli_video +6 -0
- data/docs/feature-list.md +75 -0
- data/docs/generated/application-structure.json +57 -0
- data/docs/generated/features-and-components.md +987 -0
- data/docs/generated/technical-design-and-features.md +420 -0
- data/docs/technical-specifications.md +347 -0
- data/fli.rb +138 -0
- data/lib/fli_video/cli.rb +30 -0
- data/lib/fli_video/version.rb +1 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/scripts/01-get-structure.rb +84 -0
- data/scripts/02-get-features-and-components.rb +38 -0
- data/scripts/03-get-technical-design-and-features.rb +27 -0
- metadata +32 -3
- data/README-features.md +0 -36
@@ -0,0 +1,420 @@
|
|
1
|
+
## Application Overview
|
2
|
+
|
3
|
+
This document provides an overview of a specialized application designed primarily for video content creators using Ecamm Live on the Mac, and adaptable for OBS users. Tailored for projects ranging from individual YouTube videos to episodes in a podcast series, the application fits seamlessly into the workflow between video recording and editing. It streamlines the post-recording process, encompassing file organization, renaming, and assembly of video recordings, thereby enhancing the efficiency and structure of content creation.
|
4
|
+
|
5
|
+
### Core Functionality
|
6
|
+
|
7
|
+
- **Video Management**: The application intelligently handles videos recorded via Ecamm Live. Once Ecamm saves the videos with a name and timestamp in its folder, our system relocates them to a specific project or episode folder within the project/recordings directory.
|
8
|
+
- **Project and Episode Handling**: Each video project pertains to either a single YouTube video or a series of podcast episodes. The application supports a structured approach to organizing these projects.
|
9
|
+
- **Chapter-Based Recording**: Emulating a book's structure, down to chapters and individual paragraphs or sentences, videos are recorded and categorized as chapters, which can further be divided into smaller segments or 'parts', akin to paragraphs or sentences, labeled sequentially (e.g., a, b, c...).
|
10
|
+
- **File Naming and Organization**: Adhering to a sophisticated naming convention, the application names projects using a sequence (e.g., a01..a99, b01..), a YouTube channel code (e.g., ac=AppyCast, fv=FliVideo), and specific project descriptors. This convention is applied to organize and identify video chapters and parts within each project.
|
11
|
+
- **Combining Video Chapters**: After completing recordings for a chapter, these are joined to form a new video file in the chapter's folder, enhancing content flow and consistency.
|
12
|
+
- **Speech to Text Integration**: The application features advanced speech-to-text capabilities, converting spoken content into transcriptions. These transcriptions are then utilized for various content generation scenarios, including automatic tagging, generating prompts for AI-based tools like DALL·E 3, and providing detailed instructions for video editors.
|
13
|
+
|
14
|
+
### Advanced Features
|
15
|
+
|
16
|
+
- **Dynamic Configuration**: The system adapts to various configurations set by the user before recording, using this information for subsequent file naming and routing.
|
17
|
+
- **Trash and Undo Functions**: Videos deemed suboptimal can be moved to a 'trash' folder, with the ability to undo this action if needed.
|
18
|
+
- **Automated File Processing**: Utilizing a FileWatch processor, the application automates responses to file events, like moving new recordings to designated folders.
|
19
|
+
- **Content Segmentation**: The application supports segmentation of content into sections and subparts, each with a calculated sequence number and name for easy identification and organization.
|
20
|
+
- **Metadata and Transcription Integration**: Extracting metadata from video transcriptions and file tags, the system aids in post-production processes such as keyword generation and chapter transitions.
|
21
|
+
|
22
|
+
### Organization Suited for
|
23
|
+
|
24
|
+
- Long form YouTube content
|
25
|
+
- Multi Episode Podcasts
|
26
|
+
- One off YouTube Short or multiple shorts extracted from Long Form or Episode videos
|
27
|
+
- Course Creation
|
28
|
+
|
29
|
+
## eCamm Live
|
30
|
+
|
31
|
+
I use eCamm Live to record my videos. It is simple to create videos with scenes and record individual sections of a video. This application should adapt to OBS with minimal changes.
|
32
|
+
|
33
|
+
eCamm live recording files are saved in the following format:
|
34
|
+
|
35
|
+
```bash
|
36
|
+
Ecamm Live Recording on [YYYY-MM-DD] at [HH.MM.SS].mov
|
37
|
+
|
38
|
+
# Example
|
39
|
+
Ecamm Live Recording on 2023-08-25 at 14.51.58.mov
|
40
|
+
```
|
41
|
+
|
42
|
+
## Configuration
|
43
|
+
|
44
|
+
|
45
|
+
### Global configuration
|
46
|
+
|
47
|
+
FliVideo uses a global configuration file located at `~/.fli-video.json` to store settings and paths for the application and state information such as the current project and episode. This file is created when the application is first run and is updated when the user changes the configuration.
|
48
|
+
|
49
|
+
### Project configuration
|
50
|
+
|
51
|
+
FliVideo stores project-specific settings in `.fv.json` file located in the project's root folder. This file is created when the user creates a new project and is updated when recordings are updated. This file has a section for video and a section for episodes and uses the same structure in both sections
|
52
|
+
|
53
|
+
## Project Naming and Structure
|
54
|
+
|
55
|
+
As part of the application development, each video project is assigned an alphanumeric identifier, ensuring a unique and systematic approach to project management.
|
56
|
+
|
57
|
+
Currently, the application supports four primary project codes corresponding to distinct content areas: AppyCast, AppyDave, WinningPrompts, and FliVideo.
|
58
|
+
|
59
|
+
Each project is also given a descriptive title, providing clear and immediate insight into its content or objective. Additionally, project names may include a status or keyword, offering a quick reference to the project's current state or specific characteristics. This naming convention and structure are fundamental to the application, as they facilitate efficient organization, easy retrieval, and effective management of diverse projects, ranging from media production to targeted content creation.
|
60
|
+
|
61
|
+
### Sample project folder names
|
62
|
+
|
63
|
+
```bash
|
64
|
+
a13-wp-openai-moderation-api-announcement-aug-25
|
65
|
+
a20-ad-open-interpreter
|
66
|
+
a21-ac-custom-gpt-instruction
|
67
|
+
a22-ac-browse-with-bing-chatgpt-feature
|
68
|
+
a24-ad-appydave-website
|
69
|
+
a26-ac-pinokio-NOT-STARTED
|
70
|
+
a27-ac-categorize-mp4-CI
|
71
|
+
a28-ac-easy-gpt-context-creation-FIND-MINDMAP
|
72
|
+
a29-ac-gpts-analyze-pdf-transations
|
73
|
+
```
|
74
|
+
|
75
|
+
### Sample project codes
|
76
|
+
|
77
|
+
- `ac` - AppyCast
|
78
|
+
- `ad` - AppyDave
|
79
|
+
- `fv` - FliVideo
|
80
|
+
- `wp` - WinningPrompts
|
81
|
+
- `c9` - Carnivore90
|
82
|
+
- `t1` - Trend10
|
83
|
+
|
84
|
+
### Video Subfolders
|
85
|
+
|
86
|
+
Within the application's structure, video subfolders play a crucial role in organizing various elements of a project. These subfolders, residing under `project-name` for single video projects or `project-name/episode-name` for podcast episodes, are named and utilized as follows:
|
87
|
+
|
88
|
+
- **recordings**: This folder contains individual labeled recordings. Each recording is meticulously named and stored here, serving as the primary repository for raw video footage.
|
89
|
+
|
90
|
+
- **chapters**: Grouped recordings that have been joined together are stored in this folder. It represents the assembled segments of a project, showcasing the progression from individual recordings to cohesive chapters.
|
91
|
+
|
92
|
+
- **.trash**: The `.trash` folder is designated for recordings considered as bad takes. This allows for an efficient way to segregate and review discarded content, keeping the main folders clutter-free while retaining the option for retrieval.
|
93
|
+
|
94
|
+
- **assets**: This folder is utilized for storing extra graphic materials or b-roll assets. These elements are crucial in the production phase of a video, enhancing the visual appeal and providing supplementary content.
|
95
|
+
|
96
|
+
- **transcription**: Transcription files, providing textual versions of the video content, are stored here. This is especially useful for accessibility, content repurposing, and as a reference during the editing process.
|
97
|
+
|
98
|
+
|
99
|
+
### Chapter naming convention
|
100
|
+
|
101
|
+
Each video project is divided into chapters, which are further segmented into parts. This structure is analogous to a book's chapters and paragraphs, respectively.
|
102
|
+
|
103
|
+
A chapter name like introduction may have additional descriptive labels like `introduction-context`, `introduction-outline`, `introduction-call-to-action`.
|
104
|
+
|
105
|
+
#### Sample chapter names
|
106
|
+
|
107
|
+
Chapter names help to identify the content of the video and maybe used for transition slide titles or chapter titles in a YouTube video.
|
108
|
+
|
109
|
+
- introduction
|
110
|
+
- overview
|
111
|
+
- example
|
112
|
+
- question
|
113
|
+
- answer
|
114
|
+
- summary
|
115
|
+
- outro
|
116
|
+
|
117
|
+
#### Why are parts important?
|
118
|
+
|
119
|
+
Too minimize the amount of editing required, I may want to record each part of a chapter separately. This allows clean recordings with minimal editing.
|
120
|
+
|
121
|
+
### Keywords and Tags
|
122
|
+
|
123
|
+
Any recording can have 1 or more tags associated with it. These tags can be used to inform the video editor to inject B-roll or be picked up by another automation such as transcribe and send to GPT Bot
|
124
|
+
|
125
|
+
#### Example Tags
|
126
|
+
|
127
|
+
- `INTRO` - This recording needs to be placed into an intro template
|
128
|
+
- `CTA` - Like/subscribe, add comment, link in description or any other call to action
|
129
|
+
- `TRIM` - This recording needs to be truncated
|
130
|
+
- `TRIM-40s` - This recording needs to be truncated to 40 seconds
|
131
|
+
- `BROLL` - This recording needs B-roll
|
132
|
+
- `TELEPROMPT` - This recording needs to be transcribed and put into the teleprompter or sent to GPT bot for script inprovement
|
133
|
+
- `OUTRO` - This recording needs to be placed into an outro template
|
134
|
+
|
135
|
+
### Scenarios
|
136
|
+
|
137
|
+
#### Long form
|
138
|
+
|
139
|
+
For full-length YouTube videos, the application offers a comprehensive solution from initial recording to final organization. It supports the creation and management of individual video projects, each with unique identifiers and descriptive names. The application's robust structure allows for the segmentation of videos into chapters and subparts, making the editing process more manageable and efficient. This scenario is ideal for YouTubers looking to produce structured, high-quality content for their channels.
|
140
|
+
|
141
|
+
#### Multi Episode Podcast
|
142
|
+
|
143
|
+
For podcasters using YouTube as their platform, the application provides excellent tools for episode management. It enables the creation of episodic content, each episode with its own identifier and title, under a single project umbrella. This scenario allows podcast creators to maintain a cohesive series, with easy navigation and organization of episodes, enhancing the listener's experience on YouTube.
|
144
|
+
|
145
|
+
#### Course Creation
|
146
|
+
|
147
|
+
In the context of online courses, the application excels in organizing and managing educational content. Course creators can structure their material into distinct sections and chapters, aligning with course modules or lessons. This scenario is particularly useful for educators and trainers who seek to provide a well-organized, accessible learning experience. The application's capabilities in handling multiple recordings and segments ensure that each part of the course is neatly cataloged and easy to access for students.
|
148
|
+
|
149
|
+
#### Short form
|
150
|
+
|
151
|
+
The application streamlines YouTube Shorts creation by allowing users to start new shorts projects or extract segments from longer videos. It enables easy segmentation, customization with intros and outros, and organizes these shorts in dedicated folders, enhancing content diversity on YouTube.
|
152
|
+
|
153
|
+
### YouTube Shorts
|
154
|
+
|
155
|
+
The application is proficiently designed to accommodate the creation of YouTube Shorts, catering to both standalone short-form videos and segments derived from longer recordings.
|
156
|
+
|
157
|
+
**Standalone Shorts**: When starting a brand-new project specifically as a YouTube Short, the process mirrors that of a regular YouTube video. The application allows for the creation, naming, and organization of these shorts in their unique project folders.
|
158
|
+
|
159
|
+
**Shorts from Longer Recordings**: In many instances, a segment within a chapter or even a single paragraph might be ideal for a YouTube Short. In such cases, the application offers the flexibility to extract and separate these segments. It allows for the recording of additional intros and outros, specifically tailoring the segment for the short-form format. These extracted segments are then organized into a dedicated folder, designated for YouTube Shorts, within the main project. This ensures that while the original recording remains an integral part of the larger video or episode, the segment is also independently accessible for the video editor to assemble into a YouTube Short.
|
160
|
+
|
161
|
+
## Project Structure Design
|
162
|
+
|
163
|
+
The following sections describe the application's structure and naming conventions using an exiting project example and highlights the system's capabilities in managing video projects and episodes.
|
164
|
+
|
165
|
+
#### Project Naming and Organization
|
166
|
+
|
167
|
+
Each project in the system is uniquely identified with a structured naming convention. For example, `a27-ac-categorize-mp4-IN-PROGRESS` breaks down as follows:
|
168
|
+
|
169
|
+
- **Sequence**: 'a27', representing the project's unique identifier.
|
170
|
+
- **Project Code**: 'ac', denoting the AppyCast channel.
|
171
|
+
- **Project Name**: 'categorize-mp4', describing the project's focus.
|
172
|
+
- **Status**: 'IN-PROGRESS', indicating the current stage of the project.
|
173
|
+
|
174
|
+
#### Episode Management
|
175
|
+
|
176
|
+
Episodes within a project are optional and are used when a project encompasses multiple videos. Each episode has its own folder named with a sequence and descriptive title, such as `01-flivideo-project-kickoff`:
|
177
|
+
|
178
|
+
- **Sequence**: '01', '02', etc., showing the episode's order in the series.
|
179
|
+
- **Episode Name**: Like 'flivideo-project-kickoff', providing a brief description of the episode's content.
|
180
|
+
|
181
|
+
#### Recordings Folder
|
182
|
+
|
183
|
+
The recordings folder, e.g., `a27-ac-categorize-mp4-CI/01-flivideo-project-kickoff/recordings`, contains individual video files. These are named following a specific pattern:
|
184
|
+
|
185
|
+
- **Sequence and Section Name**: Starting with a number indicating their order, followed by a descriptive name, like '01-introduction.mov'.
|
186
|
+
- **Subparts**: For more detailed segmentation, files are further labeled with suffixes like '-a', '-b', '-c', indicating the subparts of a section, such as '02-a-overview.mov', '02-b-overview.mov'.
|
187
|
+
|
188
|
+
Here is an example from episode 1 of the FliVideo project Podcast.
|
189
|
+
|
190
|
+
```bash
|
191
|
+
# a27-ac-categorize-mp4-CI/01-flivideo-project-kickoff/recordings
|
192
|
+
|
193
|
+
01-introduction.mov
|
194
|
+
02-a-overview.mov
|
195
|
+
02-b-overview.mov
|
196
|
+
02-c-overview.mov
|
197
|
+
02-d-overview.mov
|
198
|
+
02-e-overview.mov
|
199
|
+
03-a-role_CI.mov
|
200
|
+
03-b-overview_CI.mov
|
201
|
+
04-a-gpt-first-attempt.mov
|
202
|
+
04-b-gpt-first-attempt-explanation.mov
|
203
|
+
05-first-commands_TRANSITION.mov
|
204
|
+
06-a-commands_CI.mov
|
205
|
+
07-b-commands_CI.mov
|
206
|
+
07-d-commands-goal_CI.mov
|
207
|
+
08-a-response_CI-TRANSITION.mov
|
208
|
+
08-b-response_CI-TRANSITION.mov
|
209
|
+
09-a-gpt-2nd-attempt.mov
|
210
|
+
09-b-gpt-2nd-attempt.mov
|
211
|
+
09-c-gpt-2nd-attempt.mov
|
212
|
+
10-a-gpt-goal.mov
|
213
|
+
10-b-gpt-goal.mov
|
214
|
+
10-c-gpt-goal.mov
|
215
|
+
10-d-gpt-goal.mov
|
216
|
+
10-e-gpt-goal.mov
|
217
|
+
10-f-gpt-goal.mov
|
218
|
+
11-a-gpt-goal-more.mov
|
219
|
+
11-b-gpt-goal-more.mov
|
220
|
+
12-a-code-cli.mov
|
221
|
+
12-b-code-cli.mov
|
222
|
+
12-c-code-cli.mov
|
223
|
+
13-a-code-cli-run.mov
|
224
|
+
13-b-code-cli-run.mov
|
225
|
+
13-c-code-cli-run.mov
|
226
|
+
14-a-support-project-name.mov
|
227
|
+
14-b-support-project-name.mov
|
228
|
+
14-c-support-project-name.mov
|
229
|
+
15-outro.mov
|
230
|
+
```
|
231
|
+
|
232
|
+
#### Chapters Folder
|
233
|
+
|
234
|
+
In the chapters folder, such as `a27-ac-categorize-mp4-CI/01-flivideo-project-kickoff/chapters`, recordings are grouped and combined to form complete chapters of the project:
|
235
|
+
|
236
|
+
- **Compiled Chapters**: Each file represents a combined version of the recordings from the 'recordings' folder, named by their sequence and section, like '01-introduction.mov', '02-overview.mov'.
|
237
|
+
- **Cohesive Segments**: These files reflect the culmination of individual recordings and subparts, merged to create cohesive segments of the project or episode.
|
238
|
+
|
239
|
+
Here is an example from episode 1 of the FliVideo project Podcast.
|
240
|
+
|
241
|
+
```bash
|
242
|
+
# a27-ac-categorize-mp4-CI/01-flivideo-project-kickoff/chapters
|
243
|
+
|
244
|
+
01-introduction.mov
|
245
|
+
02-overview.mov
|
246
|
+
03-role_CI.mov
|
247
|
+
04-gpt-first-attempt.mov
|
248
|
+
05-first-commands.mov
|
249
|
+
06-commands.mov
|
250
|
+
07-commands-goal.mov
|
251
|
+
08-response_CI.mov
|
252
|
+
09-gpt-2nd-attempt.mov
|
253
|
+
10-gpt-goal.mov
|
254
|
+
11-gpt-goal-more.mov
|
255
|
+
12-code-cli.mov
|
256
|
+
13-code-cli-run.mov
|
257
|
+
14-support-project-name.mov
|
258
|
+
15-outro.mov
|
259
|
+
```
|
260
|
+
|
261
|
+
#### Sample Project #1 - Single Video
|
262
|
+
|
263
|
+
Example folder structure for single video projects
|
264
|
+
|
265
|
+
```bash
|
266
|
+
project-name/recordings/01-introduction.mov
|
267
|
+
project-name/recordings/02-a-content.mov
|
268
|
+
project-name/recordings/02-b-content.mov
|
269
|
+
project-name/recordings/03-a-outro.mov
|
270
|
+
project-name/recordings/03-b-outro-cta.mov
|
271
|
+
project-name/chapters/01-introduction.mov
|
272
|
+
project-name/chapters/02-content.mov
|
273
|
+
project-name/chapters/03-outro.mov
|
274
|
+
```
|
275
|
+
|
276
|
+
#### Sample Project #2 - Multiple Episodes
|
277
|
+
|
278
|
+
Example folder structure for multiple episode projects
|
279
|
+
|
280
|
+
```bash
|
281
|
+
project-name/01-episode-name/recordings/01-introduction.mov
|
282
|
+
project-name/01-episode-name/recordings/02-a-content.mov
|
283
|
+
project-name/01-episode-name/recordings/02-b-content.mov
|
284
|
+
project-name/01-episode-name/recordings/03-a-outro.mov
|
285
|
+
project-name/01-episode-name/recordings/03-b-outro-cta.mov
|
286
|
+
project-name/01-episode-name/chapters/01-introduction.mov
|
287
|
+
project-name/01-episode-name/chapters/02-content.mov
|
288
|
+
project-name/01-episode-name/chapters/03-outro.mov
|
289
|
+
```
|
290
|
+
|
291
|
+
```bash
|
292
|
+
project-name/02-different-episode-name/recordings/01-introduction.mov
|
293
|
+
project-name/02-different-episode-name/recordings/02-content.mov
|
294
|
+
project-name/02-different-episode-name/recordings/03-a-outro.mov
|
295
|
+
project-name/02-different-episode-name/recordings/03-b-outro-endcards.mov
|
296
|
+
project-name/02-different-episode-name/chapters/01-introduction.mov
|
297
|
+
project-name/02-different-episode-name/chapters/02-content.mov
|
298
|
+
project-name/02-different-episode-name/chapters/03-outro.mov
|
299
|
+
```
|
300
|
+
|
301
|
+
#### Sample Project #3 - Awaiting descision to keep or trash
|
302
|
+
|
303
|
+
Example folder structure where there are a bunch of files that I have not yet marked as Good Takes,
|
304
|
+
All recordings need to be considered bad takes until I say save, at which time any prior bad takes will be moved to trash
|
305
|
+
|
306
|
+
1 project=1 standard video before trash
|
307
|
+
|
308
|
+
```bash
|
309
|
+
project-name/.trash
|
310
|
+
project-name/recordings/01-introduction.mov
|
311
|
+
project-name/recordings/02-a-content.mov
|
312
|
+
project-name/recordings/02-b-content.mov
|
313
|
+
project-name/recordings/03-a-outro.mov
|
314
|
+
project-name/recordings/03-b-outro-cta.mov
|
315
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 09.58.55.mov
|
316
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 09.59.38.mov
|
317
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.00.03.mov
|
318
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.00.26.mov
|
319
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.00.55.mov
|
320
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.01.30.mov
|
321
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.02.25.mov
|
322
|
+
project-name/recordings/Ecamm Live Recording on 2023-12-18 at 10.02.56.mov
|
323
|
+
```
|
324
|
+
|
325
|
+
#### Sample Project #4 - After trash
|
326
|
+
|
327
|
+
Notice that most of the bad takes have been moved to the trash folder, but the last one was named as 03-c-outro.mov
|
328
|
+
|
329
|
+
1 project=1 standard video after trash
|
330
|
+
|
331
|
+
```bash
|
332
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 09.58.55.mov
|
333
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 09.59.38.mov
|
334
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 10.00.03.mov
|
335
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 10.00.26.mov
|
336
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 10.00.55.mov
|
337
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 10.01.30.mov
|
338
|
+
project-name/.trash/Ecamm Live Recording on 2023-12-18 at 10.02.25.mov
|
339
|
+
project-name/recordings/01-introduction.mov
|
340
|
+
project-name/recordings/02-a-content.mov
|
341
|
+
project-name/recordings/02-b-content.mov
|
342
|
+
project-name/recordings/03-a-outro.mov
|
343
|
+
project-name/recordings/03-b-outro-cta.mov
|
344
|
+
project-name/recordings/03-c-outro.mov
|
345
|
+
```
|
346
|
+
## Features
|
347
|
+
|
348
|
+
### Feature <-> DSL GPTs
|
349
|
+
https://chat.openai.com/g/g-AyFi0UOXn-code-simplifier
|
350
|
+
|
351
|
+
**Read Global Configuration**
|
352
|
+
Access and apply global configuration settings for video asset management and state consistency.
|
353
|
+
|
354
|
+
**Project Configuration**
|
355
|
+
Access and apply video or episode settings and state.
|
356
|
+
|
357
|
+
**FileWatch Processor for File Event Commands**
|
358
|
+
Utilize a FileWatch processor to automate file event responses, directing new recordings to designated folders for efficient content management.
|
359
|
+
|
360
|
+
**Create Project**
|
361
|
+
Setup a new video project for standalone YouTube video or Podcast.
|
362
|
+
|
363
|
+
**Add Episode**
|
364
|
+
Add a new episode to an existing podcast project.
|
365
|
+
|
366
|
+
**Switch Video Focus**
|
367
|
+
Easily switch between different video projects or episodes to accommodate changing content priorities.
|
368
|
+
|
369
|
+
**Move eCamm File**
|
370
|
+
Seamlessly transfer eCamm recordings to the current focused video or podcast episode recordings subfolder.
|
371
|
+
|
372
|
+
**Project Path**
|
373
|
+
Construct and manage project paths dynamically using configurable values and existing folder name segments.
|
374
|
+
|
375
|
+
**Episode Path**
|
376
|
+
Construct and manage episode paths dynamically using configurable values and existing folder name segments.
|
377
|
+
|
378
|
+
**Recording Namer**
|
379
|
+
Dynamically generate and update video recording filenames, incorporating chapter and part sequences, chapter names, and tags, with capabilities to modify chapter sequences and tags for improved organization and content identification.
|
380
|
+
|
381
|
+
**Change Chapter Name**
|
382
|
+
Alter the name of a chapter based on its sequence in the project, facilitating better organization and identification of video content.
|
383
|
+
|
384
|
+
**Trash**
|
385
|
+
Moves suboptimal video takes to a designated 'trash' or 'archive' folder, optimizing storage and maintaining project clarity by segregating lesser-quality content.
|
386
|
+
|
387
|
+
**Trash Undo**
|
388
|
+
Retrieves video takes from the '.trash' folder and moves them back into the target project folder, allowing for reconsideration or re-evaluation of previously discarded content.
|
389
|
+
|
390
|
+
**Clean Trash**
|
391
|
+
Permanently deletes video takes from the 'trash' or 'archive' folder, freeing up storage space and ensuring project clarity.
|
392
|
+
|
393
|
+
**Open in Finder**
|
394
|
+
Quickly access video project and episode folders within the Finder, streamlining file navigation.
|
395
|
+
|
396
|
+
**Create Chapter Video**
|
397
|
+
Combine and review video chapter segments independently, facilitating content evaluation and editing.
|
398
|
+
|
399
|
+
**Text to Speech**
|
400
|
+
Transcribe spoken content to text and store transcriptions folder in multiple transcription formats.
|
401
|
+
|
402
|
+
Create a DSL using the interactor pattern for:
|
403
|
+
|
404
|
+
**Transcript Data Store**
|
405
|
+
Builds a JSON datastore of transcripts for an entire project based on existing transcript folders found within project, episode, recording, chapter and post-produced folders.
|
406
|
+
|
407
|
+
**Project Meta Data Store**
|
408
|
+
Build a JSON datastore of files for an entire project based on existing project, episode, recording, chapter and post-produced folders and infer metadata based on KEYWORDS, transcripts or other useful data.
|
409
|
+
|
410
|
+
## Future Ideas
|
411
|
+
|
412
|
+
**CLI Project Management Interface**
|
413
|
+
Efficiently execute and manage video project commands using a command-line interface, enhancing control and flexibility in project handling.
|
414
|
+
|
415
|
+
**Web Command Interface for Video Project Management**
|
416
|
+
Introduce a streamlined, web-based interface for managing video project commands, enabling efficient control and organization of project components through simple browser interactions.
|
417
|
+
|
418
|
+
**Project Meta Report**
|
419
|
+
Generate a detailed report for a specific video project, including the episodes, chapters, recordings, a list of recording IDs (chapter sequence + part sequence), and the name for the next video recording, file sizes.
|
420
|
+
This should be extracted to an AstroJS Website or HTML template servered by a local webserver and provide viewing and navigation for all my video projects.
|