Полезные пункты контекстного меню для mp4 | ffmpeg
Цитата: Mikhail от 15.04.2026, 17:444UBAKA, Так винда сама назначает дату, ее никак не оставить прежней, возможно можно как то оставлять дату или править ее после обработки, но геморойно я думаю)
4UBAKA, Так винда сама назначает дату, ее никак не оставить прежней, возможно можно как то оставлять дату или править ее после обработки, но геморойно я думаю)
Цитата: 4UBAKA от 21.04.2026, 01:08Всем привет🖖
По дате создания и изменения
Нашёл, точнее ИИ нянька от гугла подсказала, утилиту - BulkFileChanger от Nirsoft. Удобная, особенно за не имением другого.
Но, нянька и про PowerShell говорила, типа пара команд решает вопрос назначения этих датДля даты создания:
$(Get-Item "C:\путь\к\файлу.txt").CreationTime = "01.01.2024 12:00"
Для даты изменения:
$(Get-Item "C:\путь\к\файлу.txt").LastWriteTime = "01.01.2024 12:00"Возможно это как-то применить в этом регфайле, что бы даты не менялись и сохранялись прежними?
Заранее спасибо за внимание🖖
Всем привет🖖
По дате создания и изменения
Нашёл, точнее ИИ нянька от гугла подсказала, утилиту - BulkFileChanger от Nirsoft. Удобная, особенно за не имением другого.
Но, нянька и про PowerShell говорила, типа пара команд решает вопрос назначения этих дат
Для даты создания:Скопировано
$(Get-Item "C:\путь\к\файлу.txt").CreationTime = "01.01.2024 12:00"
Для даты изменения:Скопировано
$(Get-Item "C:\путь\к\файлу.txt").LastWriteTime = "01.01.2024 12:00"
Возможно это как-то применить в этом регфайле, что бы даты не менялись и сохранялись прежними?
Заранее спасибо за внимание🖖
Цитата: Mikhail от 21.04.2026, 02:044UBAKA, Привет.
Это надо создавать powershell скрипт где-то на компе отдельно, подключать его в реестре, то есть запуск powershell, а скрипт там уже делает свое дело.
В общем:
Создаешь txt, вставляешь в него это ⬇️ и меняешь расширение на ps1param( [string]$src ) $dst = "$src.mp4" $ctime = (Get-Item $src).CreationTime $mtime = (Get-Item $src).LastWriteTime ffmpeg -i "$src" -map_metadata 0 -crf 22 "$dst" (Get-Item $dst).CreationTime = $ctime (Get-Item $dst).LastWriteTime = $mtimeЭто для Оригинального сжатия, не 720, для 720, тоже самое, только код внутри ffmpeg смени на 720-ый и все.
Далее в reg файле кусок, который отвечает за сжатие меняем на:
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\FFmpeg\shell\Сжать MP4\shell\Оригинал\command]
@="powershell.exe -ExecutionPolicy Bypass -File \"C:\\Users\\Admin\\Desktop\\Data.ps1\" \"%1\""Путь до ps1 файла замени на свой.
4UBAKA, Привет.
Это надо создавать powershell скрипт где-то на компе отдельно, подключать его в реестре, то есть запуск powershell, а скрипт там уже делает свое дело.
В общем:
Создаешь txt, вставляешь в него это ⬇️ и меняешь расширение на ps1
param(
[string]$src
)
$dst = "$src.mp4"
$ctime = (Get-Item $src).CreationTime
$mtime = (Get-Item $src).LastWriteTime
ffmpeg -i "$src" -map_metadata 0 -crf 22 "$dst"
(Get-Item $dst).CreationTime = $ctime
(Get-Item $dst).LastWriteTime = $mtime
Это для Оригинального сжатия, не 720, для 720, тоже самое, только код внутри ffmpeg смени на 720-ый и все.
Далее в reg файле кусок, который отвечает за сжатие меняем на:
Скопировано[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.mp4\shell\FFmpeg\shell\Сжать MP4\shell\Оригинал\command]
Скопировано@="powershell.exe -ExecutionPolicy Bypass -File \"C:\\Users\\Admin\\Desktop\\Data.ps1\" \"%1\""
Путь до ps1 файла замени на свой.
Цитата: 4UBAKA от 02.05.2026, 21:59Всем привет🖖
МИР ТРУД МАЙ )))
Mikhail, большое Вам спасибо за внимание и помощь!
С оригинальным размером всё получилось. А вот с 720 кадром не совладал(((1 - этот код для 720 кадра работает, скопировал правильно, судя по всему )))
2 - скопировал (перенёс), если правильно понял что и как в скрипт ps1.
3 - указал путь в регфайле ( для оригинального размера работает, для 720 не хочет)Подскажите, пожалуйста, что не так делаю.
Заранее спасибо за внимание 🖖
Всем привет🖖
МИР ТРУД МАЙ )))
Mikhail, большое Вам спасибо за внимание и помощь!
С оригинальным размером всё получилось. А вот с 720 кадром не совладал(((
1 - этот код для 720 кадра работает, скопировал правильно, судя по всему )))
2 - скопировал (перенёс), если правильно понял что и как в скрипт ps1.
3 - указал путь в регфайле ( для оригинального размера работает, для 720 не хочет)
Подскажите, пожалуйста, что не так делаю.
Заранее спасибо за внимание 🖖
Цитата: Mikhail от 03.05.2026, 03:334UBAKA, Привет.
Такой попробуй.param([string]$src) $src = $src -join "" $base = [System.IO.Path]::GetFileNameWithoutExtension($src) $dir = [System.IO.Path]::GetDirectoryName($src) $dst = Join-Path $dir ($base + "_720p.mp4") $ctime = (Get-Item $src).CreationTime $mtime = (Get-Item $src).LastWriteTime ffmpeg -i "$src" -map_metadata 0 -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" -crf 22 "$dst" (Get-Item $dst).CreationTime = $ctime (Get-Item $dst).LastWriteTime = $mtime
4UBAKA, Привет.
Такой попробуй.
param([string]$src) $src = $src -join "" $base = [System.IO.Path]::GetFileNameWithoutExtension($src) $dir = [System.IO.Path]::GetDirectoryName($src) $dst = Join-Path $dir ($base + "_720p.mp4") $ctime = (Get-Item $src).CreationTime $mtime = (Get-Item $src).LastWriteTime ffmpeg -i "$src" -map_metadata 0 -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" -crf 22 "$dst" (Get-Item $dst).CreationTime = $ctime (Get-Item $dst).LastWriteTime = $mtime
Цитата: 4UBAKA от 04.05.2026, 18:40Всем привет🖖
Mikhail, не получилось для 720 конвертировать с сохранением даты создания/изменения.На втором, более мощном ноуте, тоже протестировал:
- "оригинал" работает, и, что особенно заметил - окно хода выполнения - это окно PowerShel (синее окно)
- "720" тоже стал работать, но окно выполнения - чёрное, при этом дата создания/изменения новаяНа слабом ноуте, на работе, проверю есть ли разница эта. До этого вообще окно выполнения процесса могло не открываться. Появлялось и сразу закрывалось, это про "720" формат было, потому не могу сейчас точно сказать PS(синее) или CMD(чёрное) было.
Т.е сейчас получилось только для "оригинала" на двух ноутах - оба на 10ке (домашняя и профи) настроить сжатие с сохранением даты создания/изменения.
"720" формат пока не смог.Может я что не так делаю? ... на что обратить внимание или какие скриншоты дополнительно сделать?
Большое спасибо за ваше внимание и помощь в решении вопроса!🖖
Всем привет🖖
Mikhail, не получилось для 720 конвертировать с сохранением даты создания/изменения.
На втором, более мощном ноуте, тоже протестировал:
- "оригинал" работает, и, что особенно заметил - окно хода выполнения - это окно PowerShel (синее окно)
- "720" тоже стал работать, но окно выполнения - чёрное, при этом дата создания/изменения новая
На слабом ноуте, на работе, проверю есть ли разница эта. До этого вообще окно выполнения процесса могло не открываться. Появлялось и сразу закрывалось, это про "720" формат было, потому не могу сейчас точно сказать PS(синее) или CMD(чёрное) было.
Т.е сейчас получилось только для "оригинала" на двух ноутах - оба на 10ке (домашняя и профи) настроить сжатие с сохранением даты создания/изменения.
"720" формат пока не смог.
Может я что не так делаю? ... на что обратить внимание или какие скриншоты дополнительно сделать?
Большое спасибо за ваше внимание и помощь в решении вопроса!🖖
Цитата: Mikhail от 05.05.2026, 01:434UBAKA, Привет.
Все работает, я проверял перед тем как выложить, Gif записал.
4UBAKA, Привет.
Все работает, я проверял перед тем как выложить, Gif записал.
Цитата: 4UBAKA от 06.05.2026, 19:55Всем привет🖖
Mikhail, спасибо за помощь!
На слабом ноуте, пока только на нём, сегодня, получилось запустить и 720 формат. Окно выполнения PowerShel (синее)
Не знаю что не так делал на другом ноуте, тот поновее и помощнее. Проверю позже. Сегодня нет к нему доступа.Если не затруднит, можете ещё подсказать ещё нюансик один )))
Проверял на одном не большом видео и заметил, что выходной файл, на оригинале, да и на других файлах замечал такое, что "сжатый" файл чуть больше или даже не совсем "чуть", например, вместо входного 230Мб на выходе около 280 получается. По данным файла понял что это битрейт ("скорость передачи данных" и "общая скорость потока") стали по значениям больше.Как-то можно это понять перед конвертированием, что бы не терять время?
Можно как-то этим управлять и что кроме запроса к ИИ няньке гугла - "битрейт и как им управлять в FFmpeg" можно и полезно посмотреть?
Может что-то в рамках этого решения "простое" дополнение есть? Если, конечно, я правильно понял этот нюанс.Ещё раз спасибо вам за помощь и внимание🖖
....оооочень большое спасибо !!!! )))
Всем привет🖖
Mikhail, спасибо за помощь!
На слабом ноуте, пока только на нём, сегодня, получилось запустить и 720 формат. Окно выполнения PowerShel (синее)
Не знаю что не так делал на другом ноуте, тот поновее и помощнее. Проверю позже. Сегодня нет к нему доступа.
Если не затруднит, можете ещё подсказать ещё нюансик один )))
Проверял на одном не большом видео и заметил, что выходной файл, на оригинале, да и на других файлах замечал такое, что "сжатый" файл чуть больше или даже не совсем "чуть", например, вместо входного 230Мб на выходе около 280 получается. По данным файла понял что это битрейт ("скорость передачи данных" и "общая скорость потока") стали по значениям больше.
Как-то можно это понять перед конвертированием, что бы не терять время?
Можно как-то этим управлять и что кроме запроса к ИИ няньке гугла - "битрейт и как им управлять в FFmpeg" можно и полезно посмотреть?
Может что-то в рамках этого решения "простое" дополнение есть? Если, конечно, я правильно понял этот нюанс.
Ещё раз спасибо вам за помощь и внимание🖖
....оооочень большое спасибо !!!! )))
Цитата: Mikhail от 07.05.2026, 02:374UBAKA, Привет.
Как-то можно это понять перед конвертированием, что бы не терять время?
Думаю через ffprobe можно скорей всего, сверять битрей и т.д., только зачем, просто выставь настройки нужные конвертации все.
4UBAKA, Привет.
Как-то можно это понять перед конвертированием, что бы не терять время?
Думаю через ffprobe можно скорей всего, сверять битрей и т.д., только зачем, просто выставь настройки нужные конвертации все.
Цитата: Андрей от 21.05.2026, 10:08Добрый день.
Кто-нибудь пережимал видео с HDR?
Пробовал вчера пережать фильм AV1 с HDR и после пережатия картинка фиолетовая получается.
Этот же фильм без пережатия нормально воспроизводится в MPC HC.Может какой-то аргумент для сжатия надо добавить?
Добрый день.
Кто-нибудь пережимал видео с HDR?
Пробовал вчера пережать фильм AV1 с HDR и после пережатия картинка фиолетовая получается.
Этот же фильм без пережатия нормально воспроизводится в MPC HC.
Может какой-то аргумент для сжатия надо добавить?
Цитата: Mikhail от 21.05.2026, 11:00Андрей, Привет.
Пожимал парочку видео, вроде норм на стандарте пережимал, показывает нормально ¯\_(ツ)_/¯, в ffmpeg нарыл есть такие аргументы.
-color_primaries 9 -color_trc 16 -colorspace 9 -pix_fmt yuv420p10leА тот файл у тебя фиолетовый остался?, седлай на него проверку
ffprobe -show_streams "hdr.mp4" | findstr color, там должно быть что-то типаyuv420p10le(tv, bt2020nc/bt2020/smpte2084) и color_space=bt2020nc, color_transfer=smpte2084, color_primaries=bt2020, значит hdr перенеся.
Андрей, Привет.
Пожимал парочку видео, вроде норм на стандарте пережимал, показывает нормально ¯\_(ツ)_/¯, в ffmpeg нарыл есть такие аргументы.
Скопировано-color_primaries 9 -color_trc 16 -colorspace 9 -pix_fmt yuv420p10le
А тот файл у тебя фиолетовый остался?, седлай на него проверку Скопированоffprobe -show_streams "hdr.mp4" | findstr color, там должно быть что-то типа Скопированоyuv420p10le(tv, bt2020nc/bt2020/smpte2084) и color_space=bt2020nc, color_transfer=smpte2084, color_primaries=bt2020, значит hdr перенеся.
Цитата: Андрей от 21.05.2026, 11:42Mikhail, Привет.
Вот такая информация при проверке.
Вот кусочек видео, которое я хотел ужать.
Mikhail, Привет.
Вот такая информация при проверке.
Вот кусочек видео, которое я хотел ужать.
Цитата: Mikhail от 21.05.2026, 13:16Hdr да нет, неперенеся, ты мне скинул уже покрашенный я так понял, а скинь нормальный кусок.
Hdr да нет, неперенеся, ты мне скинул уже покрашенный я так понял, а скинь нормальный кусок.
Цитата: Андрей от 21.05.2026, 14:19Mikhail, это не покрашенный.
Вот скрин из MPC HC данного видео. В MPC HC должен быть включен его рендерер.
Mikhail, это не покрашенный.
Вот скрин из MPC HC данного видео. В MPC HC должен быть включен его рендерер.