lawik
lawik
SMSoftware Mansion
Created by lawik on 2/23/2024 in #membrane-help
Grab keyframe image data from h264 stream?
We are looking at some h264 coming from an RTSP stream. Membrane is doing a fine job with the HLS demo turning it into HLS. But we want to grab images for processing and such. I didn't find anything conclusive on how to do this. I remember being able to do something with keyframes and images but can't find it.
22 replies
SMSoftware Mansion
Created by lawik on 5/6/2023 in #membrane-help
WebRTC to HLS, where does the pipeline happen?
Looking at the demo I can't see a "normal" pipeline. I want to process video frames in a pipeline. Do ML to them and stuff. I want the video from the browser. WebRTC should be a reasonable way to stream that. I want to apply a bunch of stuff between input and final HLS output. Is there a straightforward way for that or is the engine mostly repackaging the video and audio streams?
3 replies
SMSoftware Mansion
Created by lawik on 3/10/2023 in #membrane-help
PortAudio plugin on Apple Silicon Mac
Not sure what the issue stems from. Opening a microphone source gives me:
** (Membrane.CallbackError) Error returned from Membrane.PortAudio.Source.handle_prepared_to_playing:
:pa_open_stream
Internal state: %{
endpoint_id: :default,
latency: :high,
native: nil,
portaudio_buffer_size: 256
}

(membrane_core 0.10.2) lib/membrane/core/callback_handler.ex:209: Membrane.Core.CallbackHandler.parse_callback_result/3
(membrane_core 0.10.2) lib/membrane/core/callback_handler.ex:65: Membrane.Core.CallbackHandler.exec_and_handle_callback/5
(membrane_core 0.10.2) lib/membrane/core/element/lifecycle_controller.ex:143: Membrane.Core.Element.LifecycleController.handle_playback_state/3
(membrane_core 0.10.2) lib/membrane/core/playback_handler.ex:115: Membrane.Core.PlaybackHandler.do_change_playback_state/2
(membrane_core 0.10.2) lib/membrane/core/element.ex:170: Membrane.Core.Element.handle_info/2
(stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
(stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
(stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {Membrane.Core.Message, :change_playback_state, :playing, []}
** (Membrane.CallbackError) Error returned from Membrane.PortAudio.Source.handle_prepared_to_playing:
:pa_open_stream
Internal state: %{
endpoint_id: :default,
latency: :high,
native: nil,
portaudio_buffer_size: 256
}

(membrane_core 0.10.2) lib/membrane/core/callback_handler.ex:209: Membrane.Core.CallbackHandler.parse_callback_result/3
(membrane_core 0.10.2) lib/membrane/core/callback_handler.ex:65: Membrane.Core.CallbackHandler.exec_and_handle_callback/5
(membrane_core 0.10.2) lib/membrane/core/element/lifecycle_controller.ex:143: Membrane.Core.Element.LifecycleController.handle_playback_state/3
(membrane_core 0.10.2) lib/membrane/core/playback_handler.ex:115: Membrane.Core.PlaybackHandler.do_change_playback_state/2
(membrane_core 0.10.2) lib/membrane/core/element.ex:170: Membrane.Core.Element.handle_info/2
(stdlib 4.1.1) gen_server.erl:1123: :gen_server.try_dispatch/4
(stdlib 4.1.1) gen_server.erl:1200: :gen_server.handle_msg/6
(stdlib 4.1.1) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: {Membrane.Core.Message, :change_playback_state, :playing, []}
5 replies