Skip to main content

Run FFmpeg & see percentage progress + ETA.

Project description

PyPI downloads PyPI downloads PyPI - Version GitHub

Better FFmpeg Progress

Runs an FFmpeg command and shows a progress bar with percentage progress, time elapsed and ETA.

FFmpeg outputs something like:

frame=  692 fps= 58 q=28.0 size=    5376KiB time=00:00:28.77 bitrate=1530.3kbits/s speed=2.43x

Better FFmpeg Progress outputs something like:

⠏ Processing abc.webm ━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  23% 0:00:04 00:15

Where:

  • Processing abc.webm is the description of the progresss bar.
  • 23% is the percentage progress.
  • 0:00:04 is the time (H:MM:SS) elapsed.
  • 00:15 is the estimated time until the FFmpeg process completes.

As you can see, the output of Better FFmpeg Progress is much more useful.

Installation

pip install better-ffmpeg-progress --upgrade

Usage

Create an instance of the FfmpegProcess class and supply a list of arguments like you would to subprocess.run() or subprocess.Popen().

Here's a simple example:

from better_ffmpeg_progress import FfmpegProcess

process = FfmpegProcess(["ffmpeg", "-i", "input.mp4", "-c:v", "libx265", "output.mp4"])

# return_code will be 0 if the process was successful
return_code = process.run()

if return_code == 0:
    # Code to run if the process was successful
    pass
else:
    # Code to run if the process was unsuccessful
    pass

Optional Arguments

An instance of the FfmpegProcess class takes the following optional arguments:

  • ffmpeg_log_level - Desired FFmpeg log level. Default: "verbose"
  • ffmpeg_log_file - The filepath to save the FFmpeg log to.
  • print_detected_duration - Print the detected duration of the input file. Default: True
  • print_stderr_new_line - If better progress information cannot be shown, print FFmpeg stderr in a new line instead of replacing the current line in the terminal. Default: False

The run method takes the following optional argument:

  • print_command - Print the FFmpeg command being executed. Default: False

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

better_ffmpeg_progress-3.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

better_ffmpeg_progress-3.1.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file better_ffmpeg_progress-3.1.0.tar.gz.

File metadata

File hashes

Hashes for better_ffmpeg_progress-3.1.0.tar.gz
Algorithm Hash digest
SHA256 fb09d123cd345d8cb1bb4c8ab2d6ec272aa834efe7fa88f97b3d0fd271f739a2
MD5 b0dd6164315ec45dc0f983d3dcdbd4f3
BLAKE2b-256 22674db309ef599c70b4491e74984a7081647ae193b7da072189578b800dc8ce

See more details on using hashes here.

File details

Details for the file better_ffmpeg_progress-3.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for better_ffmpeg_progress-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b976b8058517969b87513e4e03d933f156e14b4b76fb637ba7813a36665e7ead
MD5 b80b4732fe8cc14520e69188a5d440ac
BLAKE2b-256 c591d9f16e96355c46d2ace5a8e90af29d8ae45f46a97b0d53788c3ef9ce998d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page