video_pro/video_pro.gemspec

67 lines
2.6 KiB
Ruby
Raw Normal View History

2023-02-02 06:42:50 +00:00
$:.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)
require 'zip'
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