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:
@@ -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)
|
||||
|
||||
@@ -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?
|
||||
|
||||
|
||||
@@ -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!(
|
||||
|
||||
Reference in New Issue
Block a user