$:.push File.expand_path("../lib", __FILE__) # Maintain your gem's version: require "video_pro/version" bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install' if bundle_update_flag require "fileutils" app_path = File.expand_path(__dir__) template_path = ENV['PWD'] + '/app/templates' all_template = Dir.glob(template_path+'/*/') puts 'copying module' all_template.each do |folder| if folder.split('/')[-1] != 'mobile' begin system ('cp -r '+ app_path + '/modules/ ' + folder) rescue puts 'error copy' end end end #download ffmpeg begin destination = ENV['PWD']+'/tmp/ffmpeg' if Dir[destination].length==0 FileUtils.mkdir_p("#{ENV['PWD']}/tmp") require 'open-uri' if RUBY_VERSION.to_f >= 2.7 download = URI.open('https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.2/ffmpeg-4.2-linux-64.zip',:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE) else download = open('https://github.com/ffbinaries/ffbinaries-prebuilt/releases/download/v4.2/ffmpeg-4.2-linux-64.zip',:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE) end save_zip_name = "#{ENV['PWD']}/tmp/ffmpeg-4.2-linux-64.zip" IO.copy_stream(download, save_zip_name) begin require 'zip' rescue LoadError bundler_with_clean_env{system("gem install zip-zip")} end FileUtils.mkdir_p(destination) Zip::File.open(save_zip_name) do |zip_file| zip_file.each do |f| fpath = File.join(destination, f.name) zip_file.extract(f, fpath) unless File.exist?(fpath) end end end rescue => e FileUtils.rmdir(destination) rescue nil puts ["download ffmpeg failed",e] end end #./ffmpeg -i 2.mp4 -c:v libvpx-vp9 -crf 35 -b:v 0 -b:a 96k -c:a libopus -filter:v fps=20 output.webm -cpu-used 4 # Describe your gem and declare its dependencies: Gem::Specification.new do |s| s.name = "video_pro" s.version = VideoPro::VERSION s.authors = ["Ruling Digital"] s.email = ["orbit@rulingcom.com"] s.homepage = "http://www.rulingcom.com" s.summary = "Ad Video management" s.description = "Create Video for Orbit" s.license = "MIT" s.metadata = { "_require" => "#{File.expand_path("../app/models/video_pro_setting", __FILE__)}", "global_hash" => "{post_agencies_translations: (VideoProSetting.first.post_agencies_translations rescue {})}" } s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.rdoc"] s.test_files = Dir["test/**/*"] end