All Projects → zeroepoch → Plotbitrate

zeroepoch / Plotbitrate

Licence: other
FFProbe Bitrate Graph

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Plotbitrate

Pyimagevideo
write animated GIF, multipage append TIFF, AVI OGV video in Python
Stars: ✭ 36 (-75.68%)
Mutual labels:  ffmpeg, matplotlib
Rl Book Challenge
self-studying the Sutton & Barto the hard way
Stars: ✭ 146 (-1.35%)
Mutual labels:  matplotlib
Radigo
Record radiko 📻
Stars: ✭ 135 (-8.78%)
Mutual labels:  ffmpeg
Usiigaci
Usiigaci: stain-free cell tracking in phase contrast microscopy enabled by supervised machine learning
Stars: ✭ 139 (-6.08%)
Mutual labels:  matplotlib
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+1283.78%)
Mutual labels:  ffmpeg
Deep Learning Resources
A Collection of resources I have found useful on my journey finding my way through the world of Deep Learning.
Stars: ✭ 141 (-4.73%)
Mutual labels:  matplotlib
Screen Recorder
A Ruby gem to video record and take screenshots of your desktop or specific application window. Works on Windows, Linux, and macOS.
Stars: ✭ 135 (-8.78%)
Mutual labels:  ffmpeg
Opendatawrangling
공공데이터 분석
Stars: ✭ 148 (+0%)
Mutual labels:  matplotlib
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+8132.43%)
Mutual labels:  ffmpeg
Notenoughav1encodes
GUI for AV1 (aomenc, rav1e & svt-av1)
Stars: ✭ 138 (-6.76%)
Mutual labels:  ffmpeg
Prism Media
Easily transcode media using Node.js 🎶
Stars: ✭ 136 (-8.11%)
Mutual labels:  ffmpeg
Zhihu Spider
一个获取知乎用户主页信息的多线程Python爬虫程序。
Stars: ✭ 137 (-7.43%)
Mutual labels:  matplotlib
Data Analysis
主要是爬虫与数据分析项目总结,外加建模与机器学习,模型的评估。
Stars: ✭ 142 (-4.05%)
Mutual labels:  matplotlib
Swiftvideo
Swift Video Framework for Linux, macOS, and iOS/iPadOS
Stars: ✭ 137 (-7.43%)
Mutual labels:  ffmpeg
Jtt1078 Video Server
基于JT/T 1078标准实现的视频转播服务器
Stars: ✭ 146 (-1.35%)
Mutual labels:  ffmpeg
Ml Cheatsheet
A constantly updated python machine learning cheatsheet
Stars: ✭ 136 (-8.11%)
Mutual labels:  matplotlib
Kotlinffmpeg
Examples of using FFMpeg library on Android with Kotlin
Stars: ✭ 138 (-6.76%)
Mutual labels:  ffmpeg
Soluble Mediatools
Video / audio conversion, thumbnailing and more ! PHP FFmpeg wrapper
Stars: ✭ 141 (-4.73%)
Mutual labels:  ffmpeg
Dlgplayer
A media player for iOS based on FFmpeg 4.0
Stars: ✭ 148 (+0%)
Mutual labels:  ffmpeg
Downline
Free cross-platform desktop app to download videos and music from YouTube and many other sites
Stars: ✭ 146 (-1.35%)
Mutual labels:  ffmpeg

PlotBitrate

FFProbe Bitrate Graph

This project contains a script for plotting the bitrate of an audio or video stream over time. To get the frame bitrate data ffprobe is used from the ffmpeg package. The ffprobe data is streamed to python as xml frame metadata and optionaly sorted by frame type. Matplotlib is used to plot the overall bitrate or each frame type on the same graph with lines for the peak and mean bitrates. The resulting bitrate graph can be saved as an image.

Possible outputs are:

  • Image types (png, svg, pdf, ...)
  • Raw frame data (csv, xml)

Requirements:

  • Python >= 3.5
  • FFMpeg >= 1.2 with the ffprobe command
  • Matplotlib

For using the script from source, install the requirements with pip install -r requirements.txt or use the requirements-dev.txt for development purposes.

Installation

pip install plotbitrate

Useful Options

The raw frame data can be stored in an xml file with the option -f xml_raw, which the graph can be plotted from. This is useful if the graph should be shown multiple times with different options, as the source file doesn't need to be scanned again.

The option --downscale (or -d) is useful if the video is very long and an overview of the bitrate fluctuation is sufficient and zooming in is not necessary. This behavior resembles that of the tool "Bitrate Viewer". With this option, videos will be shown as a downscaled graph, meaning not every second is being displayed. Multiple seconds will be grouped together and the max value will be drawn. This downscaling is not applied when viewing individual frame types as this woud lead to wrong graphs. This behavior can be adjusted with the --max-display-values option. The default value is 700, meaning that at most 700 individual seconds/bars are drawn.

Usage Examples

Show video stream bitrate in a window with progress.

plotbitrate input.mkv

Show downscaled video stream bitrate in a window.

plotbitrate -d input.mkv

Show video stream bitrate for each frame type in a window.

plotbitrate -t input.mkv

Save video stream bitrate to an SVG file.

plotbitrate -o output.svg input.mkv

Show audio stream bitrate in a window.

plotbitrate -s audio input.mkv

Save raw ffproble frame data as xml file.

plotbitrate -f xml_raw -o frames.xml input.mkv

Show bitrate graph from raw xml.

plotbitrate frames.xml
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].