FFmpeg и FFprobe
обработки аудио и видеофайлов

FFmpeg - инструмент обработки аудио и видеофайлов.

FFprobe - инструмент командной строки, часть проекта FFmpeg для анализа мультимедийных файлов.


Установка FFmpeg и FFprobe на Windows для перекодировки видео и аудио:

# ==== КОНВЕРТАЦИЯ ====

# ==== КОНВЕРИТОРОВАТЬ ВСЮ ПАПКУ С ПОДПАПКАМИ И ПОЛОЖИТЬ В ПАПКУ "convert" ====
cd D:\yt-dlp # папка, которую надо конвертировать, там же лежит yt-dlp.exe
Get-ChildItem *.* -recurse | % { ffmpeg.exe -i $_.FullName -s 1280x720 ("convert" + "" +$_.Name) }

# ==== КОНВЕРИТОРОВАТЬ ВСЮ ПАПКУ ====
dir *.* | foreach-object { $newname = $_.Name.Remove($_.Name.Length - $_.Extension.Length) + ".mp4"; ffmpeg.exe -i "$_" -s 720x1280 $newname }

# ==== КОНВЕРТИРОВАТЬ ОДИН ВИДЕОФАЙЛ В АУДИОФАЙЛ ====
ffmpeg -i video.mp4 audio.mp3 # конвертировать один видеофайл video.mp4 в аудиофайл audio.mp3
[System.Media.SystemSounds]::Asterisk.Play() # звук окончания

# ==== КОНВЕРИТОРОВАТЬ ВСЮ ПАПКУ С ВИДЕОФАЙЛАМИ В АУДИОФАЙЛЫ ====
cd D:\yt-dlp\convert\ # папка с видеофайлами, которые надо конвертировать в аудио
dir *.* | foreach-object { $newname = $_.Name.Remove($_.Name.Length - $_.Extension.Length) + ".mp3"; ffmpeg.exe -i "$_" $newname }
[System.Media.SystemSounds]::Asterisk.Play() # звук окончания

# ==== ВЫРЕЗАТЬ ФРАГМЕНТ  ====
cd D:\yt-dlp\convert\ # папка с видеофайлом, у которого нужно вырезать фрагмент
ffmpeg -ss 00:12:30 -to 00:22:45 -i input.mp4 -c copy output.mp4 # вырезать (обрезать) фрагмент

# ==== ФИЛЬТР УДАЛЕНИЯ ПАУЗ В АУДИО  ====
cmd
= [
       "ffmpeg",
       "-i", str(input_path),   # входной файл
       "-ac", "1",              # преобразовать звук в моно (1 канал)
       "-ar", "16000",          # понизить частоту 16 кГц
       "-af",                   "silenceremove=start_periods=1:start_silence=0.3:start_threshold=-35dB:\
detection=peak",                # фильтр для удаления пауз
       str(output_path)
   ]
где:
start_periods
=1 # реагирует на 1ю возникшую паузу
start_silence=0.3 # пауза считается значимой, если длится дольше 0.3 сек
start_threshold=-35dB # всё тише −35 дБ считается тишиной
detection=peak # на основе пикового сигнала в аудио