Вы должны войти, чтобы создавать сообщения и темы.

Полезные пункты контекстного меню: конвертирование Видео\Аудио\Изображений | ffmpeg

1◄Страница 4 из 8► 8

Спасибо. Очень годно.

Немного не понял один момент, насчёт функции «удаление звука» для видео. Тот пункт, что с припиской «медленно» пережимает битрейт самого видеофайла, а «моментально» не трогает видео, а просто вырезает аудио дорожку? Если так, то на какие параметры ориентируется режим «медленно» (lossless/lossy)? Сильно ли страдает качество в визуальном плане, либо же оно вовсе не меняется?

Цитата: ЯR от 24.01.2025, 09:45
Цитата: Mikhail от 24.01.2025, 11:28

Господа, спасибо за адаптацию под Win7\Win8.1 (Я немного попробовал, но мне не на чем было проверять и сразу не получилось, поэтому закинул в долгий ящик), а так же за локальные штуки по просьбам пользователей.

Думаю, пункт с нормализацией звука (не только в видео, везде) по своей общей универсальности достоин добавления в мой шелл, однако делать обнову ради него одного я не буду, наберётся\надумается ещё хотя бы пара добавок\исправлений - сделаю обновку. Ну и, как раннее писал, зачастую народу нужны локальные пункты, которые не особо понадобятся остальным, поэтому их логичнее добавлять самому, пусть это немного задалбывает, так как под каждое расширение необходимо писать свою команду.

Лайкнули 𝐓𝐇𝐎𝐑𝐭𝐢𝐤, Misferado и ещё 2
𝐓𝐇𝐎𝐑𝐭𝐢𝐤MisferadoReplaceStringДмитрий

Здравствуйте Bezio!  Большое спасибо за конвектор, очень выручает.  Хотел у вас спросить пару моментов.

Я в основном пользуюсь 2-3 функциями. В частности "Опции-> Cжать в MP4" и конвертация идет силами процессора. 

1 Скажите, а есть возможность конвертировать силами видеокарты? (в системе проц загружен на 99-100%, а видуха простаивает)
2 Хотел еще узнать, а где\как  задаются параметры компрессии?  По умолчанию видео сжимаются хорошо, но есть моменты где качество становиться хуже.
Появилась такая идея, в меню Опции -> Сжать в МР4 добавить кастомную компрессию (если по умолчанию файл компрессится, его можно считать за 100%)  добавить пункт - сжать на 75% - сжать на 50%

 

Здравствуйте, подскажите пожалуйста как добавить gif to mp4 в контекстное меню

В ручную использовал эту команду "ffmpeg -i in.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -vcodec libx264 -an out.mp4", но не знаю как внедрить её в контекстное меню

AkumaRema, Привет.

; ====== gif to mp4 ======
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\gif to mp4]
"icon"="imageres.dll,280"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\gif to mp4\command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -pix_fmt yuv420p -vf \"scale=trunc(iw/2)*2:trunc(ih/2)*2\" -vcodec libx264 -an \"%%~dpni.mp4\"\""

 

Лайкнул AkumaRema
AkumaRema
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

@satirov Большое спасибо! Выручили

Лайкнул Маркиз
Маркиз

Mikhail,  добавил себе в файл но надпись  не отображается. ЯR, .что вписать в AddMenuWin7Fix.cmd чтоб отобразилось

картинка
  если можно объяснить почему надпись не отображается ...

Маркиз, Привет
muiverb надо добавить, я так понял у тебя 7/8 винда?, зайди в батник(открой его блокнотом) и посмотри как сделано, просто добавь запись, куда ты добавил команду, muiverb должен находиться там, куда ты добавил или напиши сюда путь что и куда ты добавил запись, я тебе дам с muiverb новую запись.

Лайкнул Маркиз
Маркиз
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Mikhail, 
; ====== Конвертировать GIF в MP4 ======
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4]
"icon"="imageres.dll,18"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4\command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v copy -c:a aac \"%%~dpni.mp4\"\"

вот так сделал  просто хочется понят почему он так себя ведет.  да 7ка. AddMenuWin7Fix.cmd  открыл но не понимаю такое ощущение что надписи повторяются ( не разбираюсь)

; ----------- GIF ----------------------------------------------------------

; ====== Иконка ======
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\Конвертировать]
"subcommands"=""
"icon"="imageres.dll,18"

; ====== Конвертировать GIF в MP4 ======
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4]
"icon"="imageres.dll,18"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4\command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v copy -c:a aac \"%%~dpni.mp4\"\"

Маркиз, Я так понял тебе код который выше человеку делал, а то ты дал не с тем кодом...

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4]
"icon"="imageres.dll,280"
"muiverb"="MP4"

[HKEY_CURRENT_USER\Software\Classes\SystemFileAssociations\.gif\shell\Конвертировать\shell\MP4\Command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -pix_fmt yuv420p -vf \"scale=trunc(iw/2)*2:trunc(ih/2)*2\" -vcodec libx264 -an \"%%~dpni.mp4\"\""

 

Лайкнули Маркиз и AkumaRema
МаркизAkumaRema
«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Mikhail,  О т м е н н о  .  спасибо

Лайкнул Misferado
Misferado
Цитата: Дмитрий от 21.02.2025, 16:24

1. Скажите, а есть возможность конвертировать силами видеокарты? (в системе проц загружен на 99-100%, а видуха простаивает)
2. Хотел еще узнать, а где\как  задаются параметры компрессии?  По умолчанию видео сжимаются хорошо, но есть моменты где качество становиться хуже.
Появилась такая идея, в меню Опции -> Сжать в МР4 добавить кастомную компрессию (если по умолчанию файл компрессится, его можно считать за 100%)  добавить пункт - сжать на 75% - сжать на 50%

Приветствую, насчёт ГПУ очень разумная идея, но я не думал пока, как такое реализовать, и не будет ли это вызывать проблем в системах на встройке\разных производителях видеокарт... Пока не могу погрузиться в эту тему - нет свободного времени, но возможно во второй половине весны основательно вникну в этот вопрос. Если в теме есть ребята, умеющие передавать FFmpeg-процесс на обработку GPU - напишите хоть чуть-чуть детали, куда копать, это чуть облегчит задачу.

Насчёт разных сжатий - тот пункт чуть ли не единственный от XpucT'а, который я взял абсолютно неизменным и никак не переосмысливал, при этом там достаточно большой блок кода, поэтому не могу сходу сказать, как его модифицировать. Но если кто-то в теме захочет подсказать, как изменить код, то вот примеры оригинала и оформления подпунктов (Только для контекстного меню формата Mp4, для прочих форматов видео надо изменять путь реестра по аналогии)

Оригинал:

Спойлер

; ====== Сжать в MP4 ======
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4]
"icon"="imageres.dll,280"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -crf 22 \"%%~dpni_compressed.mp4\"\""
"SVT-AV1"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v libsvtav1 -rc vbr -cq 35 \"%%~dpni_compressed.mp4\"\""
"AV1 Nvenc"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v av1_nvenc -preset p3 -b_ref_mode middle -rc vbr -cq 35 \"%%~dpni_compressed.mp4\"\""
"Basic"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -crf 22 \"%%~dpni_compressed.mp4\"\""

Вариант с подпунктами:

Спойлер

; ====== Сжать в MP4 ======
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4]
"icon"="imageres.dll,280"
"subcommands"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Слабо 50%]
"icon"="imageres.dll,280"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Слабо 50%\command]
@=*Команда*

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Средне 75%]
"icon"="imageres.dll,280"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Средне 75%\command]
@=*Команда*

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Сильно 100%]
"icon"="imageres.dll,280"

[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4\shell\Сильно 100%\command]
@="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -crf 22 \"%%~dpni_compressed.mp4\"\""
"SVT-AV1"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v libsvtav1 -rc vbr -cq 35 \"%%~dpni_compressed.mp4\"\""
"AV1 Nvenc"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -c:v av1_nvenc -preset p3 -b_ref_mode middle -rc vbr -cq 35 \"%%~dpni_compressed.mp4\"\""
"Basic"="cmd.exe /c \"for %%i in (\"%1\") do ffmpeg -i \"%%~i\" -crf 22 \"%%~dpni_compressed.mp4\"\""

Ну и если уже народ подскажет варианты для команд 50% и 75% сжатия, то перед их внедрением для начала надо удалить старый пункт от XpucT'а:

Спойлер

[-HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\Опции\shell\Сжать в MP4]

Добавить эту строку в текстовик и сохранить как Reg-файл, запустить и старый пункт "Сжать в Mp4" в контекстном меню формата Mp4 должен исчезнуть, чтобы не конфликтовать с новыми.

Лайкнул ReplaceString
ReplaceString
1◄Страница 4 из 8► 8