View previous topic :: View next topic |
Author |
Message |
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 16:31 Post subject: Avisynth |
|
|
Хочется кнопку такого рода. В неактивной панели выбран видеофайл, а в активной скрипт avs. Добавить в скрипт первой строкой "AviSource ("Полный путь к видеофайлу"). Если выбран только видеофайл, то создать новый avs скрипт с этой строкой. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 18:55 Post subject: |
|
|
Вспомнилось.
Список нужных форматов распиши. И по какому принципу формируется имя .avs при отсутствии.
И что если .avs не под курсором, но есть в папке? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 19:09 Post subject: |
|
|
Имя пусть будет как у видеофайла (без расширения). Форматы avi, divx, mkv, mp4, ts, mpg, mov, flv, asf. Желательно так, чтобы "AviSource" можно было легко поменять на др, напр DirectShowSource, правкой скрипта или указанием прямо в параметрах. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 19:14 Post subject: |
|
|
На последний вопрос не ответил.
Что касается фильтров, то не лучше ли их привязывать к конкретным расширениям? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 19:53 Post subject: |
|
|
Quote: | И что если .avs не под курсором, но есть в папке? |
Тогда ничего. В папке же может быть не один avs, не для всех же скопом менять.
Про привязку не знаю. Может один фильтр будет с конкретным форматом лучше работать, чем с др. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 20:09 Post subject: |
|
|
Code: | '===============================================================================
' Добавление сверху содержимого AVS-скрипта команды фильтра с путём к видеофайлу
' Параметры: "<путь к avs>" "<путь к видео>" <команда фильтра>
' Пример: %V %T%M AviSource
'===============================================================================
With WSH.Arguments
If .Count <> 3 Then MsgBox "Укажите 3 параметра!",_
4144, " Правка (создание) AVS" : WSH.Quit
AVS = .Item(0) : VFile = .Item(1) : Pref = .Item(2)
End With : Str = Pref & "(""" & VFile & """)"
Exs = " asf avi divx flv mkv mov mp4 mpg ts "
With CreateObject("Scripting.FileSystemObject")
If .FileExists(VFile) And InStr(Exs, " " & LCase(.GetExtensionName(VFile) & " ")) Then
If .FileExists(AVS) And LCase(.GetExtensionName(AVS)) = "avs" Then
All = "" : If .GetFile(AVS).Size <> 0 Then All = .OpenTextFile(AVS).ReadAll
If InStr(All, Str) <> 1 Then .OpenTextFile(AVS, 2).Write Str & vbNewLine & All
Else nAVS = .GetParentFolderName(AVS) & "\" & .GetBaseName(VFile) & ".avs"
If Not .FileExists(nAVS) Then .CreateTextFile(nAVS).WriteLine Str
End If
End If
End With |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 20:19 Post subject: |
|
|
Спасибо.
Добавлено спустя 7 минут:
А реально сделать так, чтобы он распознавал по какому-нибудь признаку, есть ли в скрипте ссылка на источник, и если да, заменял её новым путём, а если нет, то просто добавлял новый? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 20:32 Post subject: |
|
|
Что ты понимаешь под ссылкой на источник? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 20:41 Post subject: |
|
|
Ну если, например в avs уже есть AviSource("путь"), FFVideoSource () и т.п можно это определять, и заменять его? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 20:46 Post subject: |
|
|
Можно, конечно. А есть где? На первой строке или на любой? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 20:49 Post subject: |
|
|
Пусть будет на первых двух. Потому что, например, есть такой вариант:
A = FFAudioSource
V = FFVideoSource
Пусть в этом случае обе строки заменяются на одну. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 20:58 Post subject: |
|
|
Так A и V - это две разных переменных, которые, я полагаю, используются в других строках.
Как заменять? Просто удалить и прописать AviSource("путь")?
Какой тогда критерий поиска? Просто искать путь и заменять его в первой строке при совпадении фильтра, в ином случае заменять фильтр или выше новую строку прописывать? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 21:01 Post subject: |
|
|
Quote: | Так A и V - это две разных переменных, которые, я полагаю, используются в других строках |
Да, используются. Третья строка AudioDub(V, A), но это уже можно будет руками убрать. А критерии поиска наверное *Source(*) для первых двух строк. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Dec 19, 2016 21:03 Post subject: |
|
|
Так что делать, если фильтр не совпал? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Dec 19, 2016 21:03 Post subject: |
|
|
Quote: | Просто искать путь и заменять его в первой строке при совпадении фильтра, в ином случае заменять фильтр или выше новую строку прописывать? |
Заменять путь вместе с фильтром. Новую строку прописывать, если не найдено. |
|
Back to top |
|
|
|