8000 #17: auto-generate split output count · Powercoder64/ffmpeg-python@cf1b7bf · GitHub
[go: up one dir, main page]

Skip to content

Commit cf1b7bf

Browse files
committed
kkroening#17: auto-generate split output count
1 parent 5d78a25 commit cf1b7bf

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

ffmpeg/_run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def _get_filter_spec(node, outgoing_edge_map, stream_name_map):
5959
outgoing_edges = get_outgoing_edges(node, outgoing_edge_map)
6060
inputs = [stream_name_map[edge.upstream_node, edge.upstream_label] for edge in incoming_edges]
6161
outputs = [stream_name_map[edge.upstream_node, edge.upstream_label] for edge in outgoing_edges]
62-
filter_spec = '{}{}{}'.format(''.join(inputs), node._get_filter(), ''.join(outputs))
62+
filter_spec = '{}{}{}'.format(''.join(inputs), node._get_filter(outgoing_edges), ''.join(outputs))
6363
return filter_spec
6464

6565

ffmpeg/nodes.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,17 @@ def __init__(self, stream_spec, name, max_inputs=1, args=[], kwargs={}):
148148
kwargs=kwargs
149149
)
150150

151-
def _get_filter(self):
152-
params_text = self.name
153-
arg_params = ['{}'.format(arg) for arg in self.args]
154-
kwarg_params = ['{}={}'.format(k, self.kwargs[k]) for k in sorted(self.kwargs)]
151+
def _get_filter(self, outgoing_edges):
152+
args = self.args
153+
kwargs = self.kwargs
154+
if self.name == 'split':
155+
args = [len(outgoing_edges)]
156+
157+
arg_params = ['{}'.format(arg) for arg in args]
158+
kwarg_params = ['{}={}'.format(k, kwargs[k]) for k in sorted(kwargs)]
155159
params = arg_params + kwarg_params
160+
161+
params_text = self.name
156162
if params:
157163
params_text += '={}'.format(':'.join(params))
158164
return params_text

ffmpeg/tests/test_ffmpeg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def test_get_args_complex_filter():
122122
'-i', TEST_OVERLAY_FILE,
123123
'-filter_complex',
124124
'[0]vflip[s0];' \
125-
'[s0]split[s1][s2];' \
125+
'[s0]split=2[s1][s2];' \
126126
'[s1]trim=end_frame=20:start_frame=10[s3];' \
127127
'[s2]trim=end_frame=40:start_frame=30[s4];' \
128128
'[s3][s4]concat=n=2[s5];' \

0 commit comments

Comments
 (0)
0