#!/usr/bin/tclsh
set ffmpeg [exec which ffmpeg]
puts "ffmpeg = $ffmpeg"
if { [llength $argv] < 2 } {
puts "\n$argv0 n bps\n"
exit -1
}
set fi [lindex $argv 0]
set br [lindex $argv 1]
puts "$fi"
puts "target $br bps"
if { [regexp -all {(.*)\.([mM][pP]3)} $fi a b c] } {
set fo "${b}_${br}bps.$c"
puts "$fi ==> $fo, ext=$c, new bitrate=$br"
set id3 [exec id3v2 -l $fi]
set id3par ""
if { [regexp -line {TIT2.*: (.*)\n} $id3 dummy title c] } { puts Title=$title }
if { [regexp -line {TPE1.*: (.*)\n} $id3 dummy singer c] } { puts singer=$singer }
if { [regexp -line {TALB.*: (.*)\n} $id3 dummy album c] } { puts album=$album }
if { [regexp -line {TYER.*: (.*)\n} $id3 dummy year c] } { puts year=$year }
if { [regexp -line {TCON.*\(([0-9]+)\)\n} $id3 dummy genre c] } { puts genre=$genre }
set cmd "$ffmpeg -threads 16 -y -ab $br -i $fi $fo"
if {![file exists $fo]} {
if { [catch { set res [eval exec $cmd] fid }] } {
#puts stderr "Could not execute $cmd"
if {[info exists fid] } { puts stderr $fid" }
#exit 1
}
}
if {[info exists title]} { append idpar " --TIT2 \"$title\"" }
if {[info exists singer]} { append idpar " --TPE1 \"$singer\"" }
if {[info exists album]} { append idpar " --TALB \"$album\"" }
if {[info exists year]} { append idpar " --TYER \"$year\"" }
if {[info exists genre]} { append idpar " --TCON \"$genre\"" }
set cmd "id3v2 $idpar $fo"
puts $cmd
if { [file exists $fo]} {
eval exec $cmd
}
} else {
puts "Not an MP3 file"
}
Sunday, November 14, 2010
Downsampling MP3 file
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment