<div align="center">
<kbd>
<img src="https://github.com/user-attachments/assets/76839d9d-c21d-447b-82ac-9823d0653162" 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` | Set specific file format to find. (works with '--dir' tag) (default: all) (e.g., --format=mp4). |
## 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/01/fb/4e5d4bf469fd0cb3e510817c3f0e4bcb027474bbc8beb49abc2756e27723/ffmpegp-1.12.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/76839d9d-c21d-447b-82ac-9823d0653162\" 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` | Set specific file format to find. (works with '--dir' tag) (default: all) (e.g., --format=mp4). |\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.12",
"project_urls": null,
"split_keywords": [
"python",
" ffmpeg",
" ffmpegp",
" automation",
" converter",
" encoding",
" progressbar"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1da1f3a7c79b65625f4c36940c788f7927bcc50a0bd37dcec6b73e43d2a230e7",
"md5": "3592895788ac8e48a1d81fbda98ac5b1",
"sha256": "d3a2c854a06d4943a9660a35a389ffbb48bec80c6a41064cf8ecfc1b1ebb4db5"
},
"downloads": -1,
"filename": "ffmpegp-1.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3592895788ac8e48a1d81fbda98ac5b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18292,
"upload_time": "2024-12-11T11:00:33",
"upload_time_iso_8601": "2024-12-11T11:00:33.441082Z",
"url": "https://files.pythonhosted.org/packages/1d/a1/f3a7c79b65625f4c36940c788f7927bcc50a0bd37dcec6b73e43d2a230e7/ffmpegp-1.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "01fb4e5d4bf469fd0cb3e510817c3f0e4bcb027474bbc8beb49abc2756e27723",
"md5": "20e30d873dbc300e5c956d09929b30a4",
"sha256": "dc1d3ac6bc8e6194f73048626ad08352be99c157548e63e75dacb8707817fb71"
},
"downloads": -1,
"filename": "ffmpegp-1.12.tar.gz",
"has_sig": false,
"md5_digest": "20e30d873dbc300e5c956d09929b30a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 20516,
"upload_time": "2024-12-11T11:00:34",
"upload_time_iso_8601": "2024-12-11T11:00:34.597891Z",
"url": "https://files.pythonhosted.org/packages/01/fb/4e5d4bf469fd0cb3e510817c3f0e4bcb027474bbc8beb49abc2756e27723/ffmpegp-1.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 11:00:34",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ffmpegp"
}