Skip to content

Instantly share code, notes, and snippets.

@douglaslise
Last active October 30, 2017 18:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save douglaslise/10a21242167632a5b113d6ea926a071c to your computer and use it in GitHub Desktop.
Save douglaslise/10a21242167632a5b113d6ea926a071c to your computer and use it in GitHub Desktop.
Elemental Test
#!/usr/bin/ruby
require 'rubygems'
require 'active_support'
# example input:
# {"output_groups":
# [{"name":"Apple HLS","outputs":
# [{"audio":[{"bitrate":48000,"sample_rate":32000,"codec":"AAC"}],"video":{"bitrate":1450000,"height":224,"width":400,"codec":"H.264"},"output_path":"/data/server/apple/apple_test_high.m3u8"},
# {"audio":[{"bitrate":48000,"sample_rate":32000,"codec":"AAC"}],"video":{"bitrate":800000,"height":224,"width":400,"codec":"H.264"},"output_path":"/data/server/apple/apple_test_med.m3u8"},
# {"audio":[{"bitrate":48000,"sample_rate":32000,"codec":"AAC"}],"video":{"bitrate":450000,"height":224,"width":400,"codec":"H.264"},"output_path":"/data/server/apple/apple_test_low.m3u8"}]
# }],"script_type":"PRE"}
ret_val = 0
event_data = nil
begin
ARGV.each_with_index do |arg,index|
# decode JSON input
event_data = ActiveSupport::JSON.decode(arg) if index == 0
end
puts "Running example_script.rb as #{event_data["script_type"]}"
# iterate through input and print out values
for output_group in event_data["output_groups"] do
puts "Output Group: #{output_group["name"]}"
for output in output_group["outputs"] do
puts " Output Path: #{output["output_path"]}"
if output["video"]
puts " Video Bitrate: #{output["video"]["bitrate"]}"
puts " Video Height: #{output["video"]["height"]}"
puts " Video Width: #{output["video"]["width"]}"
puts " Video Codec: #{output["video"]["codec"]}"
end
if output["audio"]
for audio in output["audio"]
puts " Audio Bitrate: #{audio["bitrate"]}"
puts " Audio Sample Rate: #{audio["sample_rate"]}"
puts " Audio Codec: #{audio["codec"]}"
end
end
end if output_group["outputs"]
end if event_data["output_groups"]
rescue Exception => e
puts("RETURN MESSAGE: Error running example_script.rb #{$!}. Check sequencer.output for details.")
puts("------example_script.rb error---------")
ARGV.each { |a| puts a }
puts(e.backtrace)
puts("---------------------------------------")
ret_val = 1
end
puts "RETURN MESSAGE: Exiting example_script.rb with exit code #{ret_val}"
exit(ret_val)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment