YouTube live immediata: relay sempre attivo e attivazione broadcast.
Il relay parte dal job overlay ogni 2s; scheduledStartTime ~90s invece di 5 min; transition testing/live quando l'ingest RTMP raggiunge YouTube. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -26,6 +26,9 @@ class OverlayRefreshJob < ApplicationJob
|
||||
return self.class.cancel_chain(session_id) unless Streams::OverlayRelay.running?(session_id)
|
||||
|
||||
Streams::Overlay::Refresh.call(session)
|
||||
if session.platform == "youtube"
|
||||
Streams::YoutubeRelay.ensure_publishing!(session)
|
||||
end
|
||||
self.class.set(wait: INTERVAL).perform_later(session_id)
|
||||
end
|
||||
end
|
||||
|
||||
13
backend/app/jobs/youtube_broadcast_activate_job.rb
Normal file
13
backend/app/jobs/youtube_broadcast_activate_job.rb
Normal file
@@ -0,0 +1,13 @@
|
||||
class YoutubeBroadcastActivateJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
def perform(session_id)
|
||||
session = StreamSession.find_by(id: session_id)
|
||||
return unless session&.platform == "youtube"
|
||||
return if session.terminal?
|
||||
return if session.youtube_broadcast_id.blank?
|
||||
return unless Streams::YoutubeRelay.running?(session.id)
|
||||
|
||||
Youtube::BroadcastService.new(session.match.team).activate_broadcast!(session.youtube_broadcast_id)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user