mediacurator/docs/_sources/usage/use_cases.rst.txt
Fabrice Quenneville 5ba0f84d12 **Summary:**
This release introduces a major overhaul of the `mediacurator` command-line interface (CLI) and comprehensive updates to the documentation. The CLI has transitioned from a custom argument parsing system to utilizing Python's `argparse` and `argcomplete` libraries, greatly enhancing usability and flexibility. Due to these significant changes, the version is incremented from **0.0.13** to **1.0.1**.

- **Refactored** `tools.py` for standardized command-line argument handling using `argparse` and `argcomplete`.
- **Improved** user interaction with structured arguments and built-in help, error handling, and validation.
- **Consolidated** video detail printing logic into a reusable method within the `Video` class.
- **Enhanced** `MediaLibrary` class with better clarity, functionality, and expanded support for video formats.
- **Reorganized** `main.py` to streamline argument handling and improve error feedback.
- **Updated** `setup.py` for release preparation, including new classifiers and dependencies.

- **Revised** README.md for clarity, including structured command usage and improved descriptions.
- **Moved** and improved old documentation, removing outdated content and adding new screenshots.
- **Maintained** legacy commands for backward compatibility while enhancing usability with clear examples.

- **Removed** non-existent `bcolors` from the public API.
- **Upgraded** requirements.txt to include `argcomplete` for command-line completion.
- **Updated** docstrings and function documentation for clarity on functionality and parameters.
2024-10-20 23:19:42 -04:00

102 lines
3.0 KiB
ReStructuredText

=========
Use cases
=========
The main reasons to use mediacurator would be the following:
* :ref:`list_cmd` on a video library such as:
- How many videos of the lot are in HD vs standard or substandard definitions
- What videos are in older codecs
- Are there videos in the library with encoding or corruption errors
* :ref:`purge` selected videos in a media library
* :ref:`fferror` on selected videos in a media library
* :ref:`convert` videos from an old codec to `High Efficiency Video Coding <https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding>`_
.. _list_cmd:
Print information
-----------------
List all videos with old codec in formatted output
.. code-block:: bash
mediacurator list --filters old --printop formatted --dirs "/mnt/media/" "/mnt/media2/"
List all videos with substandard definitions with a formatted output
.. code-block:: bash
mediacurator list --filters subsd --printop formatted --dirs "/mnt/media/" "/mnt/media2/"
.. _purge:
Purge
-----
Please see :doc:`warnings`
List and delete all videos using the `Windows Media Video <https://en.wikipedia.org/wiki/Windows_Media_Video>`_ codecs
.. code-block:: bash
mediacurator list --delete --filters wmv --dirs "/mnt/media/" "/mnt/media2/"
List and delete all videos using `Audio Video Interleave <https://en.wikipedia.org/wiki/Audio_Video_Interleave>`_
.. code-block:: bash
mediacurator list --delete --inputs avi --dirs "/mnt/media/" "/mnt/media2/"
List and delete any videos with encoding errors
.. code-block:: bash
mediacurator list --delete --filters fferror --dirs "/mnt/media/" "/mnt/media2/"
.. _fferror:
Batch repair encoding errors
----------------------------
List all videos with encoding errors
.. code-block:: bash
mediacurator list --filters fferror --dirs "/mnt/media/" "/mnt/media2/"
List and delete any videos with encoding errors
.. code-block:: bash
mediacurator list --delete --filters fferror --dirs "/mnt/media/" "/mnt/media2/"
Convert all videos with encoding errors to `High Efficiency Video Coding <https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding>`_ and delete the originals
.. code-block:: bash
mediacurator convert --delete --filters fferror --dirs "/mnt/media/" "/mnt/media2/"
.. _convert:
Batch re-encode
---------------
Convert all videos with old codecs to `High Efficiency Video Coding <https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding>`_ to save space and delete the originals
.. code-block:: bash
mediacurator convert --delete --filters old --dirs "/mnt/media/" "/mnt/media2/"
Convert all videos with the codec mpeg4 to an mkv container using the av1 video codec
.. code-block:: bash
mediacurator convert --filters mpeg4 --outputs av1,mkv --dirs "/mnt/media/" "/mnt/media2/"
Convert any video with avi or mpg extensions, print formatted text including ffmpeg's output, and then delete the originals
.. code-block:: bash
mediacurator convert --delete --inputs avi,mpg --printop formatted,verbose --dirs "/mnt/media/" "/mnt/media2/"