47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/stack-encode/cli.rb', line 47
def encode(*files)
FFMPEG.logger = Logger.new(options[:log_file])
files.each do |source|
unless File.file?(source)
puts "#{source} is not a valid file"
next
end
movie = FFMPEG::Movie.new(source)
dest_format = movie.video_stream ? options[:video_format] : options[:audio_format]
dest_dir = options[:destination] || File.dirname(source)
banner = "Encoding #{File.basename(source)} to #{dest_format.upcase}"
transcoded_movie = movie.transcode(
File.expand_path(
"#{dest_dir}/" + File.basename(source,
File.extname(source)
) + ".#{dest_format}"
)
) { |progress| print_progress(progress * 100, banner) if options[:verbose] }
puts if options[:verbose]
transcoded_movie
end
end
|