某ソフトでNHKラジオを録音しているのだけど、一時期だけ設定ミスをして番組後も5時間ほど録音してしまったことが。ということで15分(+30秒)に切る Ruby スクリプトを書いてみた。
そのときに、切り取った後のファイルの変更日/追加日を元のファイルと同じにする設定を加えてみた。
require 'pathname' ARGV.each do |file_path| file_out = file_path.dup file_out[/\.mp3/] = '_trim.mp3' `ffmpeg -y -i #{file_path} -t 930 -acodec copy #{file_out}` pathname_orig = Pathname.new(file_path) pathname_trim = Pathname.new(file_out) pathname_trim.utime(pathname_orig.atime, pathname_orig.mtime) end
もちろん Pathname ライブラリの Pathname#utime を使わなくても(File.utime メソッドで)いいんですが、Pathname ライブラリが好みなので。