(node, stream_name_map)
| 111 | |
| 112 | |
| 113 | def _get_output_args(node, stream_name_map): |
| 114 | if node.name != output.__name__: |
| 115 | raise ValueError('Unsupported output node: {}'.format(node)) |
| 116 | args = [] |
| 117 | |
| 118 | if len(node.incoming_edges) == 0: |
| 119 | raise ValueError('Output node {} has no mapped streams'.format(node)) |
| 120 | |
| 121 | for edge in node.incoming_edges: |
| 122 | # edge = node.incoming_edges[0] |
| 123 | stream_name = _format_input_stream_name( |
| 124 | stream_name_map, edge, is_final_arg=True |
| 125 | ) |
| 126 | if stream_name != '0' or len(node.incoming_edges) > 1: |
| 127 | args += ['-map', stream_name] |
| 128 | |
| 129 | kwargs = copy.copy(node.kwargs) |
| 130 | filename = kwargs.pop('filename') |
| 131 | if 'format' in kwargs: |
| 132 | args += ['-f', kwargs.pop('format')] |
| 133 | if 'video_bitrate' in kwargs: |
| 134 | args += ['-b:v', str(kwargs.pop('video_bitrate'))] |
| 135 | if 'audio_bitrate' in kwargs: |
| 136 | args += ['-b:a', str(kwargs.pop('audio_bitrate'))] |
| 137 | if 'video_size' in kwargs: |
| 138 | video_size = kwargs.pop('video_size') |
| 139 | if not isinstance(video_size, basestring) and isinstance( |
| 140 | video_size, collections.Iterable |
| 141 | ): |
| 142 | video_size = '{}x{}'.format(video_size[0], video_size[1]) |
| 143 | args += ['-video_size', video_size] |
| 144 | args += convert_kwargs_to_cmd_line_args(kwargs) |
| 145 | args += [filename] |
| 146 | return args |
| 147 | |
| 148 | |
| 149 | @output_operator() |
no test coverage detected
searching dependent graphs…