mpeg-convert


Namempeg-convert JSON
Version 0.0.3 PyPI version JSON
download
home_page
SummaryA python tool based on ffmpeg that makes converting between different formats/codecs a whole lot easier for the inexperienced
upload_time2024-02-11 05:17:15
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT License
keywords ffmpeg convert media mp4 mp3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## MPEG-Convert

A highly customizable<sup>[1](#Customizing)</sup> terminal-based [Python](https://www.python.org/downloads/) wrapper for [FFmpeg](https://ffmpeg.org/download.html) that provides a humanized approach to conversions between different multimedia formats. 

FFmpeg is a powerful multimedia tool, but its many options<sup>[2](https://ffmpeg.org/ffmpeg.html)</sup> can be especially overwhelming for new users. This wrapper aims to simplify the process of working with the FFmpeg engine to convert between different video/audio formats for the folks who doesn't want to memorize twenty options to use FFmpeg. This program is not, however, a complete replacement for FFmpeg in any way. For that purpose, you should look look into other software such as [Handbrake](https://handbrake.fr/) or [DaVinci Resolve](https://www.blackmagicdesign.com/products/davinciresolve). 

This project is now hosted on [PyPi](https://pypi.org/project/mpeg-convert), however legacy releases can still be found on the right. 

## Features

* **Simplified commands**: MPEG-Convert provides a straightforward interface for commonly used FFmpeg functionalities, making it easy for both beginners and experienced users to perform tasks such as codec conversion, audio extraction, video compression, and much more.

* **Configurability**: While MPEG-Convert is designed for simplicity, it also provides room for customization<sup>[1](#Customizing)</sup>. You can tweak advanced settings by specifying additional FFmpeg options in the script or during script execution, ensuring flexibility for more sophisticated multimedia processing needs.

![demo](https://github.com/SomedudeX/MPEG-Convert/assets/101906945/d69c68b0-4122-4ebc-a6fb-3de50448dcd0)

## Installation 

Make sure you have FFmpeg installed. 

#### Automatic

* Use pip to install and manage mpeg-convert and its dependencies

```bash
pip install --upgrade mpeg-convert
```

* Launch the script

```bash
mpeg-convert --help
```

## Customizing

You can further customize the script by changing the questions variable `VIDEO_OPTIONS` and `AUDIO_OPTIONS` in mpeg-convert to your liking. This can be achieved using the `--customize` option, which will open the correct file for you in your default text editor.

The two variables represents the list of questions asked during video options and audio options sections of the script respectively. The properties of each question is represented as a dictionary in python, and will be shown to the user in order. The dictionaries' format is shown below:

```py
[
...
    {
        "type": <str>,
        "title": <str>,
        "option": <str>,
        "default": <int>,
        "choices": <list[tuple]>
    }
...
]
```

**`type`**: The type of the question

 * Valid values:
   + **`choice`**: Multiple choice
   + **`input`**: Input field
  
> Note:  
> 
> If a question type is set to `choice`, MPEG-Convert will automatically append `custom value` and `remove option` as the last two options. 

**`title`**: The text shown to the console when displaying the question during the execution of the program

**`option`**: The corresponding option in FFmpeg. This option will be inserted to the list of arguments passed to FFmpeg

**`default`**: The default option that is used when the input field is empty. Has no effect if question type is `input`.

**`choices`**: A list of choices that will be shown to the console during the execution of the program. The choices will be in tuples where the first index will be what is displayed, and the second index is what is actually entered as a value for the particular FFmpeg option. Has no effect if question type is `input`.

An example of a custom question is below: 

```py
[
...
    {
        "type": "choice",
        "title": "Select an encoding preset",
        "option": "-preset",
        "default": 3,
        "choices": [
            ("Faster/lower quality", "veryfast"),
            ("Normal/medium quality", "medium"),
            ("Slower/best quality", "veryslow")
        ]
    }
...
]
```

This format applies to existing questions as well.

## Troubleshooting

* Do you have python installed?
* Do you have ffmpeg installed?
* Common pitfalls:
  + Does the output file have an extension?
  + Does the extension match the codec?
    - `HEVC` with `.mp4`  
    - `ALAC` with `.m4a`
  + Is the encoder installed on your system?

## Resources

 - [Demo](https://github.com/SomedudeX/mpeg-convert/raw/main/demo.mp4)
 - [License](https://raw.githubusercontent.com/SomedudeX/mpeg-convert/main/LICENSE)
 - [Project](https://github.com/SomedudeX/mpeg-convert)

Contributions are welcome! If you encounter any problems or find any bugs, please feel free to open an issue. In the meantime, happy converting! 

--

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "mpeg-convert",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "ffmpeg,convert,media,mp4,mp3",
    "author": "",
    "author_email": "Zichen <zichenziv@icloud.com>",
    "download_url": "https://files.pythonhosted.org/packages/dc/2f/5f19296e993dcad31678a13ff41582b822c0d1241eeb9d32466e048c3391/mpeg-convert-0.0.3.tar.gz",
    "platform": null,
    "description": "## MPEG-Convert\n\nA highly customizable<sup>[1](#Customizing)</sup> terminal-based [Python](https://www.python.org/downloads/) wrapper for [FFmpeg](https://ffmpeg.org/download.html) that provides a humanized approach to conversions between different multimedia formats. \n\nFFmpeg is a powerful multimedia tool, but its many options<sup>[2](https://ffmpeg.org/ffmpeg.html)</sup> can be especially overwhelming for new users. This wrapper aims to simplify the process of working with the FFmpeg engine to convert between different video/audio formats for the folks who doesn't want to memorize twenty options to use FFmpeg. This program is not, however, a complete replacement for FFmpeg in any way. For that purpose, you should look look into other software such as [Handbrake](https://handbrake.fr/) or [DaVinci Resolve](https://www.blackmagicdesign.com/products/davinciresolve). \n\nThis project is now hosted on [PyPi](https://pypi.org/project/mpeg-convert), however legacy releases can still be found on the right. \n\n## Features\n\n* **Simplified commands**: MPEG-Convert provides a straightforward interface for commonly used FFmpeg functionalities, making it easy for both beginners and experienced users to perform tasks such as codec conversion, audio extraction, video compression, and much more.\n\n* **Configurability**: While MPEG-Convert is designed for simplicity, it also provides room for customization<sup>[1](#Customizing)</sup>. You can tweak advanced settings by specifying additional FFmpeg options in the script or during script execution, ensuring flexibility for more sophisticated multimedia processing needs.\n\n![demo](https://github.com/SomedudeX/MPEG-Convert/assets/101906945/d69c68b0-4122-4ebc-a6fb-3de50448dcd0)\n\n## Installation \n\nMake sure you have FFmpeg installed. \n\n#### Automatic\n\n* Use pip to install and manage mpeg-convert and its dependencies\n\n```bash\npip install --upgrade mpeg-convert\n```\n\n* Launch the script\n\n```bash\nmpeg-convert --help\n```\n\n## Customizing\n\nYou can further customize the script by changing the questions variable `VIDEO_OPTIONS` and `AUDIO_OPTIONS` in mpeg-convert to your liking. This can be achieved using the `--customize` option, which will open the correct file for you in your default text editor.\n\nThe two variables represents the list of questions asked during video options and audio options sections of the script respectively. The properties of each question is represented as a dictionary in python, and will be shown to the user in order. The dictionaries' format is shown below:\n\n```py\n[\n...\n    {\n        \"type\": <str>,\n        \"title\": <str>,\n        \"option\": <str>,\n        \"default\": <int>,\n        \"choices\": <list[tuple]>\n    }\n...\n]\n```\n\n**`type`**: The type of the question\n\n * Valid values:\n   + **`choice`**: Multiple choice\n   + **`input`**: Input field\n  \n> Note:  \n> \n> If a question type is set to `choice`, MPEG-Convert will automatically append `custom value` and `remove option` as the last two options. \n\n**`title`**: The text shown to the console when displaying the question during the execution of the program\n\n**`option`**: The corresponding option in FFmpeg. This option will be inserted to the list of arguments passed to FFmpeg\n\n**`default`**: The default option that is used when the input field is empty. Has no effect if question type is `input`.\n\n**`choices`**: A list of choices that will be shown to the console during the execution of the program. The choices will be in tuples where the first index will be what is displayed, and the second index is what is actually entered as a value for the particular FFmpeg option. Has no effect if question type is `input`.\n\nAn example of a custom question is below: \n\n```py\n[\n...\n    {\n        \"type\": \"choice\",\n        \"title\": \"Select an encoding preset\",\n        \"option\": \"-preset\",\n        \"default\": 3,\n        \"choices\": [\n            (\"Faster/lower quality\", \"veryfast\"),\n            (\"Normal/medium quality\", \"medium\"),\n            (\"Slower/best quality\", \"veryslow\")\n        ]\n    }\n...\n]\n```\n\nThis format applies to existing questions as well.\n\n## Troubleshooting\n\n* Do you have python installed?\n* Do you have ffmpeg installed?\n* Common pitfalls:\n  + Does the output file have an extension?\n  + Does the extension match the codec?\n    - `HEVC` with `.mp4`  \n    - `ALAC` with `.m4a`\n  + Is the encoder installed on your system?\n\n## Resources\n\n - [Demo](https://github.com/SomedudeX/mpeg-convert/raw/main/demo.mp4)\n - [License](https://raw.githubusercontent.com/SomedudeX/mpeg-convert/main/LICENSE)\n - [Project](https://github.com/SomedudeX/mpeg-convert)\n\nContributions are welcome! If you encounter any problems or find any bugs, please feel free to open an issue. In the meantime, happy converting! \n\n--\n",
    "bugtrack_url": null,
    "license": "MIT License ",
    "summary": "A python tool based on ffmpeg that makes converting between different formats/codecs a whole lot easier for the inexperienced",
    "version": "0.0.3",
    "project_urls": {
        "Homepage": "https://github.com/SomedudeX/mpeg-convert",
        "Issues": "https://github.com/SomedudeX/mpeg-convert/issues"
    },
    "split_keywords": [
        "ffmpeg",
        "convert",
        "media",
        "mp4",
        "mp3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3145785d567420eb063f3af7ad77c15a9501e361a3f852993479f6f33b4384a",
                "md5": "7fc74d9e24bc687f7598d648820b4ff0",
                "sha256": "aa3bad13836d9c7f30874a406f3aa601d1032dfe459ce39e015a1e6594bece8a"
            },
            "downloads": -1,
            "filename": "mpeg_convert-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7fc74d9e24bc687f7598d648820b4ff0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 17916,
            "upload_time": "2024-02-11T05:17:13",
            "upload_time_iso_8601": "2024-02-11T05:17:13.980809Z",
            "url": "https://files.pythonhosted.org/packages/a3/14/5785d567420eb063f3af7ad77c15a9501e361a3f852993479f6f33b4384a/mpeg_convert-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc2f5f19296e993dcad31678a13ff41582b822c0d1241eeb9d32466e048c3391",
                "md5": "19b2d91d42f6956f78efd326ff9f1161",
                "sha256": "0092f7cb011a17c8fa16797134426bc5151c6561dd1c7d8a91d625841cc55aee"
            },
            "downloads": -1,
            "filename": "mpeg-convert-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "19b2d91d42f6956f78efd326ff9f1161",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 17792,
            "upload_time": "2024-02-11T05:17:15",
            "upload_time_iso_8601": "2024-02-11T05:17:15.745411Z",
            "url": "https://files.pythonhosted.org/packages/dc/2f/5f19296e993dcad31678a13ff41582b822c0d1241eeb9d32466e048c3391/mpeg-convert-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-11 05:17:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SomedudeX",
    "github_project": "mpeg-convert",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "mpeg-convert"
}
        
Elapsed time: 0.21496s