Releases: ivansaul/CLI-Video-Compressor
v0.3.1
v0.3.1 (2024-10-10)
Fix
- fix: input validation and error handling
Adds validation to ensure the input file or directory exists before processing. Also, provides a more informative error message when the input path is invalid. (463c120
)
Unknown
- Merge pull request #24 from ivansaul/fix/input-validation
fix: input validation and error handling (1479b22
)
v0.3.0
v0.3.0 (2024-10-10)
Documentation
- docs: add Windows installation tutorial link
Adds a link to a YouTube tutorial for installing the necessary software on Windows.
This makes it easier for Windows users to get started with the CLI Video Compressor. (2d094ad
)
Feature
- feat: add basic unit tests
Adds basic unit tests for the CLI and helper functions.
Includes:
- Test cases for compression with various codecs, quality settings, overwrite options, and output paths.
- Tests for checking if FFmpeg is installed and file existence. (
da5640e
)
Unknown
- Merge pull request #23 from ivansaul/feature/implement-tests
feat: add basic unit tests (60300ac
)
- Merge pull request #20 from ivansaul/develop
docs: add Windows installation tutorial link (b85a6f5
)
v0.2.1
v0.2.1 (2024-10-07)
Fix
- fix: inherit str in VideoCodec enum for Typer compatibility
Inherit from str
in VideoCodec
enum to ensure it behaves like a string, resolving Typer compatibility issue. (d6251f1
)
- fix: enforce valid quality range
Added validation to ensure the quality argument falls within a valid range (0-100). This prevents potential errors and ensures that the user's input is always treated correctly. (631e60d
)
Unknown
- Merge pull request #19 from ivansaul/fix/cli-arguments-validations
Fix cli arguments validations (30dbf9a
)
v0.2.0
v0.2.0 (2024-10-07)
Documentation
-
docs: update language switcher HTML for proper GitHub rendering (
70e21b7
) -
docs: add Spanish README
Add a Spanish translation of the README.md (414d595
)
Feature
- feat: add support for libx265 video codec
Adds the ability to choose between h264 and libx265 video codecs for compression, offering a more efficient compression option for users with modern GPUs. (61c71ab
)
Unknown
- Merge pull request #18 from ivansaul/feature/add-codec-option
feat: add support for libx265 video codec (1f1aed8
)
- Merge pull request #17 from ivansaul/develop
docs: update language switcher HTML for proper GitHub rendering (efe91f8
)
- Merge pull request #16 from ivansaul/develop
docs: add Spanish README (731aa00
)
v0.1.1
v0.1.1 (2024-10-06)
Documentation
- docs: update README.md
Update the README to reflect the new package name "vidpack" and provide the installation command using pip (568da86
)
Fix
- fix: update
pack
script path inpyproject.toml
The pack
script was previously referencing the wrong path, causing an error when trying to run the command. This commit fixes the issue by updating the path to correctly point to the vidpack.cli:app
entry point. (1e46b00
)
Unknown
- Merge pull request #15 from ivansaul/develop
Fix script path and update README.md (91b115d
)
v0.1.0
v0.1.0 (2024-10-06)
Chore
- chore: initial project setup
Adds basic project structure, dependencies, and testing infrastructure.
The project utilizes Typer for CLI handling, ffmpeg for video compression, and a comprehensive testing suite with pytest and Ruff for linting. (ebcfd39
)
Documentation
-
docs: update README.md (
67aff8c
) -
docs: update README.md
Add demo GIF to README.md (2b7b5a8
)
- docs: update README.md
Update user guide with detailed usage instructions and examples (67730c1
)
Feature
- feat: automate releases with semantic versioning
Adds a GitHub Actions workflow to automate the release process, including semantic versioning, publishing to PyPI, and GitHub Release Assets. (fcfecf3
)
- feat: add short option aliases for CLI arguments
Add short option aliases (-o
, -q
, -w
, -d
, -v
) to the CLI arguments for improved usability and consistency. (999cf0a
)
- feat: add video quality control
Adds a new quality
option to allow users to control the output video quality.
The quality level is a number between 0 and 100, where a lower number means higher compression and lower quality, and a higher number means lower compression and higher quality. The default quality level is 75. (c76f6d9
)
- feat: add option to delete original video
Add a new command-line option (--delete-original
) to allow users to delete the original video file after compression. This provides a convenient way to clean up space after processing. The option is disable by default. (b5e3625
)
- feat: add functionality for bulk compression
-
The input CLI argument can be a file or a directory. If a directory is provided, all videos in the directory will be processed.
-
Rename
utils.py
tocore.py
for better organization and consistency with the project structure. This change ensures all core functionality resides within thecore
module. (4d2495b
)
- feat: add core functionality for video compression
Adds basic CLI interface, video compression logic, and helper functions for managing input/output files.
Includes basic tests for the implemented functionality. (e25f212
)
Fix
-
fix: update PyPI action to use
release/v1
tag (1119b4a
) -
fix: publish to PyPI
Switch release workflow to publish to the official PyPI repository instead of Test PyPI. Also, update the versioning to correctly publish with master
branch instead of develop
. (8e74db8
)
-
fix: update PyPI action for testPYPI (
f3ce44a
) -
fix: re-handle "File already exists" error on Linux (
af5c067
) -
fix: handle potential "File already exists" error on Linux
The ffmpeg
command sometimes throws an error indicating that the output file already exists, even when using the -n
(overwrite) flag. This commit introduces logic to detect and handle such errors, particularly on Linux systems. (44f47a3
)
- fix: file already exists error on Linux
Prevented errors on Linux with the '-n' (no overwrite) option in ffmpeg when the output file exists; no error occurs on macOS. (e8bc3aa
)
- fix: add missing override argument
Add the override argument to the compress_video function call. (0acb3ae
)
Refactor
- refactor: rename project to 'vidpack'
Move code to 'src' directory, updated package name, and adjusted dependencies, scripts, and tests to reflect the new project name. (aba52a2
)
- refactor(compress_video): change from subprocess to ffmpeg-python
Change from using subprocess and ffmpeg_progress_yield to ffmpeg-python for video compression and progress tracking. (94efc83
)
Unknown
- Merge pull request #14 from ivansaul/develop
fix: update PyPI action to use release/v1
tag (a0e8179
)
- Merge pull request #13 from ivansaul/develop
Setup semantic versioning (47b03f9
)
- Merge pull request #12 from ivansaul/feature/semantic-release
feat: automate releases with semantic versioning (5f22cf7
)
- Merge pull request #11 from ivansaul/develop
Add new features and important fixes (42554d3
)
- Merge pull request #10 from ivansaul/docs/update-readme
docs: update README.md (c0d322c
)
- Merge pull request #9 from ivansaul/docs/update-readme
docs: update README.md (f611e92
)
- Merge pull request #8 from ivansaul/feature/setup-short-commands
feat: add short option aliases for CLI arguments (ef67376
)
- Merge pull request #7 from ivansaul/feature/add-quality-option
feat: add video quality control (a22713e
)
- Merge pull request #6 from ivansaul/feature/bulk-compression
feat: add functionality for bulk compression (b99ec07
)
- Merge pull request #5 from ivansaul/refactor/compress-video
refactor(compress_video): change from subprocess to ffmpeg-python (7cbdb85
)
- Merge pull request #4 from ivansaul/develop
typo: replace 'override' with 'overwrite' (f16d64d
)
fix: file already exists error on Linux (eb5e143
)
- Merge pull request #2 from ivansaul/develop
fix: add missing override argument (b20ff22
)
- Merge pull request #1 from ivansaul/develop
feat: add core functionality for video compression (ac8679f
)
- Initial commit (
a7e30f9
)