AlistRain, методом предварительного редактирования аудиодорожки c последующей ee заменой я умею. Меня интересует именно способность Ависинта сделать это. По-моему, это ему не под силу.
Исправлено: womble, 27.12.2015 15:34
Главная iXBT.com Конференция Блоги Games Видео Market Prosound ПроБизнес РегистрацияВойти | |
womble Member 916/1632 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, методом предварительного редактирования аудиодорожки c последующей ee заменой я умею. Меня интересует именно способность Ависинта сделать это. По-моему, это ему не под силу. Исправлено: womble, 27.12.2015 15:34 |
ganzaris Junior Member 1/1 ответов 9 лет на iXBT, с декабря 2015 | Как-то встретил такое мнение: "Avisynth позволяет осуществлять попиксельное редактирование видео". Скачал, установил, просмотрел документацию и не нашёл подтверждения. Да и вообще странно это для скриптового языка. Как считаете, уважаемые? Может имеется в виду поддержка плагинами? Мне нужно открыть файл, считать значения RGB конкретного пикселя, произвести вычисления и вернуть новые значения. И так по всей матрице. Есть что-либо готовое или нужно писать свой плагин? Исправлено: ganzaris, 27.12.2015 21:52 |
AlistRain Member 23/23 ответов 10 лет на iXBT, с декабря 2014 | womble По-моему, это ему не под силу. Да, Вы правы. |
womble Member 917/1633 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, а почему тогда в этом скрипте source=directshowsource("Concert.mp4") audioright=directshowSource("zvuk.mp3").DelayAudio(1262.720) audioleft=GetChannel(source,2) stereo=MergeChannels(audioleft, audioright) AudioDub(source,stereo) удается вставить сторонний звук в нужном месте с сохранением родной дорожки концерта до и после вставки аудио? Тут просто во вставленном месте левый канал от родной дорожки, а правый от стороннего mp3. Задача - чтоб оба канала были от этого стороннего mp3 (т.е. достаточно лишь подправить приведенный скрипт). |
Fother2 Member 277/283 ответов 13 лет на iXBT, с сентября 2011 Чаще пишет в "Видеозахват" (97%) Россия, Балашиха | AlistRain Пробовали люди уже мыть посуду в стиральной машине, а носки стирали в посудомоечной..ну и т. д. |
AlistRain Member 24/24 ответов 10 лет на iXBT, с декабря 2014 | Fother2 Новый Год же, надо троля покормить. womble Задача - чтоб оба канала были от этого стороннего mp3 Что я Вам и предложил в Обработка видео с помощью AviSynth (Ависинт) (часть 2), #1560 1) Решение в лоб v=directshowsource("Douplex_p65694454.mp4").EnsureVBRMP3Sync#3:32 a=audiodub(v,directshowsource("JohnnyYono_CarolLee-WeWillLive_OriginalCut.mp3").delayaudio(33).EnsureVBRMP3Sync)#2:26 #мои границы фрейм_825(старт замены на 0:33) фрейм_4475(конец замена на 2:59) фреймов_3650(продолжительность замены 2:26) v.trim(0,824)+a.trim(825,4474)+v.trim(4475,0) позволит одновременно обрабатывать видео и звук (для автоматизации на нескольких avs) т.е. достаточно лишь подправить приведенный скрипт Обработка видео с помощью AviSynth (Ависинт) (часть 2), #1564 Ну так правьте. сторонний звук в нужном месте с сохранением родной дорожки концерта Можете смешать с помощью MixAudio на определённом промежутке, но ScriptClip, ConditionalSelect, ConditionalFilter вернут звук тест-клипа, ApplyRange Фильтр некорректно обрабатывает изменение звуковой дорожки, что возвращает нас к комбинации нескольких trim: source=directshowsource("Concert.mp4") mix=audiodub(source,MixAudio(source.killvideo, directshowsource("zvuk.mp3").delayaudio(1262.720), 0.5, 0.5)) source.trim(0,824)+mix.trim(825,4474)+source.trim(4475,0) Вместо 0.5, 0.5 можете усилить оригинальный звук или накладываемый (от 0.0 до 1.0), в trim Ваши значения У меня всё работает. |
womble Member 918/1634 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, хорошо, thanks, будем разбираться. У меня длина сторонней дорожки 4 м. 13 с. 74 мс (192 Кбит/сек, 11164949 samples), вставляется в 1262.720 секунду (00:21:02,72). "Ломаю" голову... Исправлено: womble, 28.12.2015 09:05 |
womble Member 919/1637 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, подставляю свои значения v=directshowsource("Concert.mp4") a=audiodub(v,directshowsource("zvuk.mp3").delayaudio(1262.680) v.trim(0,31566)+a.trim(31567,37910)+v.trim(37911,0) но на черном экране с надписью об ошибке (line 2, column 0) звучит только вставленная аудиодорожка (mp3). Более точное место вставки, кстати, 1262.680 секунда, т.е. 31567-й кадр. А где видео? P.S. Наверное, Avisynth от холода остудило... Исправлено: womble, 08.01.2016 16:04 |
AlistRain Member 25/25 ответов 10 лет на iXBT, с декабря 2014 | Фундаментальный удар в спину скобку забыли a=audiodub(v,directshowsource("zvuk.mp3").delayaudio(1262.680)) я думал Вы сосредоточитесь на скрипте из Обработка видео с помощью AviSynth (Ависинт) (часть 2), #1566 source=directshowsource("Concert.mp4") mix=audiodub(source,MixAudioMixAudio(source.killvideo, directshowsource("zvuk.mp3").delayaudio(1262.720), 0.5, 0.5)) source.trim(0,824)+mix.trim(825,4474)+source.trim(4475,0) как более перспективном для тролинга, а оно вот как вышло. |
womble Member 920/1638 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain скобку забыли А можно, чтобы 500 милисекундную концовку первого родного куска звука видео смикшировать (смешать) со вставляемым аудио (т.е. чтоб она "въехала" в его начало на полсекунды)? И тоже самое - чтоб начало второго родного куска звука видео (оно идет после mp3) вшить на 500 млс в концовку этого стороннего аудио? Вцелом, еще звук в родной дорожке нужно ослабить на 3db (т.е. до и после вставки). Речь о тех же кусках. Исправлено: womble, 08.01.2016 20:57 |
AlistRain Member 26/26 ответов 10 лет на iXBT, с декабря 2014 | womble А можно Даже не представляю, что нас может остановить ([color=gray]кроме модератора[/color]) ослабить на 3db AmplifyDB(-3,-3) - отрицательные значения для уменьшения громкости, например так: v=directshowsource("Douplex_p65694454.mp4").AmplifyDB(-3,-3) т.к. мой второй вариант с MixAudio (равномерное перекрытие по всей длине с одинаковым весом) Вас не заинтересовал, а его засовывание в ApplyRange даст нам Dissolve - затухание одного аудио и нарастание вставляемого, видео одинаковое для переменных v и a не изменится. Ваши 500мс это 13 фреймов, кои можно посчитать автоматически fr=Ceil(0.500*framerate(v)). Эти 13 не только лишь все услышат. Как всегда, проще забить, либо сделать в звуковом редакторе, но если хочется: v=directshowsource("Douplex_p65694454.mp4").AmplifydB(-3,-3)#3:32 a=audiodub(v,directshowsource("JohnnyYono_CarolLee-WeWillLive_OriginalCut.mp3").delayaudio(33))#2:26 #мои границы фрейм_825(старт замены на 0:33) фрейм_4475(конец замена на 2:59) фреймов_3650(продолжительность замены 2:26) v.trim(0,824)+dissolve(v.trim(824+1,824+13),a.trim(825,4474),v.trim(4475-13,0),13) где 13 наши 0,5сек, а dissolve( v.trim(824+1,824+13), первые 13 фреймов полностью сжираемые вторым клипом, ради плавного 0,5сек перехода a.trim(825,4474), второй клип поедающий первый клип и съедаемый третьим v.trim(4475-13,0), третий клип начинающий плавно нарастать в последние 0,5 сек второго клипа 13) - наши ультимативные 13 фреймов У меня всё работает. Хочу заметить, что праздники закончились и начались трудовые будни, а значит Вам нужно поднажать в изучении ависинта (Обработка видео с помощью AviSynth (Ависинт) (часть 2), #1001) - 1.5 года, или уже перестать им пользоваться. |
womble Member 921/1644 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, проверил. Все таки, предварительно отредактированная аудиодорожка (концерта) со вставкой в нее стороннего mp3 дает более четкое решение со звуком. Поэтому, я видимо выберу этот вариант. А еще в одном кадре видео (запись с VHS) тут проскакивает снежинка, т.е. помеха. Хочу заменить этот 34074 кадр на соседний кадр. Попытка вставить прямолинейно картинку в мой скрипт v=directshowsource("Concert.mp4").trim(0,34073)++.IMAGEREADER("kartinka.jpg").trim(34074,34075)++directshowsource("Concert.mp4").trim(34076,81820) a=audiodub(v,directshowsource("zvuk.mp3").delayaudio(1262.680)) v.trim(0,31566)+a.trim(31567,37910)+v.trim(37911,0) натыкается на ошибку line 1, column 50. Если есть решение прямо в VirtualDub, то так было бы для меня даже удобнее, т.к. именно через него я задействую для данного концерта еще пару фильтров (для удаления двух жирных лого). Кстати в VirtualDub-е фильтром logo я могу вставить на место помехи картинку, но она садиться на весь концерт, а мне надо только на 1 кадр. |
AlistRain Member 27/27 ответов 10 лет на iXBT, с декабря 2014 | womble v=directshowsource("Concert.mp4").trim(0,34073)++.IMAGEREADER("kartinka.jpg").trim(34074,34075)++directshowsource("Concert.mp4").trim(34076,81820) можете заменить на s=directshowsource("Concert.mp4") v=s.trim(0,34073) + ImageSource("kartinka.jpg",end=1).ConvertToYV12.assumefps(s) + s.trim(34076,81820) где end=1 Ваши две картинки trim(34074,34075); end=0 - одна картинка; trim(номер кадра, -1) - отрежет только один кадр. Кстати в VirtualDub-е фильтром logo я могу вставить на место помехи картинку, но она садиться на весь концерт, а мне надо только на 1 кадр. http://rutracker.org/forum/viewtopic.php?p=64013136#64013136 MasterNobody: используя только стандартные средства: 1) нужно у фильтра logo поставить Blend (кнопка в диалоге всех выбранных фильтров), тогда у фильтра появиться [B] 2) открыть через меню View\Curve editor панель для настройки кривой бленда 3) добавить для нужного фильтра (выбирается из выпадающего списка) точки задающие процент смешивания на временной шкале в Curve editor (для тех кто не заметил подсказок внизу окна: чтобы добавить точку SHIFT+<клик левой кнопкой>, SHIFT+<клик правой кнопкой> меняет отдельный участок кривой с изогнутой на прямую и обратно). гифка http://i75.fastpic.ru/big/2016/0113/41/4fbdc2697aef8…60409c1059441.gif VDub в теме по VDub. |
womble Member 922/1648 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, это все я проверю. Но я нашел простой метод замены кадра. Просто (как в Word-e), пометил-вырезал клавишей, и потом соседний кадр скопировал-вставил (клавишей). Но в этом случае вставленная дорожка тоже подрезается несмотря на, то что она отдельная и вставлена поверх. Исправлено: womble, 13.01.2016 18:28 |
womble Member 923/1654 ответов 16 лет на iXBT, с мая 2008 Чаще пишет в "Видеозахват" (40%) | AlistRain, что-то не сработал ваш скрипт s=directshowsource("Concert.mp4") v=s.trim(0,34073) + ImageSource("kartinka.jpg",end=1).ConvertToYV12.assumefps(s) + s.trim(34076,81820) Пишет: Avisynth open failure. Splice: one clip has audio and other doesn't (not allowed). То есть, заменяемый кадр не имеет аудио. У меня бракованный кадр 34072. Хочу на его место поставить соседний 34071 кадр или заменить 34072-й на картинку .jpg (или .bmp), вставив ее через фильтр logo. Видимо, скрипт надо подкорректировать, чтобы вставляемая поверх аудиодорожка (отредактирую ее отдельно и открою через Aудио - Wav аудио) осталась независимой (не подрезалась вместе с видео). В этом случае вполне подойдет и вариант, пpиведенный мной постом выше (вырезал ненужный, скопировал и вставил соседний). Но разве можно, вырезав (в VirtualDub-e) видео, не тронуть аудио? Исправлено: womble, 15.01.2016 22:56 |
rococo795 unregistered | Бывают иногда такие файлы wav, которые не могут открывать программы аудиоредакторы... Открывают - а там пустота.... такое бывает чаще, если эти wav, выдернули из видео... я столкнулся с такими файлами... нашёл причину и устранил такой недостаток не прибегая к открытию этих файлов в других программах...(абсолютно не нарушая звук этого файла).. Файлов было несколько а причины были однотипны... Если у кого есть такие файлы - выложите... Для тренировки.. |
MilashkaXY Member 292/848 ответов 12 лет на iXBT, с сентября 2012 Чаще пишет в "Видеозахват" (42%) Россия, Москва, Венёв, Щёкино | Помогите сделать динамический кроп в форагменте видео. Нужно плавно кропать каждый кадр, чтобы переход от исходника в конечный занимал 100 кадров. |
AlistRain Member 28/28 ответов 10 лет на iXBT, с декабря 2014 | womble что-то не сработал ваш скрипт Скрипт-то Ваш, я просто убрал точку (.IMAGEREADER), если бы её изначально не было, ошибка one clip has audio and other doesn't (not allowed) выскочила бы сразу, но ведь так было бы не интересно, не так ли? Можете оформить как s=directshowsource("Concert.mp4") v=aduiodub(s.killaudio.trim(0,34073)+ImageSource("pic.jpg",end=1).ConvertToYV12.assumefps(s)+s.killaudio.trim(34076,81820),s) вставив ее через фильтр logo Я ответил на Ваш вопрос Обработка видео с помощью AviSynth (Ависинт) (часть 2), #1573 с цитированием и гифкой. На этом закончим. |
С_Г Member 2220/4559 ответов, #17 в рейтинге 24 года на iXBT, с февраля 2000 Чаще пишет в "Видеозахват" (36%) Россия, СПБ | Знатоки! Помогите,пожалуйста,открыть 4к.МП4 файлы в Дабе.Файлы HD.mp4 открываются с темже кодеком нормально.Беда в том, что в Ависинте не силен. Спасибо. |
Kisa_AG Member 3632/5675 ответов, #18 в рейтинге 22 года на iXBT, с апреля 2002 2 фото на iXBT.photo Чаще пишет в "Видеозахват" (57%) | С_Г: Похоже, путь к плагину неверный. Полностью скрипт выложи. Kisa_AG Вообще, достаточно просто драг-н-дропнуть avs на поле Даба и он должен открыться "Да,открыться должен,но не открывается" (с) Пишет в окне: Avisynth open failure: LoadPlugin: unable to load "C:\FFms2\ffms2-2.20-icl\x86\ffms2.dll" Module not found. Install missing library? (C:\Program Files (x86)\AviSynth\Examples\4k.avs, line3) Ну и при нажатии"ОК" ничего,ессно, не происходит. |
С_Г Member 2221/4562 ответов, #17 в рейтинге 24 года на iXBT, с февраля 2000 Чаще пишет в "Видеозахват" (36%) Россия, СПБ | Kisa_AG Полностью скрипт выложи Вот: avdir="С:\FFms2\" LoadPlugin(avdir + "ffms2-2.20-icl\x86\ffms2.dll") Import(avdir + "ffms2-2.20-icl\FFMS2.avsi") FFmpegSource2("С0014.mp4", atrack = -1, threads = 1) |
Kisa_AG Member 3633/5676 ответов, #18 в рейтинге 22 года на iXBT, с апреля 2002 2 фото на iXBT.photo Чаще пишет в "Видеозахват" (57%) | С_Г Ну а в папке C:\FFms2\ffms2-2.20-icl\x86\ лежит плагин ffms2.dll то? |
С_Г Member 2222/4563 ответов, #17 в рейтинге 24 года на iXBT, с февраля 2000 Чаще пишет в "Видеозахват" (36%) Россия, СПБ | Kisa_AG Ну конечно лежит! |
Kisa_AG Member 3636/5679 ответов, #18 в рейтинге 22 года на iXBT, с апреля 2002 2 фото на iXBT.photo Чаще пишет в "Видеозахват" (57%) | С_Г А чегож он ругается тогда, что не может его найти? Пропиши путь напрямую, т.е. Loadplugin("путь\имя.длл). И для импорта так же. Первую строку тогда можно будет убрать. |
С_Г Member 2223/4564 ответов, #17 в рейтинге 24 года на iXBT, с февраля 2000 Чаще пишет в "Видеозахват" (36%) Россия, СПБ | Kisa_AG Переписал скрипт так: ;------------------------------------------------ LoadPlugin("C:\FFms2\ffms2-2.20-icl\x86\ffms2.dll") Import("C:\FFms2\ffms2-2.20-icl\FFMS2.avsi") FFmpegSource2("C:\FFms2\C0014.mp4", atrack = -1, threads = 1) ;--------------------------------------------------- Dub выдает: Avisynth open failure: FFIndex:Can't open 'C:\FFms2\C0014.mp4' (C:\FFms2\ffms2-2.20-icl\FFms2.avsi,line31) (C:\Program Files (x86)\AviSynth\Examples\4k.avs,line 4) Добавление от 16.01.2016 19:52: П.С.А то что у меня Даб 32 разрядный,а не 64-это наверное,без разницы? |
Riki Chang Member 263/587 ответов 16 лет на iXBT, с апреля 2008 Чаще пишет в "Видеозахват" (36%) | а можно ли в avisynth преобразовать прогрессив 50p в черезстрочное видео 25i ? (т.е. каждый кадр преобразовать поля) пробовал так: - ничего, прогрессив в 25 к\с. добавлял ConvertToYUY2(interlaced=true) - тоже ничего, прогрессив в 25 к\с. |
Kisa_AG Member 3637/5680 ответов, #18 в рейтинге 22 года на iXBT, с апреля 2002 2 фото на iXBT.photo Чаще пишет в "Видеозахват" (57%) | Riki Chang 50р надо открыть как есть, 50р, после чего добавить одну из строк: AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave() -> если нужно TFF AssumeBFF().SeparateFields().SelectEvery(4, 0, 3).Weave() -> если нужно BFF |
Riki Chang Member 264/588 ответов 16 лет на iXBT, с апреля 2008 Чаще пишет в "Видеозахват" (36%) | Kisa_AG спасибо! работает. |
BB Member 42/181 ответов 18 лет на iXBT, с июля 2006 Чаще пишет в "Видеозахват" (17%) | Прошу помочь в обработке записи с iptv. Фрагмент можно скачать тут. Записывал с помощью IP-TV Player в режиме dump, т.е. прямо как вещает мой провайдер. Фрагмент отрезал в VideoReDo без перекодирования. Не могу понять: видео интерлейсное или не совсем, или как-то криво обработано в процессе перевода, подготовки к вещанию и т.д.? С одной стороны, на крыше музея видна "лесенка", у мужика когда он рассказывает тоже на плечах "лесенка" просматривается. С другой стороны, при движениях виден просто смаз, а не полоски. Получается, что "лесенка" только на границах объектов, да и то не на всех и часто неподвижных. И что с этим делать, можно ли как-то привести в нормальный вид с гладкой картинкой? Пробовал всякие yadif, tdeint, с разными настройками, не помогает. Единственно, что хоть как-то помогло - какой-нибудь вариант blend'а, "зубцы" пропадают, но все замылено, тоже не очень. |