Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Astra. High Rate Analyzer
- -- Step time: 10ms (100 results in 1 second)
- --
- -- Save script to /etc/astra/h-analyze.lua
- -- Launch: astra /etc/astra/h-analyze.lua "udp://239.255.1.1:1234" --limit 0
- -- --limit - additional option. write to log if a bitrate higher than defined value
- limit = 0
- input_url = nil
- options = {
- ["--limit"] = function(idx)
- limit = tonumber(argv[idx + 1])
- return 1
- end,
- ["*"] = function(idx)
- input_url = argv[idx]
- return 0
- end,
- }
- function main()
- local conf = parse_url(input_url)
- if not conf then
- log.error("[analyze] wrong url format")
- astra.exit()
- end
- conf.name = "analyze"
- input = init_input(conf)
- analyze = analyze({
- upstream = input.tail:stream(),
- name = conf.name,
- rate_stat = true,
- callback = function(data)
- if data.rate then
- for _,x in ipairs(data.rate) do
- local rate = math.floor(tonumber(x) * 188 * 8 / 10)
- if rate > limit then
- log.info("rate " .. rate .. " Kbit/s")
- end
- end
- end
- end,
- })
- end
Advertisement
Add Comment
Please, Sign In to add comment