summaryrefslogtreecommitdiff
path: root/.config/nushell/dv.nu
blob: e5e382a30e42db9bfa76dda21f45d93500d7d819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export def record [name: string] {
    let location: path = $env.MISCPATH | path join / rawdv $name
    mkdir $location
    cd $location
    dvgrab -a
}

export def collect-to-mp4 [dvdirectory: string, name: string] {
    let location: path = $env.MISCPATH | path join / rawdv $dvdirectory 
    let output_location: path = $env.MISCPATH | path join output
    cd $location
    let file_list = "tmp_file_list.txt"
    ls **/*.dv 
    | get name 
    | each { |path| $"file '($path)'"} 
    | save $file_list
    ffmpeg -f concat -safe 0 -i $file_list -c:v libx264 -crf 23 -preset medium $"($name).mp4"
    mv $"($name).mp4" $output_location
    rm $file_list
}

export def record-and-save [name: string] {
   record $name 
   collect-to-mp4 $name $name
}