Рубрики
Без рубрики

Сжатие видео легко в Windows с файлами ffmpeg и реестра

Я всегда делюсь клипами и видео с друзьями, и часто размер файла смехотворно la … Tagged с производительностью, учебником, Python, Parath.

Я всегда делюсь клипами и видео с друзьями, и часто размер файла смехотворно большой, чтобы отправлять большинство социальных сетей (Discord, Twitter, Telegram и т. Д.). Чтобы обойти эти огромные размеры файлов, я использую FFMPEG для сжатия видео. FFMPEG – очень мощный инструмент для всей вашей обработки медиа. Он имеет тонну библиотек для выполнения различных задач, связанных с визуальными и аудиосипедами.

Предисловие

Используя FFMPEG, мы можем сжимать видео в ~ 10x. Например, если у нас есть 1-минутный и 15-секундный клип, который составляет 1080p 60fps @ 432MB, мы можем использовать простую однострочную команду FFMPEG для сжатия этого видео до ~ 50 МБ. Теперь это позволяет нам отправлять его на множестве разных платформ намного проще.

Перед сжатием:

После сжатия:

Все это время мы почти не теряем качества в видео. Это отличное решение, но это может быть серьезной хлопот открывать ваш терминал каждый раз, когда вы хотите сжимать эти видео. Я подумал, что было бы проще просто сделать правой кнопкой мыши элемент меню, чтобы быстро сжать видео. Я проверил его с видео M4V, MKV и MP4, и это работает безупречно.

Обычно вы можете просто бежать:

ffmpeg -i INPUT_FILE.mp4 -vcodec h264 -acodec aac OUTPUT.mp4

Но никто не хочет набирать это каждый раз. Поскольку у меня уже был сценарий сжатия на питоне FFMPEG, я использовал его в качестве основной программы для запуска.

Получение установки

Вам нужна пара инструментов, чтобы начать. Во -первых, получите Python 3 (предпочтительно выше 3,5). Убедитесь, что у вас также установлен Python3. Посмотрите, как здесь. .

Далее, установите ffmpeg :

scoop install ffmpeg

Убедитесь, что ваши совок на вашем пути! (C: \ users Scoop \ Shims – путь по умолчанию)

Теперь вы готовы начать сжатие!

Создание нашего сценария и щелкнуть правой кнопкой мыши файл реестра

compress.py

Начав вы можете сделать compress.py Поместите и поместите его в любом месте. Я поместил это в C: \ users \ max \ ffmpeg-compress \ compress.py Анкет Содержание этого файла следующим образом:

import sys
from subprocess import run, PIPE
from pathlib import Path

args = sys.argv[1:]
video_file = Path(' '.join(args))
run(['ffmpeg', '-i', video_file.name, '-vcodec', 'h264', '-acodec','aac', video_file.name.replace('.' + video_file.name.split('.')[-1], '-compressed.' + video_file.name.split('.')[-1])])

Пойду линию по линии:

1-3: Импорт наших модулей. Sys Чтобы получить наши аргументы, бежать и ТРУБКА от подпроцесс Чтобы позвонить в нашу команду и получить вывод, и Путь от Pathlib Разобрать и очистить наши строки пути.

4: args Список аргументов, переданный при вызове исполняемого файла (это будет наше имя файла)

5: video_file это объект пути с пройденными аргументами, соединенными как строка

6: бежать([...]) где мы называем ffmpeg исполняемый файл с Python и запустите нашу команду для сжатия.

Compress.bat

Далее вам нужно сделать .bat файл в любом месте на вашем компьютере. Я положил мой @ C: \ users \ max \ compress.bat . Содержимое этого файла:

@echo OFF
SET subject=%*
for %%a in (%*) do set subject=%%a
python C:\\Users\\Max\\ffmpeg-compress\\compress.py %subject%

Пойду линию по линии:

1: @echo off Отключает печать каждой строки в сценарии партии на терминал. Стандарт в партийных сценариях.

2-3: установит все наши аргументы на переменную предмет

4: называет наш сценарий Python с помощью видео в качестве нашего аргумента.

ffmpeg-compress.reg

Наконец, нам нужно сделать файл с именем ffmpeg-compress.reg в любом месте. Мы можем использовать Блокнот для этого. В этом файле вставьте следующее, но замените FilePath для Compress.bat с твоим.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\ffmpeg-compress]
@="Compress File w/ FFMPEG"

[HKEY_CLASSES_ROOT\*\shell\ffmpeg-compress\command]
@="\"C:\\Users\\Max\\compress.bat\" \"%1\""

Секция по разделу:

Для [Hkey_classes_root \*\ shell \ ffmpeg-compress] , мы устанавливаем заголовок нашего кнопки меню правой кнопкой мыши.

Для [Hkey_classes_root \*\ shell \ ffmpeg-compress \ command] , мы настраиваем фактическую командную строку, которую мы хотим, чтобы кнопка запускалась при нажатии.

Вывод

Теперь, когда мы щелкаем правой кнопкой мыши на файле, у нас есть возможность Сжатие с ffmpeg

Теперь это позволит нам легко сжимать видео без необходимости открытия терминала.

Суть доступна с файлами, используемыми в этом здесь:

Почему вы используете Python? Не могли бы вы сделать это в чистой партии?

Я отстой с партией, и мне действительно не нравится иметь дело со странностью, проходящей аргументы и анализируя их. Python для меня просто более удобный язык. Я также могу делать замену строки, а что не проще, и у меня уже был файл Python

Оригинал: “https://dev.to/m4cs/compressing-videos-easily-on-windows-w-ffmpeg-and-registry-files-5fin”