webif/webif/html/browse/audio/audio.jim

62 lines
1.3 KiB
Tcl
Executable File

#!/mod/bin/jimsh
package require cgi
source /mod/webif/lib/setup
require ts.class system.class settings.class
jqplugin progressbar
jscss audio.js
header
set s [settings]
set slow [$s audiomp3]
set type [$s audiomp3descr $slow]
set rfile [cgi_get file]
set ts [ts fetch $rfile]
set dir [file dirname $rfile]
set len [$ts duration 1]
# guess output size based on video file size
set asize [$ts size]
# using slight overestimates of typical audio:video size ratio
if {[$ts get mpeglevel] eq 4} {
if {$slow} { # aac-> mp3
set asize [expr $asize*0.12]
} else { # aac-> loas
set asize [expr $asize*0.09]
}
} else { # mp2 -> mp[23] (similar)
set asize [expr $asize*0.07]
}
puts "
<fieldset class=cleft>
<legend>Audio Extraction</legend>
<table class=keyval cellpadding=5>
<tr><th>File:</th><td>$rfile</td></tr>
<tr><th>Length:</th><td>[clock format $len -format "%T"]</td></tr>
</table>
<span class=hidden id=params
dir=\"[cgi_quote_url $dir]\"
rfile=\"[cgi_quote_url $rfile]\"
asize=\"[cgi_quote_url $asize]\"
></span>
<div id=audiodiv style=\"padding: 1em\">
<button id=audioit>Perform audio extraction - $type</button>
</div>
<button id=back>Back to media list</button>
<div id=progressdiv class=hidden>
Extracting audio: <div id=progressbar></div>
</div>
<div id=output class=pre style=\"margin-top: 10px\"></div>
</fieldset>
"