Skip to content

Instantly share code, notes, and snippets.

@hansgafriedzal
Last active July 18, 2022 03:29
Show Gist options
  • Save hansgafriedzal/02d46fa472ee180e03d3af4ea5c4a415 to your computer and use it in GitHub Desktop.
Save hansgafriedzal/02d46fa472ee180e03d3af4ea5c4a415 to your computer and use it in GitHub Desktop.

ffmpeg

mp3 320k

dir *.mp4 | %{
    ffmpeg -i $_ -f mp3 -ab 320k -vn "$($_.BaseName).mp3"
}

concat .srt

# softsubbing
dir *.mp4 | %{
    ffmpeg `
        -i $_.Name `
        -c:v copy -c:a copy -c:s mov_text `
        ($_.BaseName + ".softsubbed.mp4") -y
}

# concat
dir *.softsubbed.mp4 `
    | %{ "file '$($_.Name)'"} `
    | Out-File mylist.txt -Encoding ascii

ffmpeg -f concat -safe 0 -i mylist.txt -map 0:s:0 output.srt -y

aspect ratio

dir *.mp4 | %{
    ffmpeg -i $_ -aspect 720:540 -c copy "$($_.BaseName)_ar.mp4"
}

rotate

dir *.mp4 | %{
    ffmpeg -i $_ -map_metadata 0 -metadata:s:v rotate="0" -codec copy "$($_.BaseName)_r.mp4"
}

trim

$timestamp = Get-Date -format "yyyyMMddHHmmss"

$filename = ''
$a = '00:48:39.510'
$b = '00:48:41.270'

dir *$filename* | where extension -NotIn .srt, .ass | %{
    $name = $a -replace ':', ''
    $name = $_.BaseName + '.' + $name
    #$name += '_' + $timestamp
    $name += $_.Extension
    ffmpeg -ss $a -i $_ -to $b -c copy -copyts $name
}

combine inputs with delay

ffmpeg -ss 0:0:1.5 -i vid.MOV -i aud.m4a -c copy -map 0:v -map 1:a out.mov

transcode

libx264

ffmpeg -i $_ -c:v libx264 -crf 18 -c:a copy "out\$($_.BaseName)_$($timestamp)_x264video.mp4"

libx265

ffmpeg -i $_ -c:v libx264 -crf 21 -c:a copy "out\$($_.BaseName)_$($timestamp)_x264video.mp4"

aac

ffmpeg -i $_ -c:a aac -b:a 320k "out\$($_.BaseName)_$($timestamp)_aac320k.aac"

deinterlace

ffmpeg -i $_ -vf yadif -c:v libx264 -crf 18 -an -preset slow "out\$($_.BaseName)_$($timestamp)_x264video_deinterlaced.mp4"
ffmpeg -i $_ -vf yadif=1 -c:v libx264 -crf 18 -an -preset slow "out\$($_.BaseName)_$($timestamp)_x264video_deinterlaced.mp4"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment