Flasher

|
Posted: Tue Apr 19, 2016 01:49 Post subject: |
|
|
Keeper
Code: | '======================================================================
' Склеить выбранные видеофрагменты в файл с именем последнего фрагмента
' Условие: путь запуска пустой
' Параметры: %F "<путь целевого каталога>" "<добавка к базовому имени>"
' Пример: %F "%T" _joined
'======================= Путь к утилите FFmpeg ========================
Prog = """%COMMANDER_PATH%\Utils\FFmpeg\ffmpeg.exe"""
'======================================================================
With WScript.Arguments
Title = " Объединение видео" : C = .Count : If C = 0 Then WScript.Quit
If C <> 3 Then MsgBox "Укажите 3 параметра!", 4144, Title : WScript.Quit
List = .Item(0) : T = .Item(1) : PFix = .Item(2)
End With
Dim WSH : Set WSH = CreateObject("WScript.Shell")
With CreateObject("Scripting.FileSystemObject")
All = .OpenTextFile(List).ReadAll : T = .BuildPath(T, "\")
With New Regexp
.IgnoreCase = True : .Multiline = True : .Global = True
.Pattern = "^.*\.(3g[2p]2?|4xm|avi|asf|dat|dvr-ms|fl[iv]|film" &_
"_cpk|gif|h26[134]|qtm2ts?|m4v|mkv|mo[dv]|mp4|mpe?g|mxf|nuv|" &_
"og[gm]|pva|rm|roq|swf|ts|tp|t[ox]d|vcd|vivo|vob|webm|wmv)(?!\\)$"
If Not .Test(All) Then MsgBox "В выбранном списке нет " &_
"поддерживаемых файлов!", 4144, Space(22) & Title : WScript.Quit
With .Execute(All)
If .Count = 1 Then WScript.Quit
For i = 0 To .Count - 1
S = S & "file '" & .Item(i).Value & "'" & VbCrLf
Next : F = .Item(i - 1).Value End With
End With
With .OpenTextFile(List, 2) : .Write Left(S, Len(S) - 2) : .Close
End With : If WSH.CurrentDirectory & "\" = T Then P = "L" Else P = "R"
BN = .GetBaseName(F) & PFix : Ext = "." & .GetExtensionName(F)
i = 0 : F = BN & Ext
While .FileExists(T & F) Or .FolderExists(T & F)
i = i + 1 : F = BN & " (" & i & ")" & Ext
Wend : F = T & F: WSH.Run Prog & " -f concat -i " & List & " -c copy """ & F & """",0, True
If .FileExists(F) Then WSH.Exec "%COMMANDER_EXE% /S /O /A /" & P & "=""" & F & """ /P=" & P
End With |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Mon May 09, 2016 00:17; edited 2 times in total |
|