ffmpeg_instance_list = {} init_input_module.ffmpeg = function(conf) -- conf.addr - значение после ffmpeg:// -- в данном пример используется как порт для обмена данными между -- ffmpeg и udp_input local instance = ffmpeg_instance_list[conf.addr] -- пример адреса источника ffmpeg://5001#option=123 -- conf.format = ffmpeg -- conf.addr = 5001 -- conf.option = 123 if not instance then instance = {} ffmpeg_instance_list[instance_id] = instance -- запуск ffmpeg -- скрипт ffmpeg.sh в данном примере принимает два параметра: -- 1. start или stop - запуск или остановка скрипта -- 2. номер порта на который передавать данные os.execute("ffmpeg.sh start " .. conf.addr) -- приём данных с ffmpeg instance.input = udp_input({ addr = "127.0.0.1", port = conf.addr, }) end return instance.input end kill_input_module.ffmpeg = function(module) local conf = module.__options local instance = ffmpeg_instance_list[conf.addr] if instance then os.execute("ffmpeg.sh stop " .. conf.addr) instance.input = nil ffmpeg_instance_list[conf.addr] = nil end end