Rename MediaCurator to mediacurator and update to version 1.0.1
- Breaking change: Renamed the project from 'MediaCurator' to 'mediacurator' to standardize naming conventions (all lowercase). - Updated all references across documentation and source files: - README.md - Various .rst documentation files (installation, manual, use cases, errors, warnings) - Python source files in 'mediacurator/library' and main 'mediacurator.py' - setup.py - Incremented version from 0.0.13 to 1.0.1 to reflect breaking changes. - Added release notes for 1.0.1 in docsource/source/releasenotes/1.0.1-changelog.rst
This commit is contained in:
parent
53f6da9835
commit
80ef63eccd
23
README.md
23
README.md
@ -1,21 +1,23 @@
|
|||||||
# MediaCurator
|
# mediacurator
|
||||||
|
|
||||||
MediaCurator is a Python command line tool to manage a media database.
|
mediacurator is a Python command line tool to manage a media database.
|
||||||
* List all the video’s and their information with or without filters
|
|
||||||
* Batch find and repair/convert videos with encoding errors
|
- List all the video’s and their information with or without filters
|
||||||
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions …
|
- Batch find and repair/convert videos with encoding errors
|
||||||
|
- Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions …
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
The documentation is available on the following [link](https://fabquenneville.github.io/MediaCurator/)
|
The documentation is available on the following [link](https://fabquenneville.github.io/mediacurator/)
|
||||||
|
|
||||||
## Releases
|
## Releases
|
||||||
|
|
||||||
MediaCurator is released on [PyPi](https://pypi.org/project/MediaCurator/).
|
mediacurator is released on [PyPi](https://pypi.org/project/mediacurator/).
|
||||||
Instalation instructions are found on the [Github page](https://fabquenneville.github.io/MediaCurator/usage/installation.html).
|
Instalation instructions are found on the [Github page](https://fabquenneville.github.io/mediacurator/usage/installation.html).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
mediacurator [list,convert] [-del] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-out:mkv/mp4,x265/av1] [-print:list,formated,verbose] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
|
|
||||||
|
mediacurator [list,convert] [-del] [-in:any,avi,mkv,wmv,mpg,mp4,m4v,flv,vid] [-filters:fferror,old,lowres,hd,720p,1080p,uhd,mpeg,mpeg4,x264,wmv3,wmv] [-out:mkv/mp4,x265/av1] [-print:list,formated,verbose] [-dirs/-files:"/mnt/media/",,"/mnt/media2/"]
|
||||||
|
|
||||||
> for multiple files or filenames use double comma separated values ",,"
|
> for multiple files or filenames use double comma separated values ",,"
|
||||||
|
|
||||||
@ -26,6 +28,7 @@ default options are:
|
|||||||
-print:list
|
-print:list
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mediacurator list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
|
mediacurator list -filters:old -print:formated -dirs:/mnt/media/ >> ../medlist.txt
|
||||||
mediacurator convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
|
mediacurator convert -del -filters:mpeg4 -out:av1,mp4 -dirs:"/mnt/media/Movies/"
|
||||||
@ -33,9 +36,11 @@ mediacurator convert -del -in:avi,mpg -print:formated,verbose -dirs:/mnt/media/
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||||
|
|
||||||
Please make sure to update tests as appropriate.
|
Please make sure to update tests as appropriate.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)
|
[GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/)
|
||||||
@ -14,10 +14,9 @@
|
|||||||
# import sys
|
# import sys
|
||||||
# sys.path.insert(0, os.path.abspath('.'))
|
# sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
|
||||||
|
|
||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
project = 'MediaCurator'
|
project = 'mediacurator'
|
||||||
copyright = '2020, Fabrice Quenneville'
|
copyright = '2020, Fabrice Quenneville'
|
||||||
author = 'Fabrice Quenneville'
|
author = 'Fabrice Quenneville'
|
||||||
version = '0.0.13'
|
version = '0.0.13'
|
||||||
@ -27,8 +26,7 @@ version = '0.0.13'
|
|||||||
# Add any Sphinx extension module names here, as strings. They can be
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
# ones.
|
# ones.
|
||||||
extensions = [
|
extensions = []
|
||||||
]
|
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
@ -38,7 +36,6 @@ templates_path = ['_templates']
|
|||||||
# This pattern also affects html_static_path and html_extra_path.
|
# This pattern also affects html_static_path and html_extra_path.
|
||||||
exclude_patterns = []
|
exclude_patterns = []
|
||||||
|
|
||||||
|
|
||||||
# -- Options for HTML output -------------------------------------------------
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
|||||||
@ -1,19 +1,19 @@
|
|||||||
.. MediaCurator documentation master file, created by
|
.. mediacurator documentation master file, created by
|
||||||
sphinx-quickstart on Fri Nov 20 22:46:06 2020.
|
sphinx-quickstart on Fri Nov 20 22:46:06 2020.
|
||||||
You can adapt this file completely to your liking, but it should at least
|
You can adapt this file completely to your liking, but it should at least
|
||||||
contain the root `toctree` directive.
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
========================================
|
========================================
|
||||||
Welcome to MediaCurator's documentation!
|
Welcome to mediacurator's documentation!
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
MediaCurator is a Python command line tool to manage a media database.
|
mediacurator is a Python command line tool to manage a media database.
|
||||||
|
|
||||||
* List all the video's and their information with or without filters
|
* List all the video's and their information with or without filters
|
||||||
* Batch find and repair/convert videos with encoding errors
|
* Batch find and repair/convert videos with encoding errors
|
||||||
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions ...
|
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs, resolutions ...
|
||||||
|
|
||||||
The source code can be found on `GitHub <https://github.com/fabquenneville/MediaCurator>`_
|
The source code can be found on `GitHub <https://github.com/fabquenneville/mediacurator>`_
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
|||||||
52
docsource/source/releasenotes/1.0.1-changelog.rst
Normal file
52
docsource/source/releasenotes/1.0.1-changelog.rst
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
========================================
|
||||||
|
mediacurator 1.0.1 Release Notes
|
||||||
|
========================================
|
||||||
|
|
||||||
|
Highlights
|
||||||
|
==========
|
||||||
|
|
||||||
|
Dropped Support
|
||||||
|
===============
|
||||||
|
|
||||||
|
Compatibility Notes
|
||||||
|
====================
|
||||||
|
|
||||||
|
* Renamed
|
||||||
|
|
||||||
|
Python Support
|
||||||
|
--------------
|
||||||
|
|
||||||
|
mediacurator has been tested on Python 3.12.6.
|
||||||
|
|
||||||
|
FFMPEG Support
|
||||||
|
--------------
|
||||||
|
|
||||||
|
mediacurator has been tested to work with FFMPEG version 7.0.2.
|
||||||
|
|
||||||
|
OS Support
|
||||||
|
----------
|
||||||
|
|
||||||
|
mediacurator has been tested to work on various GNU/Linux distributions as well as Windows.
|
||||||
|
|
||||||
|
New Features
|
||||||
|
============
|
||||||
|
|
||||||
|
Improvements
|
||||||
|
============
|
||||||
|
|
||||||
|
* Standardized audio, subtitle and metadata copying.
|
||||||
|
* Added support for .mov and .ts formats.
|
||||||
|
* Introduced CRF (Constant Rate Factor) settings for AV1 and x265 for better control over quality and file size.
|
||||||
|
|
||||||
|
Changes
|
||||||
|
=======
|
||||||
|
|
||||||
|
Deprecations
|
||||||
|
============
|
||||||
|
|
||||||
|
Future Changes
|
||||||
|
==============
|
||||||
|
|
||||||
|
* More filters
|
||||||
|
* Test AV1 Support
|
||||||
|
* Prepare API for GUI
|
||||||
@ -22,16 +22,16 @@ Here are some example errors that mediacurator will print and can possibly repai
|
|||||||
FFmpeg issues
|
FFmpeg issues
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
While using FFmpeg depending on your version you may also face other errors like segfaults. MediaCurator will also print information when that occurs and move on to the next video after cleaning up after failure.
|
While using FFmpeg depending on your version you may also face other errors like segfaults. mediacurator will also print information when that occurs and move on to the next video after cleaning up after failure.
|
||||||
|
|
||||||
If that happens there are a few steps you can take:
|
If that happens there are a few steps you can take:
|
||||||
|
|
||||||
|
|
||||||
* `Update FFmpeg <https://ffmpeg.org/download.html>`_ to its latest version as it is a very active project and most distributions serve old versions in their repositories
|
* `Update FFmpeg <https://ffmpeg.org/download.html>`_ to its latest version as it is a very active project and most distributions serve old versions in their repositories
|
||||||
* Run MediaCurator with the verbose print option wich will print the raw FFmpeg output
|
* Run mediacurator with the verbose print option wich will print the raw FFmpeg output
|
||||||
* Try again: In my experience some errors don't necessarly recur...
|
* Try again: In my experience some errors don't necessarly recur...
|
||||||
|
|
||||||
Other bugs
|
Other bugs
|
||||||
----------
|
----------
|
||||||
|
|
||||||
If you face other bugs, issues or want to suggest features feel free to open a bug report on `GitHub <https://github.com/fabquenneville/MediaCurator/issues>`_
|
If you face other bugs, issues or want to suggest features feel free to open a bug report on `GitHub <https://github.com/fabquenneville/mediacurator/issues>`_
|
||||||
@ -2,7 +2,7 @@
|
|||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/MediaCurator.git>`_
|
This package has only been tested on GNU/Linux & Windows and requires FFMPEG installed. For now it will be distributed on `GitHub <https://github.com/fabquenneville/mediacurator.git>`_
|
||||||
|
|
||||||
Install FFmpeg
|
Install FFmpeg
|
||||||
--------------
|
--------------
|
||||||
@ -15,4 +15,4 @@ Install from PyPi
|
|||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
:linenos:
|
:linenos:
|
||||||
|
|
||||||
pip install MediaCurator
|
pip install mediacurator
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Manual
|
|||||||
Name
|
Name
|
||||||
----
|
----
|
||||||
|
|
||||||
MediaCurator
|
mediacurator
|
||||||
|
|
||||||
Synopsis
|
Synopsis
|
||||||
--------
|
--------
|
||||||
@ -34,7 +34,7 @@ default options are:
|
|||||||
Description
|
Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
MediaCurator is a Python command line tool to manage a media database.
|
mediacurator is a Python command line tool to manage a media database.
|
||||||
|
|
||||||
* List all the video's and their information with or without filters
|
* List all the video's and their information with or without filters
|
||||||
* Batch find and repair/convert videos with encoding errors
|
* Batch find and repair/convert videos with encoding errors
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
Use cases
|
Use cases
|
||||||
=========
|
=========
|
||||||
|
|
||||||
The main reasons to use MediaCurator would be the following:
|
The main reasons to use mediacurator would be the following:
|
||||||
|
|
||||||
* :ref:`list_cmd` on a video library such as:
|
* :ref:`list_cmd` on a video library such as:
|
||||||
- How many videos of the lot are in HD vs standard or substandard definitions
|
- How many videos of the lot are in HD vs standard or substandard definitions
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
Warnings
|
Warnings
|
||||||
========
|
========
|
||||||
|
|
||||||
Before using the delete feature please try a few dry runs to get acquainted with MediaCurator as it can irreparably damage your media library when not used properly.
|
Before using the delete feature please try a few dry runs to get acquainted with mediacurator as it can irreparably damage your media library when not used properly.
|
||||||
|
|
||||||
When using the -del flag here is the expected behavior:
|
When using the -del flag here is the expected behavior:
|
||||||
|
|
||||||
@ -42,4 +42,4 @@ To delete all videos in a folder:
|
|||||||
|
|
||||||
All these commands can have valuable use but are irrecoverable if done unintended.
|
All these commands can have valuable use but are irrecoverable if done unintended.
|
||||||
|
|
||||||
Again, please try a few dry runs without -del until you are acquainted with MediaCurator.
|
Again, please try a few dry runs without -del until you are acquainted with mediacurator.
|
||||||
@ -57,9 +57,9 @@ class MediaLibrary():
|
|||||||
|
|
||||||
text = ""
|
text = ""
|
||||||
if self.directories:
|
if self.directories:
|
||||||
text += f"MediaCurator is watching the following directories: "
|
text += f"mediacurator is watching the following directories: "
|
||||||
text += '\n '.join(map(str, self.directories)) + '\n'
|
text += '\n '.join(map(str, self.directories)) + '\n'
|
||||||
text += f"MediaCurator is tracking {len(self.videos)} video files"
|
text += f"mediacurator is tracking {len(self.videos)} video files"
|
||||||
return text
|
return text
|
||||||
|
|
||||||
def load_directories(self, verbose=False):
|
def load_directories(self, verbose=False):
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
'''
|
'''
|
||||||
MediaCurator is a Python command line tool to manage a media database.
|
mediacurator is a Python command line tool to manage a media database.
|
||||||
* List all the video's and their codecs with or without filters
|
* List all the video's and their codecs with or without filters
|
||||||
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs ...
|
* Batch recode videos to more modern codecs (x265 / AV1) based on filters: extentions, codecs ...
|
||||||
ex:
|
ex:
|
||||||
@ -35,7 +35,7 @@ creset = colorama.Fore.RESET
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
'''
|
'''
|
||||||
MediaCurator's main function
|
mediacurator's main function
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
'''
|
'''
|
||||||
|
|||||||
14
setup.py
14
setup.py
@ -6,18 +6,18 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|||||||
long_description = fh.read()
|
long_description = fh.read()
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name="MediaCurator",
|
name="mediacurator",
|
||||||
version="0.0.13",
|
version="0.0.13",
|
||||||
author="Fabrice Quenneville",
|
author="Fabrice Quenneville",
|
||||||
author_email="fab@fabq.ca",
|
author_email="fab@fabq.ca",
|
||||||
url="https://github.com/fabquenneville/MediaCurator",
|
url="https://github.com/fabquenneville/mediacurator",
|
||||||
download_url="https://pypi.python.org/pypi/MediaCurator",
|
download_url="https://pypi.python.org/pypi/mediacurator",
|
||||||
project_urls={
|
project_urls={
|
||||||
"Bug Tracker": "https://github.com/fabquenneville/MediaCurator/issues",
|
"Bug Tracker": "https://github.com/fabquenneville/mediacurator/issues",
|
||||||
"Documentation": "https://fabquenneville.github.io/MediaCurator/",
|
"Documentation": "https://fabquenneville.github.io/mediacurator/",
|
||||||
"Source Code": "https://github.com/fabquenneville/MediaCurator",
|
"Source Code": "https://github.com/fabquenneville/mediacurator",
|
||||||
},
|
},
|
||||||
description="MediaCurator is a Python command line tool to manage a media database.",
|
description="mediacurator is a Python command line tool to manage a media database.",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
packages=setuptools.find_packages(),
|
packages=setuptools.find_packages(),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user