![]() |
Цитата:
Классический AviSynth-плагин AutoCrop работает плохо на старом кино из-за шума, виньетирования и пленочного зерна. FFmpeg работает лучше, но его сложно интегрировать в сложный скрипт. Если вам нужна автоматизация, оберните всё в один batch-файл: Полный пайплайн: анализ → парсинг → рендер Шаг 1: Анализ видео ffmpeg -i input.mkv -vf cropdetect=24:16:0 -frames:v 300 -f null - 2> crop_data.txt Шаг 2: Парсинг результатов python parse_crop.py Шаг 3: Рендер через AviSynth ffmpeg -i process.avs -c:v libx264 -crf 18 output.mkv Готово! Это дает вам полный контроль над процессом и позволяет интегрировать FFmpeg-анализ в любой сложный AviSynth-пайплайн. Это "слегонца": |
Для большинства случаев Метод двухпроходный анализ - оптимальный выбор.
|
С аудио, с любыми конвертациями звука и его улучшением всё значительно проще. Не надо пытаться делать сложную обработку звука внутри AviSynth. Он для видео. Для улучшения звука (шумоподавление, нормализация, разделение дорожек) FFmpeg и Python-экосистема на голову выше.
Видео обрабатывает AviSynth, а аудио обрабатывается отдельно через FFmpeg/Python, и в конце они склеиваются (ремукаются). Современные версии FFmpeg имеют встроенные мощные аудиофильтры. Пример команды (все в одной строке): Код:
ffmpeg -i input.mkv -c:v copy -af "loudnorm=I=-16:TP=-1.5:LRA=11, afftdn=nf=-25" -c:a aac -b:a 192k output.mkv-c:v copy - видео копируется без перекодирования (мгновенно). loudnorm - профессиональная нормализация громкости по стандарту EBU R128 (делает звук равномерным, как на ТВ/стриминге). afftdn=nf=-25 - встроенный в FFmpeg спектральный шумодав (чем меньше число, тем агрессивнее подавление). -c:a aac -b:a 192k - конвертация аудио в качественный AAC. Продвинутое улучшение через Python + ML (Для архивов и реставрации): Если звук старый, с шипением, гулом или нужно выделить голос (например, для реставрации старого фильма), FFmpeg-фильтров может не хватить. Здесь на помощь приходит Python. ... Извлечение звука: ffmpeg -i input.mkv -vn -c:a pcm_s16le temp_audio.wav Обработка в Python: Для удаления шума: библиотека noisereduce или RNNoise (очень легкая нейросеть, отлично чистит речь). Для разделения голоса и музыки/шума: библиотека demucs (от Meta) или spleeter. Она может вытащить чистый диалог из старой записи с фоновым гулом проектора. Сборка: ffmpeg -i video_from_avisynth.mkv -i cleaned_audio.wav -c:v copy -c:a flac final_output.mkv import soundfile as sf import noisereduce as nr # 1. Загружаем аудио data, rate = sf.read("temp_audio.wav") # 2. Применяем шумоподавление (предполагаем, что это речь) reduced_noise = nr.reduce_noise(y=data, sr=rate, prop_decrease=0.8) # 3. Сохраняем очищенный звук sf.write("cleaned_audio.wav", reduced_noise, rate) Кратко о параметрах: prop_decrease=0.8 - степень подавления шума (от 0 до 1), 0.8 - сильное, но не искажающее речь подавление. stationary=True/False - если шум постоянный (например, вентилятор), лучше stationary=True. Если меняется - оставьте False. Третий уровень это Идеальный гибридный пайплайн (AviSynth + FFmpeg) Batch-скрипт (Windows) для автоматизации: set INPUT_VIDEO=input.mkv set AVS_SCRIPT=script.avs set TEMP_AUDIO=temp_audio.wav set FINAL_AUDIO=final_audio.flac set OUTPUT=final_result.mkv [1/4] Извлекаем исходный звук без потерь... ffmpeg -y -i "%INPUT_VIDEO%" -vn -c:a pcm_s16le "%TEMP_AUDIO%" [2/4] Улучшаем звук (нормализация + легкий шумодав)... ffmpeg -y -i "%TEMP_AUDIO%" -af "loudnorm=I=-16:TP=-1.5, afftdn=nf=-20" -c:a flac "%FINAL_AUDIO%" [3/4] Обрабатываем видео через AviSynth (без звука, чтобы сэкономить ресурсы)... :: Важно: в самом .avs скрипте используйте KillAudio(), если звук там не нужен ffmpeg -y -i "%AVS_SCRIPT%" -c:v libx264 -crf 18 -preset slow -an temp_video.mkv [4/4] Склеиваем обработанное видео и улучшенный звук... ffmpeg -y -i temp_video.mkv -i "%FINAL_AUDIO%" -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 "%OUTPUT%" Готово Результат в "%OUTPUT%" |
Да, аудио проще. Вам не нужно изобретать велосипед или писать сложные мосты (avs-virtual-bridge) для аудио. Просто позвольте AviSynth делать то, что он умеет лучше всего (видео-фильтры), а всю грязную работу со звуком делегируйте одной команде FFmpeg или легкому Python-скрипту перед финальным ремуком.
Цитата:
|
ffmpeg действительно является мощнейшим инструментом, способным заменить целый набор программ, включая XviD4PSP, Adobe Audition и даже часть функционала DaVinci Resolve, особенно если речь идёт о стандартной постобработке. Один проход → нет временных файлов → меньше нагрузки на диск и память. Полный контроль через командную строку → можно сохранять шаблоны под разные задачи.
Если упал FPS при обработке видео - это почти всегда связано с нагрузкой на процессор, видеокарту или диск, особенно на слабом ноутбуке. В XviD4PSP придется переключаться с макс-качества на умеренную нагрузку. Железо не резиновое. А ffmpeg позволяет гибко балансировать между скоростью и качеством. |
FPS упал и Славе Боброву надо отдавать чистить или оптимизировать, фильмов вы получите на форуме меньше. Так что делать-то? Не надо грузить систему лишним. Аудиоконвертерами, их там аж 5–7 штук, Неркой (пакетами для записи болванок) и всем тяжеленным. И тем более грузить беспонтовым.
Форум создан для помощи и обсуждений. А скачать блюреи-оригиналы мы все и так легко можем. У Селезня у любого аиста. :) Посмотрели и стёрли, если опять надо смотреть, заново качнули. Кто хранит-то.) Если всё хранить 555 аккаунтов терабокса не хватит. Тем более, как показала практика, вы там с трудом можете найти что-либо и поставить галочку. |
Новый анекдот https://www.vsetutonline.com/forum/s...t=31&page=1068
Сомневается как-то Денис Попов в возможностях FFmpeg. Сидит, потеет: чёрные полосы пытается обрезать через три разных видеоредактора, звук чистит отдельной утилитой, а потом всё это склеивает через AviSynth. Но скрипт падает, аудио рассинхронизируется, полосы так и остались, а Python-скрипт для анализа выдал ошибку памяти. Машет рукой Денис: — Да ну его, этот ваш FFmpeg! Говорят, он всё может, а я уже четвёртый час мучаюсь, и толку ноль! Тут в кабинет заходит Шурик Пронкин. Смотрит на страдания Дениса, молча отодвигает его от клавиатуры, открывает терминал и печатает одну строчку: ffmpeg -i input.mkv -vf "cropdetect=24:16:0, crop" -af "loudnorm=I=-16, afftdn=nf=-25" -c:v libx264 -c:a aac output.mkv Нажимает Enter. Через полминуты на диске появляется идеальный файл: без чёрных полос, с чистым, выровненным по стандарту звуком и в нужном формате. Денис в шоке: — Шурик, да ты же колдун! Откуда ты знаешь все эти флаги и как это вообще работает?! Шурик спокойно делает глоток кофе, закрывает ноутбук и говорит: — Денис, FFmpeg в тебе не сомневается. Это ты в нём сомневаешься. А теперь иди читай документацию, а то я тебе ещё и avs-virtual-bridge настрою, и ты совсем работу потеряешь. (P.S. Шурик именно это и сделал, потому что настоящая магия начинается там, где заканчивается страх перед консолью). |
Собрался как-то чукча-писатель в Москву к известному писателю скриптов Шурику Пронкину. Чукча немного научился писать (посты в полкилометра на чукотско-корякском диалекте), а читать пока нет.
Приезжает в Москву, находит Шурика, достаёт тетрадку: — Шурик, я тут скрипт написал. Для FFmpeg. Ты посмотри, может, поможешь запустить. Шурик открывает тетрадку, смотрит - там каракули, кривые строчки, вместо -vf написано -vф, вместо cropdetect — "кропдетект", а в конце приписка: "работает только если верить". Шурик удивлённо: — Чукча, а ты этот скрипт вообще-то читал? Чукча гордо так выпячивает грудь: — Нет, Шурик. Я — писатель. Я только пишу. Шурик вздыхает, закрывает тетрадку: — Ну тогда слушай внимательно. Твой скрипт я прочитать могу. А вот FFmpeg — нет. Он, в отличие от тебя, ещё и читатель. И он тебе сейчас такое выдаст в консоли, что ты сам себе писателем покажешься. Чукча задумался, потом спрашивает: — Шурик, а если я скрипт не писать буду, а сразу в консоль печатать — это уже не писательство? Шурик усмехается: — Это, брат, уже называется "отладка". И поверь, после неё ты не только читать научишься, но и плакать. (Шурик Пронкин — не просто писатель скриптов, он ещё и их читатель. А это уже высший пилотаж.) |
Собрались как-то форумчане-энтузиасты оцифровывать коллекцию старых DVD и Blu-ray в модный HEVC (x265).
Решили идти в ногу со временем: загнали всё в Topaz Video AI, выставили максимальные настройки «Proteus Enhance», добавили нейросетевой шарпинг и сдампали в 10-битный HEVC. Сидят, смотрят на монитор и в ужасе хватаются за головы. На экране вместо живых актёров — синевато-красные восковые лица, кожа гладкая, как у силиконовой куклы из секс-шопа, микро-контраст вылизан под ноль, а в глазах персонажей — абсолютная, мёртвая пустота, как у восковых фигур в музее мадам Тюссо после потопа. — Ну и где магия ИИ?! — вопит один из форумчан. — Мы же хотели «как в кино», а получили «цифровой труп в 4K»! Лицо главного героя переливается, как мыльный пузырь, а фон превратился в акварельную кашу! Тут в комнату заходит Шурик Пронкин. Смотрит на монитор. Молча берёт пульт, ставит видео на паузу на крупном плане лица. — Вы не видео апскейлили, коллеги, — спокойно говорит Шурик. — Вы его забальзамировали. — Но это же передовой ИИ Тоpаz! 444,99 $ ! — оправдываются форумчане. — Он сам всё улучшил! — Вот именно, что «сам», — вздыхает Шурик. — ИИ увидел плёночное зерно и естественную текстуру кожи и решил, что это «шум» и «дефекты». Он старательно выскрёб всю душу из кадра, заменив её пластиковой гладью. А ваш x265, увидев эту однородную wax-поверхность, с удовольствием съел остатки микро-контраста и превратил градиенты в бэндинг. Вы получили не реставрацию, а цифровой труп, который ещё и весит 50 гигабайт. Шурик подходит к клавиатуре, открывает блокнот и за минуту набрасывает короткий скрипт на AviSynth: # Возвращаем жизнь мертвецу src = Last # Аккуратный, классический апскейл без галлюцинаций upscaled = src.nnedi3_rpow2(2, cshift="Spline36Resize") # Самое главное: возвращаем естественную текстуру, которую съел ИИ final = upscaled.AddGrain(var=1.2, uvar=0.8, vvar=0.8) return final Запускает. На экране лицо актёра становится чуть менее «гладким», но зато обретает объём, естественный цвет и, главное, в глазах снова появляется живой блик, а не артефакт нейросети. Форумчане в изумлении: — Шурик, это что, какая-то новая нейросеть? Какая модель? Сколько весит? Где скачать? Шурик закрывает блокнот, надевает куртку и бросает через плечо: — Это модель «Здравый Смысл v1.0». Она не требует RTX 4090, не галлюцинирует синими рожами и работает даже на калькуляторе. Запомните: задача реставрации — не угадать, чего не было, а сохранить то, что есть. ИИ пытается нарисовать вам новую кожу, а хороший скрипт просто не даёт энкодеру её сожрать. (P.S. С тех пор на форуме раздел «AI Upscaling» переименовали в «Отделение реанимации», а Шурика Пронкина назначили главным патологоанатомом цифровых артефактов). |
| Часовой пояс GMT +3, время: 07:37. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot