FFmpeg Graph Schema
---
config:
curve: stepAfter
er:
layout: elk
diagramPadding: 2
entityPadding: 12
rankSpacing: 50
nodeSpacing: 50
themeCSS:
- '.er.entityBox { fill: orange; rx: 5; ry: 5; stroke-width: 1px !important; stroke: #e9e9e9 !important; fill: url(#ff-filtergradient) !important; filter: drop-shadow(0px 0px 5.5px rgba(0, 0, 0, 0.15)); fill: white !important; } '
- '.entityLabel { fill: #33333394; } '
- 'g .entityLabel:first-of-type {
font-size: 0.75rem !important;
font-weight: 600 !important;
text-transform: uppercase;
min-width: 5.5rem;
fill: #33333394 !important;
margin-bottom: 0.1rem; } '
- '.attributeBoxEven, .attributeBoxOdd {
fill: transparent;
stroke: #dfdfdf;
filter: drop-shadow(0px 0px 2.2px rgba(0, 0, 0, 0.15));
stroke-width: 0.4; rx: 2; ry: 2;
clip-path: fill-box; } '
- >-
path.er.relationshipLine { stroke-width: 1; fill: none;
filter: drop-shadow(0px 0px 9px rgba(0, 0, 0, 0.5)); }
- null
theme: default
---
erDiagram
root {
}
root ||--|| graphs : ""
root ||--|| inputfiles : ""
root ||--|| outputfiles : ""
root ||--|| decoders : ""
root ||--|| encoders : ""
root ||--|| streamlinks : ""
graphs {
}
graphs ||--o{ graph : ""
graph {
int graph_index
string description
}
graph ||--|| graph_inputs : ""
graph ||--|| graph_outputs : ""
graph ||--|| filters : ""
graph_inputs {
}
graph_inputs ||--o{ graph_input : ""
graph_input {
int input_index
string media_type
}
graph_outputs {
}
graph_outputs ||--o{ graph_output : ""
graph_output {
int output_index
string name
string media_type
}
filters {
string name
string description
string id
}
filters ||--o{ filter : ""
filter {
string filter_name
string description
int nb_inputs
int nb_outputs
int has_hw_device_context
string hw_device_type
int extra_hw_frames
}
filter ||--|| filter_inputs : ""
filter ||--|| filter_outputs : ""
filter_inputs {
}
filter_inputs ||--o{ filter_input : ""
filter_input {
int input_index
string pad_name
string source_filter_id FK
string source_pad_name
string filter_id PK
string media_type
string format
int width
int height
string sar
string color_range
string color_space
string time_base
}
filter_input ||--|| hw_frames_context : ""
filter_outputs {
}
filter_outputs ||--o{ filter_output : ""
filter_output {
string dest_filter_id FK
int output_index
string pad_name
string dest_pad_name
string filter_id PK
string media_type
string format
int width
int height
string sar
string color_range
string color_space
string time_base
}
filter_output ||--|| hw_frames_context : ""
hw_frames_context {
int height
int has_hw_frames_context
string hw_device_type
string hw_pixel_format
string sw_pixel_format
int width
int initial_pool_size
}
inputfiles {
}
inputfiles ||--o{ inputfile : ""
inputfile {
string index
string demuxer_name
string file_extension
string url
}
inputfile ||--|| inputstreams : ""
inputstreams {
}
inputstreams ||--o{ inputstream : ""
inputstream {
string id PK
string name
string index
string media_type
}
outputfiles {
}
outputfiles ||--o{ outputfile : ""
outputfile {
string index
string muxer_name
string file_extension
string url
}
outputfile ||--|| outputstreams : ""
outputstreams {
}
outputstreams ||--o{ outputstream : ""
outputstream {
string id PK
string name
string index
string media_type
}
streamlinks {
}
streamlinks ||--o{ streamlink : ""
streamlink {
string dest_stream_id FK
string source_stream_id FK
string operation
string media_type
}
decoders {
}
decoders ||--o{ decoder : ""
decoder {
string source_id FK
string id PK
string name
string media_type
}
encoders {
}
encoders ||--o{ encoder : ""
encoder {
string id PK
string dest_id FK
string name
string media_type
}