When setting it up on AWS EC2 instance initial startup takes some time. I was able to make it work by starting the pipeline, kill the process manually and start again, because startup on the second run is much quicker.
10:43:06.323 [error] GenServer #PID<0.1760.0> terminating
** (MatchError) no match of right hand side value: :error
(membrane_video_compositor_plugin 0.8.0) lib/membrane/video_compositor/video_compositor.ex:320: Membrane.VideoCompositor.handle_setup/2
(membrane_core 1.0.0) lib/membrane/core/callback_handler.ex:139: Membrane.Core.CallbackHandler.exec_callback/4
(membrane_core 1.0.0) lib/membrane/core/callback_handler.ex:69: Membrane.Core.CallbackHandler.exec_and_handle_callback/5
(membrane_core 1.0.0) lib/membrane/core/parent/lifecycle_controller.ex:27: Membrane.Core.Parent.LifecycleController.handle_setup/1
(membrane_core 1.0.0) lib/membrane/core/bin.ex:149: Membrane.Core.Bin.handle_continue/2
(stdlib 5.2) gen_server.erl:1085: :gen_server.try_handle_continue/3
(stdlib 5.2) gen_server.erl:995: :gen_server.loop/7
(stdlib 5.2) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
Last message: {:continue, :setup}
State: %Membrane.Core.Bin.State{module: Membrane.VideoCompositor, synchronization: %{timers: %{}, clock: nil, parent_clock: #PID<0.1723.0>, clock_provider: %{choice: :auto, clock: nil, provider: nil}, clock_proxy: #PID<0.1761.0>, latency: 0, stream_sync: :membrane_no_sync}, subprocess_supervisor: #PID<0.1759.0>, resource_guard: #PID<0.1762.0>, stalker: %Membrane.Core.Stalker{pid: #PID<0.1721.0>, ets: #Reference<0.1425352200.2932211713.165109>}, internal_state: %Membrane.VideoCompositor{framerate: 30, port_range: {6000, 10000}, init_web_renderer?: false, stream_fallback_timeout: 10000000000, start_composing_strategy: :on_init, vc_server_config: {:start_on_port, 8081}}, children: %{}, name: :video_compositor, pads_info: %{input: %{name: :input, options: [input_id: [spec: "input_id()"]], availability: :on_request, accepted_formats_str: ["%Membrane.H264{alignment: :nalu, stream_structure: :annexb}"], direction: :input}, output: %{name: :output, options: [output_id: [spec: "output_id()"]], availability: :on_request, accepted_formats_str: ["%Membrane.H264{alignment: :nalu, stream_structure: :annexb}"], direction: :output}}, pads_data: %{}, parent_pid: #PID<0.1720.0>, crash_groups: %{}, children_log_metadata: [], links: %{}, pending_specs: %{}, playback: :stopped, initialized?: false, terminating?: false, setup_incomplete?: false, handling_action?: false}
10:43:06.324 [debug] <0.1720.0>/ Child :video_compositor crashed but was not a member of any crash group.
Terminating.
10:43:06.324 [debug] <0.1720.0>/:video_compositor/ subprocess supervisor got exit request from parent, reason: :shutdown, shutting down children
10:43:06.325 [error] <0.1720.0>/ Terminating with reason: {:membrane_child_crash, :video_compositor, {{:badmatch, :error}, [{Membrane.VideoCompositor, :handle_setup, 2, [file: ~c"lib/membrane/video_compositor/video_compositor.ex", line: 320]}, {Membrane.Core.CallbackHandler, :exec_callback, 4, [file: ~c"lib/membrane/core/callback_handler.ex", line: 139]}, {Membrane.Core.CallbackHandler, :exec_and_handle_callback, 5, [file: ~c"lib/membrane/core/callback_handler.ex", line: 69]}, {Membrane.Core.Parent.LifecycleController, :handle_setup, 1, [file: ~c"lib/membrane/core/parent/lifecycle_controller.ex", line: 27]}, {Membrane.Core.Bin, :handle_continue, 2, [file: ~c"lib/membrane/core/bin.ex", line: 149]}, {:gen_server, :try_handle_continue, 3, [file: ~c"gen_server.erl", line: 1085]}, {:gen_server, :loop, 7, [file: ~c"gen_server.erl", line: 995]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 241]}]}}