71 lines
2.8 KiB
Ruby
71 lines
2.8 KiB
Ruby
$:.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
|