Run FFmpeg & see percentage progress + ETA.
Project description
better-ffmpeg-progress
Runs an FFmpeg command and shows the following in the terminal:
- Percentage Progress
- Speed
- ETA (minutes and seconds)
Example: Progress: 25% | Speed: 22.3x | ETA: 1m 33s
Installation:
pip3 install better-ffmpeg-progress
Usage:
Create an instance of the FfmpegProcess
class and supply a list of arguments like you would to subprocess.run()
from better_ffmpeg_progress import FfmpegProcess
# Pass a list of FFmpeg arguments, like you would if using subprocess.run()
process = FfmpegProcess(["ffmpeg", "-i", "input.mp4", "-c:a", "libmp3lame", "output.mp3"])
# Use the run method to run the FFmpeg command. The progress information will be printed in the terminal.
process.run()
The run
method takes the following optional arguments:
-
progress_handler
- You can create a function if you wish to do something specific with the percentage progress, speed and ETA rather than it being printed in the format
Progress: 25.6% | Speed: 22.3x | ETA: 1m 33s
. The function will receive:- percentage progress (float, 1 decimal place), e.g.
25.6
. - Speed (string), e.g.
22.3x
. - ETA in seconds (float), e.g.
4.68984375
.
- percentage progress (float, 1 decimal place), e.g.
Here's an example:
def handle_progress_info(percentage, speed, eta): print(f"The FFmpeg process is {percentage}% complete. ETA is {eta} seconds based on the current speed ({speed}).)
Then you simply set the value of the
progress_handler
argument to the name of your function, like so:process.run(progress_handler=handle_progress_info)
- You can create a function if you wish to do something specific with the percentage progress, speed and ETA rather than it being printed in the format
-
ffmpeg_output_file
- The
ffmpeg_output_file
argument allows you define where you want the output of FFmpeg to be saved. By default, this is saved in a folder named "ffmpeg_output", with the filename[<input_filename>].txt
, but you can change this using theffmpeg_output_file
argument.
- The
Here's an example where both the progress_handler
and ffmpeg_output_file
parameters are used:
process.run(progress_handler=handle_progress_info, ffmpeg_output_file="ffmpeg_log.txt")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file better-ffmpeg-progress-1.0.3.tar.gz
.
File metadata
- Download URL: better-ffmpeg-progress-1.0.3.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d15faf0f895a2cf353d018ff3608e404df083bc4e31246f6402cdb9e5287929e |
|
MD5 | 809eca570adac4ba58a16c2e5418e117 |
|
BLAKE2b-256 | 9e064efe69a68b30a57b6ef43d0f3a686db0ded50f28b46605686127e47caa09 |
File details
Details for the file better_ffmpeg_progress-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: better_ffmpeg_progress-1.0.3-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 545196b5c8a5b242369100758b7448f3406331ed9d0808e53dc3a7e871b01a2a |
|
MD5 | 6609d5e31f49151c22ef5491e7c05a5c |
|
BLAKE2b-256 | 1e80cead49d88339a90c5b9b96b09fc28bc972b4f3c94de078d132f364005a16 |