<div align="center">
<kbd>
<img src="https://github.com/user-attachments/assets/73fc18dd-ae11-47d2-ad9a-3f6adcdcdda5" alt="ffmpegp-logo" />
</kbd>
</div><br>
ffmpegp (short for "FFmpeg Plus") is a Python-based utility designed to simplify working with media files using ffprobe and ffmpeg. This tool lets you easily extract media details, format conversions, and advanced querying via JSON paths, providing a convenient and efficient interface.
## Features
* **Media Metadata Extraction** : Get detailed media information via `ffprobe`.
* **JSONPath Querying** : Retrieve specific metadata using JSON path expressions.
* **Gradient Text** : Colored gradient output for enhanced readability.
* **Progress Bar** : Visual progress bar with customizable colors and time estimation.
* **File Size Conversion** : Converts file size to human-readable formats.
* **Time Conversion** : Converts media duration to seconds.
* **Enhanced Command Options** : Supports various flags for different modes and output styles.
## Prerequisites
Ensure `ffmpeg` and `ffprobe` are installed and accessible in your system's PATH. If either is missing, the script will display an error.
## Installation
Install **ffmpegp** using `pip`:
```
pip install ffmpegp
```
## Usage
Run the program as follows:
```
ffmpegp -i <file_path> [options]
```
### Arguments
* `file_path`: Path to the media file for which you want details.
### Options
| Option | Description |
| ------------- | ------------------------------------------------------- |
| `--colored` | Enable gradient color output. |
| `--log` | Display logs of the running process. |
| `--stdout` | Print only plain text without any colored output. |
| `--jq` | Query specific JSON data (e.g.,`format.filename`). |
| `--dir` | Enable multi-file processing mode in a directory. |
| `--format` | Specify file format when using `--dir`(default: all). |
## Example Commands
Get media details:
```
ffmpegp "video.mp4"
```
Get specific JSON data:
```
ffmpegp "video.mp4" --jq="format.filename"
```
Enable gradient color progress output:
```
ffmpegp -i "video.mp4" [options] --colored
```
Run in directory mode and select only (mp4) extension files and save files to "output" folder with same filename with diffrent file extension (mkv).:
```
ffmpegp -i "{}" <options> "/output/{}.mkv" --dir="./videos" --format="mp4"
```
## Contributing
Contributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request on GitHub.
## License
This project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE - see the [LICENSE](https://github.com/imegeek/ffmpegp/blob/master/LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "ffmpegp",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "python, ffmpeg, ffmpegp, automation, converter, encoding, progressbar",
"author": "Im Geek (Ankush Bhagat)",
"author_email": "<imegeek@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/dd/6b/c70825dc0c415d8b84ae1b42d1f73bad3d485a04257ac7d19d597cee0d0e/ffmpegp-1.0.tar.gz",
"platform": null,
"description": "\r\n<div align=\"center\">\r\n\r\n<kbd>\r\n\r\n <img src=\"https://github.com/user-attachments/assets/73fc18dd-ae11-47d2-ad9a-3f6adcdcdda5\" alt=\"ffmpegp-logo\" />\r\n\r\n</kbd>\r\n\r\n</div><br>\r\n\r\n\r\n\r\nffmpegp (short for \"FFmpeg Plus\") is a Python-based utility designed to simplify working with media files using ffprobe and ffmpeg. This tool lets you easily extract media details, format conversions, and advanced querying via JSON paths, providing a convenient and efficient interface.\r\n\r\n\r\n\r\n## Features\r\n\r\n\r\n\r\n* **Media Metadata Extraction** : Get detailed media information via `ffprobe`.\r\n\r\n* **JSONPath Querying** : Retrieve specific metadata using JSON path expressions.\r\n\r\n* **Gradient Text** : Colored gradient output for enhanced readability.\r\n\r\n* **Progress Bar** : Visual progress bar with customizable colors and time estimation.\r\n\r\n* **File Size Conversion** : Converts file size to human-readable formats.\r\n\r\n* **Time Conversion** : Converts media duration to seconds.\r\n\r\n* **Enhanced Command Options** : Supports various flags for different modes and output styles.\r\n\r\n\r\n\r\n## Prerequisites\r\n\r\n\r\n\r\nEnsure `ffmpeg` and `ffprobe` are installed and accessible in your system's PATH. If either is missing, the script will display an error.\r\n\r\n\r\n\r\n## Installation\r\n\r\n\r\n\r\nInstall **ffmpegp** using `pip`:\r\n\r\n\r\n\r\n```\r\n\r\npip install ffmpegp\r\n\r\n```\r\n\r\n\r\n\r\n## Usage\r\n\r\n\r\n\r\nRun the program as follows:\r\n\r\n\r\n\r\n```\r\n\r\nffmpegp -i <file_path> [options]\r\n\r\n```\r\n\r\n\r\n\r\n### Arguments\r\n\r\n\r\n\r\n* `file_path`: Path to the media file for which you want details.\r\n\r\n\r\n\r\n### Options\r\n\r\n\r\n\r\n| Option | Description |\r\n\r\n| ------------- | ------------------------------------------------------- |\r\n\r\n| `--colored` | Enable gradient color output. |\r\n\r\n| `--log` | Display logs of the running process. |\r\n\r\n| `--stdout` | Print only plain text without any colored output. |\r\n\r\n| `--jq` | Query specific JSON data (e.g.,`format.filename`). |\r\n\r\n| `--dir` | Enable multi-file processing mode in a directory. |\r\n\r\n| `--format` | Specify file format when using `--dir`(default: all). |\r\n\r\n\r\n\r\n## Example Commands\r\n\r\n\r\n\r\nGet media details:\r\n\r\n\r\n\r\n```\r\n\r\nffmpegp \"video.mp4\"\r\n\r\n```\r\n\r\n\r\n\r\nGet specific JSON data:\r\n\r\n\r\n\r\n```\r\n\r\nffmpegp \"video.mp4\" --jq=\"format.filename\"\r\n\r\n```\r\n\r\n\r\n\r\nEnable gradient color progress output:\r\n\r\n\r\n\r\n```\r\n\r\nffmpegp -i \"video.mp4\" [options] --colored\r\n\r\n```\r\n\r\n\r\n\r\nRun in directory mode and select only (mp4) extension files and save files to \"output\" folder with same filename with diffrent file extension (mkv).:\r\n\r\n\r\n\r\n```\r\n\r\nffmpegp -i \"{}\" <options> \"/output/{}.mkv\" --dir=\"./videos\" --format=\"mp4\"\r\n\r\n```\r\n\r\n\r\n\r\n## Contributing\r\n\r\n\r\n\r\nContributions are welcome! If you have any suggestions, bug reports, or feature requests, please open an issue or submit a pull request on GitHub.\r\n\r\n\r\n\r\n## License\r\n\r\n\r\n\r\nThis project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE - see the [LICENSE](https://github.com/imegeek/ffmpegp/blob/master/LICENSE) file for details.\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "ffmpegp is an enhanced version of FFmpeg, offering additional features and functionalities to extend its powerful media processing capabilities.",
"version": "1.0",
"project_urls": null,
"split_keywords": [
"python",
" ffmpeg",
" ffmpegp",
" automation",
" converter",
" encoding",
" progressbar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "845f01def708ba54700339da3819ea324568149e1a07b8cc5a66da0547c83e03",
"md5": "7ac70fc6e8357e11a7c1300d8064e17c",
"sha256": "beb2786bcfb0f16204a57bbd9f3aaa3a665b37c08727d9f980d8e2796325cc52"
},
"downloads": -1,
"filename": "ffmpegp-1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ac70fc6e8357e11a7c1300d8064e17c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18176,
"upload_time": "2024-11-03T13:10:02",
"upload_time_iso_8601": "2024-11-03T13:10:02.122697Z",
"url": "https://files.pythonhosted.org/packages/84/5f/01def708ba54700339da3819ea324568149e1a07b8cc5a66da0547c83e03/ffmpegp-1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dd6bc70825dc0c415d8b84ae1b42d1f73bad3d485a04257ac7d19d597cee0d0e",
"md5": "ba9656937120438fbf0eaa7b0f885a6a",
"sha256": "3da5fbae905909b719af48e84fbf3d291150631713787cd54f28385abae5ac69"
},
"downloads": -1,
"filename": "ffmpegp-1.0.tar.gz",
"has_sig": false,
"md5_digest": "ba9656937120438fbf0eaa7b0f885a6a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20481,
"upload_time": "2024-11-03T13:10:04",
"upload_time_iso_8601": "2024-11-03T13:10:04.025186Z",
"url": "https://files.pythonhosted.org/packages/dd/6b/c70825dc0c415d8b84ae1b42d1f73bad3d485a04257ac7d19d597cee0d0e/ffmpegp-1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-03 13:10:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ffmpegp"
}