FFmpeg output options
You can customize video compression settings by modifying the FFmpeg output options inrenderer.js.
Video bitrate configuration
The default bitrate is set to 1000k (1 Mbps):renderer.js:33
Modify the bitrate
Change the value to adjust compression quality. Lower values produce smaller files with reduced quality, while higher values maintain better quality at larger file sizes.
Additional output options
You can add more FFmpeg options to the output configuration:Video codec options
Video codec options
Set the video codec using
-c:v:libx264: H.264 codec (widely compatible)libx265: H.265/HEVC codec (better compression)libvpx-vp9: VP9 codec (for WebM)
Encoding presets
Encoding presets
Control encoding speed vs. file size with
-preset:ultrafast,superfast,veryfast: Faster encoding, larger filesmedium: Balanced (default if not specified)slow,slower,veryslow: Slower encoding, smaller files
Constant rate factor (CRF)
Constant rate factor (CRF)
The
-crf option controls quality (0-51 scale):0: Lossless17-23: High quality (default is 23)24-28: Medium quality51: Worst quality
Window configuration
Customize the application window inmain.js.
Window dimensions
The default window size is 800x600 pixels:main.js:5-7
Security preferences
The web preferences control security and Node.js integration:main.js:8-12
The current configuration prioritizes functionality over security by enabling
nodeIntegration and disabling contextIsolation. For production applications, you should use IPC communication instead.Additional window options
You can add more window customization options:Output directory settings
Compressed videos are saved to thevideooutputs directory.
Default output location
The output path is configured inrenderer.js:51:
renderer.js:51
Make sure the output directory exists before saving files, or create it programmatically using
fs.mkdirSync(outputDir, { recursive: true }).Viewing compressed videos
The application loads videos from the output directory inrenderer.js:57-80:
renderer.js:59
Styling customization
Customize the application’s appearance by modifyingstyles.css.
Color scheme
The default color scheme uses a dark theme:styles.css:1-16
Button styling
Buttons use the accent color with hover effects:styles.css:22-34
Progress bar styling
The progress bar provides visual feedback during compression:styles.css:36-49
Customize progress bar height
Customize progress bar height
Change the
height property in .progress-bar to make the progress bar taller or shorter.Change progress bar color
Change progress bar color
Modify
background-color in .progress-bar to use a different color during compression.Adjust animation speed
Adjust animation speed
The
transition: width 0.3s ease property controls how smoothly the progress bar updates. Increase or decrease the duration (e.g., 0.5s, 0.1s) to change the animation speed.Typography
The application uses system fonts for a native appearance:styles.css:2
System font stacks ensure the application uses native fonts on each platform for better performance and consistency.