Advertisement
pecka

capture.ps1

Mar 22nd, 2013
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. cls
  2. Write-Host "Script started..."
  3. # изменить. путь к директории wolfcamql
  4. $dir_wolfcamql = "D:\junc\soft\wolftrue"
  5. # изменить. путь к папке где будет храниться сжатое видео
  6. $dir_videos = "D:\huff2laga"
  7.  
  8. # не изменять значение. путь к конфигу, запускаемому после загрузки демки
  9. $cfg_gamestart = $dir_wolfcamql+"\wolfcam-ql\gamestart.cfg"
  10. $exe_wolfcam = $dir_wolfcamql+"\wolfcamql.exe"
  11. # изменить cap.cfg на свой конфиг. fs_homepath задаёт домашнюю папку
  12. # теперь видео теперь будет записываться в директорию wolfcamql
  13. $argsO_wolfcam = "+set fs_homepath `""+$dir_wolfcamql+"`" +exec cap.cfg +demo "
  14.  
  15. $demos = @(
  16.   ("dm20.dm_73","04:04-05:01"), # имя демки, время начала и конца момента
  17.   ("dm20.dm_73","06:42-07:12"), # имя демки, время начала и конца момента
  18.   ("dm14.dm_73","03:21-04:21"), # имя демки, время начала и конца момента
  19.   ("dm14.dm_73","04:20-04:55"), # имя демки, время начала и конца момента
  20.   ("p099.dm_73","13:37-14:44")  # имя демки, время начала и конца момента
  21. )
  22.  
  23. foreach ($demo in $demos) # для каждого момента
  24. {
  25.   $time_s = $demo[1].split('-')[0] # время старта записи
  26.   $time_e = $demo[1].split('-')[1] # время конца записи
  27.   # переходим на время старта момента, включаем запись, в конце момента выходим из wolfcamql
  28.   $string_gamestart = "seekclock "+$time_s+"; video avi; at "+$time_e+" quit"
  29.   # пишем сбрасывать статистику в gamestart.cfg
  30.   echo "wcstatsresetall" | Out-File $cfg_gamestart -Encoding default
  31.   # пишем что ещё делать(описано выше) в gamestart.cfg
  32.   echo $string_gamestart  | Out-File $cfg_gamestart -Encoding default -Append
  33.   # добавляем имя демки в аргументы запуска wolfcamql
  34.   $argsM_wolfcam = $argsO_wolfcam+$demo[0]
  35.   # пишем в консоль какие демки и моменты были запущены
  36.   Write-Host "Capturing $demo"
  37.   # запускаем wolfcamql со всеми нужными аргументами для одного момента
  38.   Start-Process $exe_wolfcam -ArgumentList $argsM_wolfcam
  39.   # ждём 30 секунд после запуска wolfcamql
  40.   Start-Sleep -s 30
  41.   # проверяем каждые 30 секунд сколько wolfcamql запущено, если больше 4 (count -ge 4) то ждём 30 секунд и снова проверяем.
  42.   while (@(get-process "wolfcamql").count -ge 4) { Start-Sleep -s 30 }
  43. }
  44.  
  45. # после того как все wolfcamql были запущены проверяем каждые 30 секунд выполняется ли ещё wolcamql, если выполняет то ждём 30 секунд и снова проверяем
  46. while (@(get-process "wolfcamql").count -ge 1) { Start-Sleep -s 30 }
  47. # переносим все .avi файлы в директорию для последующего сжатия
  48. Move-Item $dir_wolfcamql"\wolfcam-ql\videos\*.avi" $dir_videos"\huff"
  49. cd $dir_videos
  50. # запускаем сжатие в кодек lagarith посредством virtualdub
  51. Start-Process main.cmd -Wait
  52. # очищаем gamestart.cfg что бы при просмотре обычном демки wolcamql не начал запись
  53. echo "wcstatsresetall" | Out-File $cfg_gamestart -Encoding default
  54. Write-Host "All done! Press any key to quit..."
  55. $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement