Страница 3 из 10

Добавлено: Вт янв 15, 2013 19:01
Flasher
cojoc
Ссылка с редиректом. Посмотрел в закромах, есть консольная спецпрога cclive, но как-то она криво работает.
Я бы взял IP-TV Player, там нормальный планировщик.
wget по PID-у убивать можно, но присутствие консоли мне не нравится.
Поток можно получать скриптом и без сторонних утилит, но вот спецфункции для прерывания выявить пока не удалось.

Добавлено: Сб янв 19, 2013 01:32
cojoc
Flasher
Про IP-TV Player знаю (не пробовал его использовать), он основан на vlc, который тоже записывает, правда без планировщика, но у меня не сильное железо и при показе картинки происходят сбои - поэтому они мне не подходят для записи.
Во общем, я пока остановился на планировщике виндовс и во-вторых на кнопке запуска записи потока и закрытия вручную wget.
Спасибо за помощь ещё раз :)

Добавлено: Сб янв 19, 2013 13:31
Flasher
cojoc писал(а): но у меня не сильное железо и при показе картинки происходят сбои - поэтому они мне не подходят для записи.
Вообще-то в IP-TV Player есть запись в фоне (помимо прочих).
cojoc писал(а):Во общем, я пока остановился на планировщике виндовс и во-вторых на кнопке запуска записи потока и закрытия вручную wget.
И какой смысл самому чего-то кликать, если планировщик сам должен выполнять эти функции? :?

Добавлено: Вс янв 20, 2013 02:29
cojoc
Flasher
Кнопочка получилась только для экстренной и незапланированной записи, поэтому в ручную, а планировщик windows для отложенной.
Спасибо за уточнение об IP-TV Player.
:)

Добавлено спустя 2 минуты:

Да планировщик сам отключает wget когда указано.

Добавлено: Сб янв 26, 2013 16:54
Flasher
cojoc
Сделал с wget. Попробуй.
Могут быть проблемы с битыми или неподдерживаемыми ссылками.

Код: Выделить всё

'•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
' Скачивание онлайн-потока с помощью wget

' Параметры:  <ссылка> "<путь к получателю и название программы>" <минут на завершение>
' Примеры: http://91.192.168.20:8025 "D:\TV\СТС\Test" 0,2
'          http://91.192.168.20:8030 "%PAnimal_Planet" 40

' Автор: Flasher ©
'•••••••••••••••••••••••••••••••••••• Путь к wget ••••••••••••••••••••••••••••••••••••••••••
WGet = "%COMMANDER_PATH%\Utils\wget\wget.exe"
'•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
With WScript.Arguments
If .Count <> 3 Then MsgBox "Должно быть указано три параметра!", 48 : WScript.Quit : End If
URL = .Item(0) : File = .Item(1) : Min = .Item(2) : End With
DIM WSH : Set WSH = CreateObject("WScript.Shell") : If Min = 1 Then M = "у"
Title = Space(16) & "Скачивание онлайн аудио/видео" : If (Min > 1 And Min < 5) Then M = "ы"
WGet = WSH.ExpandEnvironmentStrings(WGet) : File = File & " " & Replace(Now, ":", "`") & ".ts"
Cmd = """" & WGet & """" & URL & " -c -nd -O """ & File & """"
WSH.Run Cmd, 0 : Cmd = """" & Replace(Wget, "\", "\\") & """ " &_
URL & " -c -nd -O """ & Replace(File, "\", "\\") & """"
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set WMC = WMI.ExecQuery("SELECT Handle FROM Win32_Process WHERE CommandLine='" & Cmd & "'")
If WMC.Count Then
  If IsNumeric(Min) Then WSH.Popup "Скачивание завершится через " & Min & " минут" & M &_
  "!", 3, Title, 64 Else MsgBox "Третий параметр указан неверно!", 48
  WScript.Sleep Min*60000 : On Error Resume Next
  For Each P in WMC : P.Terminate : Next : WScript.Sleep 50
  With CreateObject("Scripting.FileSystemObject")
    Set F = .GetFile(File) : If F.Size = 0 Then
      F.Delete : WSH.Popup "Невозможно скачать поток по указанной ссылке!", 2, Title, 48
    Else
      Msg = MsgBox("Скачивание завершено!" & vbNewLine & vbNewLine & _
      "Желаете перейти к скачанному файлу?", 4131, Title)
      If Msg = 6 Then WSH.Exec "%COMMANDER_EXE% /O /T /S /L=""" & File & "\:"""
    End If : Set F = Nothing
  End With
Else MsgBox "Синтаксическая ошибка в указанных параметрах!", 48, Title
End If : Set WSH = Nothing : Set WMI = Nothing : Set WSC = Nothing : WScript.Quit

Добавлено: Вс фев 03, 2013 22:40
cojoc
Flasher
Скачивает прекрасно!
Но при завершении выдаёт "Невозможно скачать поток по указанной ссылке!" хотя скачал и сохранил.

Добавлено: Вс фев 03, 2013 22:46
Flasher
cojoc
Одно другому противоречит. Если файл действительно что-то содержит, то это сообщение не может появится, оно появляется только в случае отсутствия информации, причём перед этим удаляется пустой файл.

Добавлено: Вс фев 03, 2013 22:53
cojoc

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\Скачивание онлайн-потока с помощью wget.vbs
http://xxxxx.yy/animalplanet "D:\TV\Test" 1
%COMMANDER_PATH%\icon\tv\Animal Planet.ico
Записать Animal Planet Скрипт


-1
Выдало:
"Скачивание завершится через 1 минут"
После минуты, выдало:
"Невозможно скачать поток по указанной ссылке!" но
Сохранилось:
d:\TV\Test 03.02.2013 20`47`32.ts
примерно 20mb

Добавлено: Вс фев 03, 2013 22:56
Flasher
Интересно..
А если

Код: Выделить всё

    Set F = .GetFile(File) : If F.Size = 0 Then
заменить на

Код: Выделить всё

    Set F = .GetFile(File)
    If F.Size = 0 Then

Добавлено: Вс фев 03, 2013 23:06
cojoc
То же самое.

Добавлено спустя 5 минут:

Сейчас у меня Windows 8 (может это влияет)

Добавлено: Вс фев 03, 2013 23:07
Flasher
Ничего тогда не пойму..
cojoc писал(а):http://xxxxx.yy/animalplanet
Мне нужен реальный адрес для теста.
cojoc писал(а):Сейчас у меня Windows 8 (может это влияет)
Очень может быть.

All, если кто с восьмёркой может подтвердить - напишите.

Добавлено: Вс фев 03, 2013 23:12
cojoc
Ещё до этого я запускал кнопку, но скрипт был в UTF-8 и мне выдавало карякули - может те процессы влияют (хотя вроде позакрывал).

Добавлено спустя 3 минуты:

Мой адрес не будет у Вас работать - он только у клиентов моего местного провайдера.

Добавлено: Вс фев 03, 2013 23:19
Flasher
cojoc писал(а):но скрипт был в UTF-8
Нельзя.
cojoc писал(а):может те процессы влияют (хотя вроде позакрывал)
Не должны. Хотя при UTF-8 вообще скрипт по идее не должен отрабатывать. Может, в восьмёрке изменили.

Добавлено спустя 5 минут:

А что покажет, если под Set F = .GetFile(File) вставить MsgBox F.Size ?

Добавлено: Вс фев 03, 2013 23:28
cojoc
Выдало 0 и не сохранился.

Добавлено: Вс фев 03, 2013 23:34
Flasher
Гм.. Что покажет такой скрипт, если установить курсор на любом из скачанных файлов?

Код: Выделить всё

' Параметр: %V
MsgBox CreateObject("Scripting.FileSystemObject").GetFile(WScript.Arguments(0)).Size