Téléverser les fichiers vers "methode2"
Pour le scriptboth, c'est le script pour envoyer deux flux en même temps, Pour le switchprofil, c'est le script pour changer de profil pour lancer plusieurs flux en utilisant des informations différentes
This commit is contained in:
parent
3ce51283ce
commit
da690cd515
128
methode2/scriptboth.lua
Normal file
128
methode2/scriptboth.lua
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
obs = obslua
|
||||||
|
|
||||||
|
youtube_output = nil
|
||||||
|
twitch_output = nil
|
||||||
|
|
||||||
|
function script_description()
|
||||||
|
return "Multi RTMP Output - Diffusez sur plusieurs serveurs RTMP simultanément. Configurer les serveurs RTMP pour YouTube et Twitch."
|
||||||
|
end
|
||||||
|
|
||||||
|
function script_properties()
|
||||||
|
local props = obs.obs_properties_create()
|
||||||
|
|
||||||
|
-- Paramètres YouTube
|
||||||
|
obs.obs_properties_add_text(props, "youtube_server", "YouTube RTMP Server", obs.OBS_TEXT_DEFAULT)
|
||||||
|
obs.obs_properties_add_text(props, "youtube_key", "YouTube Stream Key", obs.OBS_TEXT_PASSWORD)
|
||||||
|
|
||||||
|
-- Paramètres Twitch
|
||||||
|
obs.obs_properties_add_text(props, "twitch_server", "Twitch RTMP Server", obs.OBS_TEXT_DEFAULT)
|
||||||
|
obs.obs_properties_add_text(props, "twitch_key", "Twitch Stream Key", obs.OBS_TEXT_PASSWORD)
|
||||||
|
|
||||||
|
obs.obs_properties_add_button(props, "start_youtube", "Commencer YouTube Streaming", start_youtube_streaming)
|
||||||
|
obs.obs_properties_add_button(props, "stop_youtube", "Arrêter YouTube Streaming", stop_youtube_streaming)
|
||||||
|
obs.obs_properties_add_button(props, "start_twitch", "Commencer Twitch Streaming", start_twitch_streaming)
|
||||||
|
obs.obs_properties_add_button(props, "stop_twitch", "Arrêter Twitch Streaming", stop_twitch_streaming)
|
||||||
|
obs.obs_properties_add_button(props, "start_both", "Commencer les deux Streaming", start_both_streaming)
|
||||||
|
obs.obs_properties_add_button(props, "stop_both", "Arrêter les deux Streaming", stop_both_streaming)
|
||||||
|
|
||||||
|
return props
|
||||||
|
end
|
||||||
|
|
||||||
|
function script_update(settings)
|
||||||
|
local youtube_server = obs.obs_data_get_string(settings, "youtube_server")
|
||||||
|
local youtube_key = obs.obs_data_get_string(settings, "youtube_key")
|
||||||
|
local twitch_server = obs.obs_data_get_string(settings, "twitch_server")
|
||||||
|
local twitch_key = obs.obs_data_get_string(settings, "twitch_key")
|
||||||
|
|
||||||
|
if youtube_server ~= "" and youtube_key ~= "" then
|
||||||
|
local youtube_settings = obs.obs_data_create()
|
||||||
|
obs.obs_data_set_string(youtube_settings, "server", youtube_server)
|
||||||
|
obs.obs_data_set_string(youtube_settings, "key", youtube_key)
|
||||||
|
|
||||||
|
local youtube_service = obs.obs_service_create("rtmp_custom", "YouTube RTMP Service", youtube_settings, nil)
|
||||||
|
youtube_output = obs.obs_output_create("rtmp_output", "YouTube RTMP Output", nil, nil)
|
||||||
|
|
||||||
|
obs.obs_output_set_service(youtube_output, youtube_service)
|
||||||
|
obs.obs_data_release(youtube_settings)
|
||||||
|
|
||||||
|
obs.script_log(obs.LOG_INFO, "YouTube RTMP output configured")
|
||||||
|
end
|
||||||
|
|
||||||
|
if twitch_server ~= "" and twitch_key ~= "" then
|
||||||
|
local twitch_settings = obs.obs_data_create()
|
||||||
|
obs.obs_data_set_string(twitch_settings, "server", twitch_server)
|
||||||
|
obs.obs_data_set_string(twitch_settings, "key", twitch_key)
|
||||||
|
|
||||||
|
local twitch_service = obs.obs_service_create("rtmp_custom", "Twitch RTMP Service", twitch_settings, nil)
|
||||||
|
twitch_output = obs.obs_output_create("rtmp_output", "Twitch RTMP Output", nil, nil)
|
||||||
|
|
||||||
|
obs.obs_output_set_service(twitch_output, twitch_service)
|
||||||
|
obs.obs_data_release(twitch_settings)
|
||||||
|
|
||||||
|
obs.script_log(obs.LOG_INFO, "Twitch RTMP output configured")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function start_youtube_streaming(props, prop)
|
||||||
|
if youtube_output then
|
||||||
|
if not obs.obs_output_active(youtube_output) then
|
||||||
|
local success = obs.obs_output_start(youtube_output)
|
||||||
|
if success then
|
||||||
|
obs.script_log(obs.LOG_INFO, "Started YouTube RTMP output")
|
||||||
|
else
|
||||||
|
obs.script_log(obs.LOG_ERROR, "Failed to start YouTube RTMP output")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function stop_youtube_streaming(props, prop)
|
||||||
|
if youtube_output then
|
||||||
|
if obs.obs_output_active(youtube_output) then
|
||||||
|
obs.obs_output_stop(youtube_output)
|
||||||
|
obs.script_log(obs.LOG_INFO, "Stopped YouTube RTMP output")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function start_twitch_streaming(props, prop)
|
||||||
|
if twitch_output then
|
||||||
|
if not obs.obs_output_active(twitch_output) then
|
||||||
|
local success = obs.obs_output_start(twitch_output)
|
||||||
|
if success then
|
||||||
|
obs.script_log(obs.LOG_INFO, "Started Twitch RTMP output")
|
||||||
|
else
|
||||||
|
obs.script_log(obs.LOG_ERROR, "Failed to start Twitch RTMP output")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function stop_twitch_streaming(props, prop)
|
||||||
|
if twitch_output then
|
||||||
|
if obs.obs_output_active(twitch_output) then
|
||||||
|
obs.obs_output_stop(twitch_output)
|
||||||
|
obs.script_log(obs.LOG_INFO, "Stopped Twitch RTMP output")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function start_both_streaming(props, prop)
|
||||||
|
start_youtube_streaming(props, prop)
|
||||||
|
start_twitch_streaming(props, prop)
|
||||||
|
end
|
||||||
|
|
||||||
|
function stop_both_streaming(props, prop)
|
||||||
|
stop_youtube_streaming(props, prop)
|
||||||
|
stop_twitch_streaming(props, prop)
|
||||||
|
end
|
||||||
|
|
||||||
|
function script_load(settings)
|
||||||
|
obs.obs_frontend_add_event_callback(function(event)
|
||||||
|
if event == obs.OBS_FRONTEND_EVENT_STREAMING_STARTING then
|
||||||
|
start_both_streaming(nil, nil)
|
||||||
|
elseif event == obs.OBS_FRONTEND_EVENT_STREAMING_STOPPING then
|
||||||
|
stop_both_streaming(nil, nil)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
60
methode2/switchprofilstream.lua
Normal file
60
methode2/switchprofilstream.lua
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
obs = obslua
|
||||||
|
|
||||||
|
youtube_server = "rtmp://a.rtmp.youtube.com/live2"
|
||||||
|
youtube_key = "VOTRE_CLE_YOUTUBE"
|
||||||
|
twitch_server = "rtmp://live.twitch.tv/app"
|
||||||
|
twitch_key = "VOTRE_CLE_TWITCH"
|
||||||
|
|
||||||
|
youtube_output = nil
|
||||||
|
twitch_output = nil
|
||||||
|
|
||||||
|
function script_description()
|
||||||
|
return "Script pour lancer des streams simultanés sur YouTube et Twitch."
|
||||||
|
end
|
||||||
|
|
||||||
|
function script_properties()
|
||||||
|
local props = obs.obs_properties_create()
|
||||||
|
|
||||||
|
obs.obs_properties_add_button(props, "start_both", "Lancer YouTube et Twitch", start_both_streams)
|
||||||
|
obs.obs_properties_add_button(props, "stop_both", "Arrêter YouTube et Twitch", stop_both_streams)
|
||||||
|
|
||||||
|
return props
|
||||||
|
end
|
||||||
|
|
||||||
|
function start_both_streams(props, p)
|
||||||
|
start_stream(youtube_server, youtube_key, "YouTube")
|
||||||
|
start_stream(twitch_server, twitch_key, "Twitch")
|
||||||
|
end
|
||||||
|
|
||||||
|
function stop_both_streams(props, p)
|
||||||
|
stop_stream(youtube_output)
|
||||||
|
stop_stream(twitch_output)
|
||||||
|
end
|
||||||
|
|
||||||
|
function start_stream(server, key, name)
|
||||||
|
local settings = obs.obs_data_create()
|
||||||
|
obs.obs_data_set_string(settings, "server", server)
|
||||||
|
obs.obs_data_set_string(settings, "key", key)
|
||||||
|
|
||||||
|
local service = obs.obs_service_create("rtmp_common", "service", settings, nil)
|
||||||
|
local output = obs.obs_output_create("rtmp_output", name, nil, nil)
|
||||||
|
obs.obs_output_set_service(output, service)
|
||||||
|
|
||||||
|
obs.obs_output_start(output)
|
||||||
|
|
||||||
|
if name == "YouTube" then
|
||||||
|
youtube_output = output
|
||||||
|
elseif name == "Twitch" then
|
||||||
|
twitch_output = output
|
||||||
|
end
|
||||||
|
|
||||||
|
obs.obs_data_release(settings)
|
||||||
|
obs.obs_service_release(service)
|
||||||
|
end
|
||||||
|
|
||||||
|
function stop_stream(output)
|
||||||
|
if output and obs.obs_output_active(output) then
|
||||||
|
obs.obs_output_stop(output)
|
||||||
|
obs.obs_output_release(output)
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user