ffmpeg-progress

Get progress information for an ffmpeg process.

https://github.com/tatsh/ffmpeg-progress

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary

Keywords

command-line ffmpeg
Last synced: 4 months ago · JSON representation ·

Repository

Get progress information for an ffmpeg process.

Basic Info
Statistics
  • Stars: 17
  • Watchers: 3
  • Forks: 5
  • Open Issues: 0
  • Releases: 0
Topics
command-line ffmpeg
Created about 7 years ago · Last pushed 5 months ago
Metadata Files
Readme Changelog Contributing Funding License Citation Codeowners Security

README.md

ffmpeg-progress

Python versions PyPI - Version GitHub tag (with filter) License GitHub commits since latest release (by SemVer including pre-releases) CodeQL QA Tests Coverage Status Documentation Status mypy pre-commit pydocstyle pytest Ruff Downloads Stargazers

@Tatsh Mastodon Follow

Get progress information for an ffmpeg process.

This script is based on the work of Rupert Plumridge.

Installation

Poetry

shell poetry add ffmpeg-progress

Pip

shell pip install ffmpeg-progress

Usage

```plain Usage: ffmpeg-progress [OPTIONS] FILE

Entry point for shell use.

Options: -h, --help Show this message and exit. ```

All unknown arguments passed to ffmpeg-progress are passed on to ffmpeg.

Library usage

```python import subprocess as sp import sys

from ffmpeg_progress import start

def ffmpegcallback(infile: str, outfile: str, vstatspath: str): return sp.Popen(['ffmpeg', '-nostats', '-loglevel', '0', '-y', '-vstatsfile', vstatspath, '-i', infile, outfile]).pid

def onmessagehandler(percent: float, frcnt: int, totalframes: int, elapsed: float): sys.stdout.write('\r{:.2f}%'.format(percent)) sys.stdout.flush()

start('my input file.mov', 'some output file.mp4', ffmpegcallback, onmessage=onmessagehandler, ondone=lambda: print(''), waittime=1) # seconds ```

start() is the main function to use. If on_message is not passed, a default function is used. The on_done argument is optional. The initial_wait_time keyword argument can be used to specify a time to wait before processing the log.

The ffmpeg callback must return a PID (int). It is recommended to pass -nostats -loglevel 0 to your ffmpeg process. The ffmpeg callback also must pass -vstats_file given the path from the callback argument.

ffprobe

An ffprobe front-end function is included. Usage:

```python from ffmpeg_progress import ffprobe

ffprobe('my file.mp4') # returns a dict() ```

Owner

  • Login: Tatsh
  • Kind: user

Citation (CITATION.cff)

authors:
  - family-names: 'Udvare'
    given-names: 'Andrew'
cff-version: '1.2.0'
date-released: '2025-08-30'
message: 'If you use this software, please cite it as below.'
title: 'ffmpeg-progress'
version: '0.0.5'

GitHub Events

Total
  • Watch event: 2
  • Delete event: 94
  • Issue comment event: 28
  • Push event: 108
  • Pull request event: 197
  • Create event: 91
Last Year
  • Watch event: 2
  • Delete event: 94
  • Issue comment event: 28
  • Push event: 108
  • Pull request event: 197
  • Create event: 91

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 26
  • Total Committers: 2
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.077
Top Committers
Name Email Commits
Andrew Udvare a****e@g****m 24
rootforbid 4****d@u****m 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 11
  • Total pull requests: 357
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 20 hours
  • Total issue authors: 8
  • Total pull request authors: 2
  • Average comments per issue: 2.55
  • Average comments per pull request: 0.2
  • Merged pull requests: 311
  • Bot issues: 1
  • Bot pull requests: 355
Past Year
  • Issues: 1
  • Pull requests: 186
  • Average time to close issues: about 4 hours
  • Average time to close pull requests: about 15 hours
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.25
  • Merged pull requests: 160
  • Bot issues: 1
  • Bot pull requests: 186
Top Authors
Issue Authors
  • ceptonit (3)
  • pexch (2)
  • saurabhmarne9595 (1)
  • rootforbid (1)
  • napsta32 (1)
  • bindestriche (1)
  • dependabot[bot] (1)
  • Wen-Han97 (1)
Pull Request Authors
  • dependabot[bot] (424)
  • rootforbid (2)
Top Labels
Issue Labels
stale (1) dependencies (1) python (1)
Pull Request Labels
dependencies (423) python (278) javascript (145)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 152 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 5
  • Total maintainers: 1
pypi.org: ffmpeg-progress

Get progress information for an ffmpeg process.

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 152 Last month
Rankings
Dependent packages count: 10.1%
Dependent repos count: 11.6%
Average: 14.4%
Forks count: 15.3%
Stargazers count: 16.5%
Downloads: 18.3%
Maintainers (1)
Last synced: 5 months ago

Dependencies

.github/workflows/close-inactive.yml actions
  • actions/stale v5 composite
.github/workflows/qa.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
package.json npm
  • @prettier/plugin-xml ^3.2.2 development
  • cspell ^8.1.3 development
  • markdownlint-cli2 ^0.11.0 development
  • prettier ^3.1.1 development
  • prettier-plugin-ini ^1.1.0 development
  • prettier-plugin-sort-json ^3.1.0 development
  • prettier-plugin-toml ^2.0.1 development
yarn.lock npm
  • 196 dependencies
.rtfd-requirements.txt pypi
  • sphinx-click >=5.0.1
  • tomlkit >=0.12.1
poetry.lock pypi
  • alabaster 0.7.16
  • argcomplete 3.1.6
  • attrs 23.2.0
  • babel 2.14.0
  • cattrs 23.2.3
  • certifi 2023.11.17
  • charset-normalizer 3.3.2
  • click 8.1.7
  • colorama 0.4.6
  • commitizen 3.13.0
  • coverage 6.5.0
  • coveralls 3.3.1
  • decli 0.6.1
  • doc8 1.1.1
  • docopt 0.6.2
  • docutils 0.20.1
  • esbonio 0.16.4
  • exceptiongroup 1.2.0
  • idna 3.6
  • imagesize 1.4.1
  • importlib-metadata 6.11.0
  • iniconfig 2.0.0
  • jinja2 3.1.3
  • lsprotocol 2023.0.0
  • markupsafe 2.1.4
  • mock 5.1.0
  • mypy 1.8.0
  • mypy-extensions 1.0.0
  • packaging 23.2
  • pbr 6.0.0
  • platformdirs 4.1.0
  • pluggy 1.3.0
  • prompt-toolkit 3.0.36
  • psutil 5.9.8
  • pygls 1.2.1
  • pygments 2.17.2
  • pyspellchecker 0.8.1
  • pytest 7.4.4
  • pytest-cov 4.1.0
  • pytest-mock 3.12.0
  • pytoolconfig 1.3.1
  • pyyaml 6.0.1
  • questionary 2.0.1
  • requests 2.31.0
  • restructuredtext-lint 1.4.0
  • rope 1.12.0
  • ruff 0.1.14
  • snowballstemmer 2.2.0
  • sphinx 7.2.6
  • sphinx-click 5.1.0
  • sphinxcontrib-applehelp 1.0.8
  • sphinxcontrib-devhelp 1.0.6
  • sphinxcontrib-htmlhelp 2.0.5
  • sphinxcontrib-jsmath 1.0.1
  • sphinxcontrib-qthelp 1.0.7
  • sphinxcontrib-serializinghtml 1.1.10
  • stevedore 5.1.0
  • termcolor 2.4.0
  • tomli 2.0.1
  • tomlkit 0.12.3
  • typing-extensions 4.9.0
  • urllib3 2.1.0
  • wcwidth 0.2.13
  • yapf 0.40.2
  • zipp 3.17.0
pyproject.toml pypi
  • commitizen ^3.13.0 develop
  • mypy ^1.8.0 develop
  • rope ^1.12.0 develop
  • ruff ^0.1.14 develop
  • yapf ^0.40.2 develop
  • doc8 ^1.1.1 docs
  • docutils ^0.20.1 docs
  • esbonio ^0.16.4 docs
  • restructuredtext-lint ^1.4.0 docs
  • sphinx ^7.2.6 docs
  • sphinx-click ^5.1.0 docs
  • tomlkit ^0.12.3 docs
  • click ^8.1.7
  • psutil ^5.9.8
  • python >=3.10,<4
  • coveralls ^3.3.1 tests
  • mock ^5.1.0 tests
  • pytest ^7.4.4 tests
  • pytest-cov ^4.1.0 tests
  • pytest-mock ^3.12.0 tests