#!/mod/bin/jimsh package require cgi source /mod/var/mongoose/lib/setup require ts.class pretty_size puts "Content-Type: text/html\r\n\r\n" cgi_input #cgi_dump set tsfile [cgi_get file] set rfile [file normalize $tsfile] set ts [ts fetch $rfile] set dir [file dirname $rfile] set len [$ts duration 1] if {[cgi_get do] eq "it"} { set cropstart [clock milliseconds] set base [file rootname $rfile] set origdir "$dir/_original" if {![file exists $origdir]} { file mkdir $origdir } set shname [file tail $base] puts "Processing $shname" if {[file exists "$origdir/$shname.ts"]} { puts "This recording already exists within _original" puts "Cannot continue." exit } puts "Moving recording to $origdir" foreach f [glob -nocomplain "${base}.*"] { set tail [file tail $f] puts " $tail" file rename $f "$origdir/$tail" } puts [exec /mod/bin/nicesplice \ -in "$origdir/$shname" \ -out "$dir/$shname" \ -cutBookMarks] set newname "$shname-[clock seconds]" puts "Renaming file group to $newname" ts renamegroup "$dir/$shname.ts" $newname exec /mod/bin/hmt "+setfilename=$newname" "$dir/$newname.hmt" set croptime [expr [expr [clock milliseconds] - $cropstart] / 1000.0] puts "Time taken: $croptime" exit } header puts "
File: | $rfile |
---|---|
Length: | [clock format $len -format "%T"] |
Size: | [pretty_size [$ts size]] |
Bookmarks: | [$ts get bookmarks] @ " set flag 0 foreach b [$ts bookmarks] { if $flag { puts -nonewline ", " } incr flag puts -nonewline [clock format $b -format "%T"] } puts " |
File | "
puts " "
proc div {type left right} {
set width $($right - $left)
puts "
$type "
}
set keeping 0
set last 0
set start -1
foreach b [$ts bookmarks] {
if {$start < 0} {
set start $b
continue
}
set end $b
incr keeping $($end - $start)
set left $($start * 500 / $len)
set right $($end * 500 / $len)
div cut $last $($left - 1)
div keep $left $($right - 1)
set last $right
set start -1
}
if {$start > 0} {
incr keeping $($len - $start)
set left $($start * 500 / $len)
div cut $last $($left - 1)
div keep $left 500
} else {
div cut $last 500
}
set keepperc $($keeping * 100.0 / $len)
set esttime $(int($keeping * 0.025))
puts "
|
Keeping: | [clock format $keeping -format "%T"] ([format "%.2f" $keepperc]%) |
Time: | Cropping will take around [clock format $esttime -format "%T"] |