Skip to content

Commit 661d360

Browse files
authored
chore(template): updated sample
1 parent b36bd16 commit 661d360

21 files changed

+296
-123
lines changed

README.md

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,25 @@
22

33
[![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.x-brightgreen.svg)](https://nodejs.org/en/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44

5-
`ffmpeg-video-composer` is a tool designed to streamline the process of video compilation using FFmpeg. It enables dynamic template generation and video rendering, making it a solution for creating personalized videos programmatically.
5+
`ffmpeg-video-composer` is a tool designed to streamline the process of video compilation and audio mixing using FFmpeg. It enables dynamic template generation, video rendering, and audio composition, making it a comprehensive solution for creating personalized multimedia content programmatically.
66

77
## 🎥 Demo
88

9-
Check out the video sample to see `ffmpeg-video-composer` in action:
9+
Check out the video sample to see `ffmpeg-video-composer` in action (unmute for sound):
1010

11-
https://github.com/user-attachments/assets/ae226526-c21c-4d10-9ac6-e47c0db5ae8b
11+
https://github.com/user-attachments/assets/266f07b5-a5da-4512-80fa-3b6f47b2001c
1212

1313
[View the template descriptor](https://github.com/heristop/ffmpeg-video-composer/blob/main/src/shared/templates/sample.json)
1414

1515
## 🚀 Features
1616

17-
- Dynamic template generation
18-
- Easy video compilation using FFmpeg
17+
- Dynamic video and audio template generation
18+
- Easy video compilation and audio mixing using FFmpeg
1919
- Supports custom project configurations
2020
- CLI and programmatic usage options
2121
- Flexible template descriptor system
22+
- Audio overlay and mixing capabilities
23+
- Automated video editing and composition
2224

2325
## 🛠 Installation
2426

@@ -88,22 +90,10 @@ Ensure the quality of the codebase by running the test suite:
8890
pnpm test
8991
```
9092

91-
## 🤝 Contributing
92-
93-
Contributions are welcome! If you'd like to contribute:
94-
95-
1. Fork the repository
96-
2. Create your feature branch (`git checkout -b feature/my-feature`)
97-
3. Commit your changes (`git commit -m 'feat: add my feature'`)
98-
4. Push to the branch (`git push origin feature/my-feature`)
99-
5. Open a Pull Request
100-
101-
For major changes, please open an issue first to discuss what you would like to change.
102-
10393
## 📄 License
10494

10595
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
10696

10797
## 📬 Contact
10898

109-
If you have any questions or feedback, please open an issue on GitHub.
99+
If you have any questions or feedback, please open an issue on GitHub.

assets/sample.mp4

-54.7 MB
Binary file not shown.

src/core/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ export interface Section {
8686

8787
interface SectionOptions {
8888
upperCase?: boolean;
89+
lowerCase?: boolean;
8990
useVideoSection?: string;
9091
duration?: number;
9192
musicVolumeLevel?: number;
9293
fields?: Field[];
93-
maxDuration?: number;
9494
speed?: number;
9595
muteSection?: boolean;
9696
videoUrl?: string;

src/editor/managers/FormatterManager.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class FormattersManager {
1616
private readonly variableManager: VariableManager,
1717

1818
@inject('logger') private readonly logger: AbstractLogger
19-
) {}
19+
) { }
2020

2121
formatMultipleTypesValue = (filter: Filter): string => {
2222
switch (filter.type) {
@@ -117,6 +117,11 @@ class FormattersManager {
117117
text = text.toUpperCase();
118118
}
119119

120+
// Lower case
121+
if (this.segment.currentSection.options.lowerCase) {
122+
text = text.toLowerCase();
123+
}
124+
120125
return text;
121126
}
122127

src/main.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ async function main(configFilePath: string): Promise<boolean> {
88
const projectConfig = {
99
assetsDir: './src/shared/assets',
1010
fields: {
11-
form_1_firstname: 'John',
12-
form_1_lastname: 'Doe',
13-
form_1_job: 'Developer',
14-
form_2_keyword1: 'One',
15-
form_2_keyword2: 'Two',
16-
form_2_keyword3: 'Three',
11+
form_1_firstname: 'Emily',
12+
form_1_lastname: 'Parker',
13+
form_1_job: 'Frontend Developer',
14+
form_2_keyword1: 'php',
15+
form_2_keyword2: 'javascript',
16+
form_2_keyword3: 'typescript',
17+
form_2_keyword4: 'caffeine',
1718
},
1819
};
1920

src/shared/assets/pictures/logo.png

-92.5 KB
Loading

src/shared/assets/videos/outro.mp4

23.2 MB
Binary file not shown.

src/shared/assets/videos/video_1.mp4

13 MB
Binary file not shown.

src/shared/assets/videos/video_2.mp4

11 MB
Binary file not shown.

src/shared/assets/videos/video_3.mp4

3.6 MB
Binary file not shown.

0 commit comments

Comments
 (0)