YouTube come destinazione pubblica, non Match Live TV.

Non propone più il link MLTV per sessioni YouTube; la pagina /live
reindirizza a YouTube; il relay verso YouTube si riavvia al connect.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-04 07:25:07 +02:00
parent 9fd4d865b3
commit 1d67459bbe
12 changed files with 163 additions and 9 deletions

View File

@@ -52,6 +52,19 @@ module Streams
pid.present? && process_alive?(pid)
end
# Riavvia il relay se è morto (es. avviato prima del segnale su _air).
def ensure_publishing!(session)
return unless session.platform == "youtube"
return if session.terminal?
return if session.stream_key.blank?
return if running?(session.id)
start(session)
rescue Error => e
Rails.logger.warn("[YoutubeRelay] ensure_publishing session=#{session.id}: #{e.message}")
end
private
def mediamtx_intake_url(session)

View File

@@ -26,6 +26,7 @@ module Webhooks
return if session.paused?
Streams::OverlayRelay.ensure_publishing!(session)
Streams::YoutubeRelay.ensure_publishing!(session) if session.platform == "youtube"
return if session.live? && session.stream_events.where(event_type: "connected").exists?

View File

@@ -39,6 +39,15 @@ module Youtube
metadata: { broadcast_id: broadcast[:broadcast_id] },
occurred_at: Time.current
)
SessionChannel.broadcast_message(
@session,
{
type: "youtube_ready",
youtube_watch_url: @session.youtube_watch_url,
share_url: @session.share_url,
youtube_broadcast_id: @session.youtube_broadcast_id
}
)
@session
rescue BroadcastService::Error => e
@session.stream_events.create!(