Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Задачи для ffmpeg и медиафайлов активного каталога 
Author Message
Flasher



PostPosted: Tue Apr 19, 2016 01:49    Post subject: Reply with quote

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
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group