# frozen_string_literal: true require 'time' module Evideo # permite analizar/processar videos para arquivo class HRVideo < String # @return [String] tempo: rate: def show return video unless @probe "tempo: #{duration} rate: #{bitrate} ratio: #{ratio} height: #{height}" end # Testa validade video original # # @param [String] aot pasta destino dos videos absoluta # @return [true, false] sim ou nao video esta ok def ofok?(aot) return false unless (bitrate < 3000 && ext == '.mp4') || Time.parse(duration) < Time.parse('00:01:00') return false unless ratio == '16:9' && height > 480 return false unless audio == 0 puts "mv \"#{video} #{aot}/#{base}.mp4\" # #{show}" true end # Testa validade video processado contra video original # # @param [String] file video processado a testar validade # @return [true, false] sim ou nao video esta ok def vfok?(file) return false unless File.exist?(file.video) && file.bitrate < 3000 && Time.parse(file.duration) > Time.parse(duration) - 60 puts "rm \"#{video}\" # #{file.video} #{file.show}" true end # Testa validade videos processados em todos locais contra video original # # @param [Array] ary array locais onde procurar videos # @param [String] pot pasta destino dos videos # @return [true, false] sim ou nao /