#!/usr/bin/env ruby require 'json' Dir[File.join(ARGV[0], "videos", "*", "*.mp4")].each do |mp4| # tmp = File.join("/tmp", File.basename(mp4)) tmp = mp4 + "~" print `cp #{mp4} #{tmp}` meta = { "title" => File.basename(mp4, ".mp4").gsub("_", " "), "date" => mp4.split("/")[-2].split("_")[0], "artist" => "pdp8@pdp8.info", "copyright" => "© pdp8@pdp8.info Creative Commons Attribution-ShareAlike 4.0 International License", } tmp = mp4 + "~" print `cp #{mp4} #{tmp}` cmd = "ffmpeg -i #{tmp} -c copy " meta.each do |k, v| cmd += "-metadata #{k}=\"#{v}\" " end cmd += " #{mp4}" print `#{cmd}` webm = mp4.sub(".mp4", ".webm") tmp = webm + "~" print `cp #{webm} #{tmp}` cmd = "ffmpeg -i #{tmp} -c copy " meta.each do |k, v| cmd += "-metadata #{k}=\"#{v}\" " end cmd += " #{webm}" print `#{cmd}` end