Expected Behavior
Install pyav from the requirements.txt and Video nodes can successfuly remux without decode and re-encode.
Actual Behavior
An error occurs because remuxing via copying codex context / stream attributes requires a change that didn't land until PyAv 14.2.0:
The requirements allows 14.1.0:
https://github.com/comfyanonymous/ComfyUI/blob/5c5457a4ef151f9f855020ff544b4362cdcf1201/requirements.txt#L25
Steps to Reproduce
pip install av==14.1.0 (minimum allowed in requirements)
- Construct
VideoFile using bytes as input
- Send to
SaveVideo node
- Then install
14.2.0 and observe that it works correctly.
Debug Logs
Traceback (most recent call last):
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/execution.py", line 347, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/execution.py", line 222, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/execution.py", line 194, in _map_node_over_list
process_inputs(input_dict, i)
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/execution.py", line 183, in process_inputs
results.append(getattr(obj, func)(**inputs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/comfy_extras/nodes_video.py", line 131, in save_video
video.save_to(
File "/home/c_byrne/projects/comfy-testing-environment/ComfyUI-private/comfy_api/input_impl/video_types.py", line 137, in save_to
out_stream = output_container.add_stream_from_template(template=stream, opaque=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "av/container/output.pyx", line 187, in av.container.output.OutputContainer.add_stream_from_template
File "av/stream.pyx", line 127, in av.stream.Stream.__setattr__
AttributeError: 'av.video.codeccontext.VideoCodecContext' object has no attribute 'opaque'
Other
No response
Expected Behavior
Install pyav from the requirements.txt and Video nodes can successfuly remux without decode and re-encode.
Actual Behavior
An error occurs because remuxing via copying codex context / stream attributes requires a change that didn't land until PyAv 14.2.0:
The requirements allows
14.1.0:https://github.com/comfyanonymous/ComfyUI/blob/5c5457a4ef151f9f855020ff544b4362cdcf1201/requirements.txt#L25
Steps to Reproduce
pip install av==14.1.0(minimum allowed in requirements)VideoFileusing bytes as inputSaveVideonode14.2.0and observe that it works correctly.Debug Logs
Other
No response