Don't spend your time! The shortest way to re-encode the big number of videos is using ffmpeg and PowerShell! It is the most quick method! You just need only a copy text from NotePad (Ctrl+A and Ctrl+C) and paste it in PowerShell via right buttom of your mouse.
Copy and Paste this:
Get-ChildItem -Path "D:\V (D)\FFMPEG" *.webm -recurse | % {
$newvid = [io.path]::ChangeExtension($_.name, '.mkv')
ffmpeg.exe -y -hide_banner -i $_.FullName `
-c:v h264_nvenc -video_size copy -rc constqp -init_qpP 10 -init_qpB 10 -init_qpI 10 -qp 10 `
-rc-lookahead 32 -bufsize:v 128M -pix_fmt nv12 -profile:v high -preset p7 -tune hq -level 6.2 -coder vlc `
-spatial_aq 1 -temporal_aq 1 -aq-strength 1 `
-c:a aac -ar:a 48000 -b:a 192k -ac:a 2 `
("D:\V (D)\FFMPEG\reencoded_video" + "\" + $newvid)
}
If you need to compile audio-stream and video-stream downloaded from YouTube use it:
ffmpeg -hide_banner -loglevel +repeat+level+info `
-i videoplayback.webm -i videoplayback.weba `
-map '0:v:0' -c:v:0 copy -map '1:a:0' -c:a:0 copy `
-color_primaries bt709 -color_trc bt709 -colorspace bt709 -color_range "tv" `
-metadata title="Youtube_$(get-date -f yyyy-MM-dd_HH-mm-ss)" -metadata comment="Youtube_$(get-date -f yyyy-MM-dd_HH-mm-ss)" `
-f webm "Youtube_$(get-date -f yyyy-MM-dd_HH-mm-ss).webm"
Remove-item videoplayback.webm
Remove-item videoplayback.weba