Discussione:
A proposito di [yt-dlp]
(troppo vecchio per rispondere)
brianks®
2024-03-12 11:38:03 UTC
Permalink
Ho trovato questo BAT per automatizzare yt-dlp, ma secondo gli esperti
di BAT, si può migliorare? ad esempio audio e video non possono essere
riselezionati nella stessa sessione.


@echo OFF

cd "[The location where you have yt-dlp.exe]"

title Enter URL to Download

set /p URL=URL:

cls

title Enter File Format

set /p format=Audio (a) or Video (v)?:

cls

title Downloading...

if %format%==a yt-dlp.exe -P "[The location where you want downloaded
files to appear]" -x -f "ba/b" -o "%%(title)s.%%(ext)s" -w %URL%

if %format%==v yt-dlp.exe -P "[The location where you want downloaded
files to appear]" -f "bv+ba/b" -o "%%(title)s.%%(ext)s" -w %URL%

if %format%==a @echo Audio - %URL%>>"[The location where you have your
log.txt file]"

if %format%==v @echo Video - %URL%>>"[The location where you have your
log.txt file]"

cls

title Download more?

set /p more=Do you want to download more? Yes (y) or No (n):

if %more%==y start Run.bat

if %more%==y exit

if %more%==n goto b

:b

explorer "[The location where you want downloaded files to appear]"

exit
brianks®
2024-03-19 13:31:33 UTC
Permalink
Post by brianks®
Ho trovato questo BAT per automatizzare yt-dlp, ma secondo gli esperti
di BAT, si può migliorare? ad esempio audio e video non possono essere
riselezionati nella stessa sessione.
@echo OFF
cd "[The location where you have yt-dlp.exe]"
title Enter URL to Download
cls
title Enter File Format
cls
title Downloading...
if %format%==a yt-dlp.exe -P "[The location where you want downloaded
files to appear]" -x -f "ba/b" -o "%%(title)s.%%(ext)s" -w %URL%
if %format%==v yt-dlp.exe -P "[The location where you want downloaded
files to appear]" -f "bv+ba/b" -o "%%(title)s.%%(ext)s" -w %URL%
log.txt file]"
log.txt file]"
cls
title Download more?
if %more%==y start Run.bat
if %more%==y exit
if %more%==n goto b
:b
explorer "[The location where you want downloaded files to appear]"
exit
risolto, grazie a tutti quelli che hanno contribuito, alla prossima
buona giornata
mauro
2024-03-20 11:55:12 UTC
Permalink
Post by brianks®
Post by brianks®
Ho trovato questo BAT per automatizzare yt-dlp, ma secondo gli esperti
di BAT, si può migliorare? ad esempio audio e video non possono essere
riselezionati nella stessa sessione.
risolto, grazie a tutti quelli che hanno contribuito, alla prossima
buona giornata
Leggo questo post oggi, mi era sfuggito il primo del 12 marzo, se
l'avessi letto comunque non avrei potuto aggiungere nulla perchè non ho
cognizioni di comandi bat (arrivo al bel copiaincolla quando serve e poi
"salva come .bat") , per cui sarei pure interessato alla soluzione se
puoi postarla visto che uso yt-dlp.
Grazie
mauro
2024-03-20 13:20:52 UTC
Permalink
Post by brianks®
Post by brianks®
Ho trovato questo BAT per automatizzare yt-dlp, ma secondo gli
esperti di BAT, si può migliorare? ad esempio audio e video non
possono essere riselezionati nella stessa sessione.
risolto, grazie a tutti quelli che hanno contribuito, alla prossima
buona giornata
mi ci sono applicato un po' e avrei trovato anche io una soluzione alla
"grazie al ca**o" :

ho creato -nella stessa cartella- il file run.bat salvando con questo
nome lo stesso file .bat di partenza.
SB
2024-03-21 16:50:31 UTC
Permalink
Il giorno Tue, 12 Mar 2024 12:38:03 +0100, brianks®
Post by brianks®
Ho trovato questo BAT per automatizzare yt-dlp, ma secondo gli esperti
di BAT, si può migliorare? ad esempio audio e video non possono essere
riselezionati nella stessa sessione.
Mi ero fatto uno script .vbs ai tempi di YoutubeDownloader e poi l'ho adattato a
yt-dlp.exe

Per comodità e semplicità lo script deve essere nella stessa cartella di
"yt-dlp.exe" e scaricherà i vari files sempre nella stessa cartella.
Scrive anche un paio di files di controllo e di errore, e un file di .log nella
cartella %Temp%, tutte cose che sono servite per il debug e che a me non danno
noia ma che si possono eventualmente togliere.

Il vantaggio principale è che basta avere nella ClipBoard il link del video,
anche "sporco" e cliccare sul file .VBS.

Io per comodità ho messo un collegamento al.vbs sul dektop. per cui sul browser
mi basta cliccare su "Copia Collegamento" e poi andare sul collegamento al .vbs.


Copiare il testo sotto la linea su un notepad e salvare come "Ytdl.vbs"
Attenzione agli a capo involontari, per sicurezza l'ho messo anche su DropBox


https://www.dropbox.com/scl/fi/qso2fo96ggszb1y7nfhmg/YtDl.vbs?rlkey=nxptfnf5ne4wv18bil0jxiv3g&dl=0
o https://shorturl.at/eqWX2

Enjoy!

___________________________________________

Const ForAppending = 8, ForReading = 1, ForWriting = 2, TemporaryFolder = 2, V =
""""
Set oShell = CreateObject("WScript.Shell")
Set Fso = CreateObject("Scripting.FileSystemObject")
Set sApi = CreateObject("sapi.spvoice")

'DestDir = oShell.SpecialFolders("Desktop")
CurDir = oShell.CurrentDirectory & "\"
Flog = Fso.GetSpecialFolder(TemporaryFolder)&"\"&
Fso.GetBaseName(WScript.ScriptName) &".log"
Stms = VbCrLf & Now & VbCrLf

YoutubeDL = CurDir & "yt-dlp.exe"


If Fso.FileExists(YoutubeDL) Then
CmdYT = VV(YoutubeDL)
Else
MsgBox YoutubeDL & VbCr & "UNFOUND" :Wscript.Quit
End If

'"D:\Apps\youtube-dl\youtube-dl.exe -U " per aggiornare
' https://www.facebook.com/FIPufficiale/videos/563118931611907

'youtube-dl --write-sub --sub-lang en --skip-download URL
'youtube-dl --write-auto-sub --skip-download URL

Set File = Fso.GetFile(YoutubeDL)
If DateDiff("d",File.DateLastModified,Now) > 60 Then '+ di 60 giorni
oShell.Run YoutubeDL & " --update " ,1 ,True
WScript.Sleep 3000
End If

Do: Lnk = Trim(GetClipboard)
If Left(Lnk,4) = "http" Then Exit Do
If MsgBox (Lnk & VbCr &" NON È UN LINK" & VbCr &"CONTINUARE ?",
VbQuestion or VbOkCancel Or VbDefaultButton2, WScript.ScriptFullName) = VbCancel
Then WScript.Quit
Loop 'per aggiornare la clipboard



If InStr(Lnk,"&") Then Lnk = Mid(Lnk, 1, InStr(Lnk,"&")-1) 'per i link
lunghi


'VIDEO
Cmdn = CmdYT &" "& Lnk
' oShell.Run Cmd ,1 ,False


'VIDEO AVI
' Cmdn = CmdYT &" "& Lnk &" --recode-video avi "


'VIDEO E SOTTOTITOLI SRT
' Cmdn = CmdYT &" --write-auto-sub --convert-subs=srt "& Lnk

'SOLO SOTTOTITOLI SRT
' Cmdn = CmdYT &" --write-auto-sub --convert-subs=srt --skip-download "& Lnk

'SOLO AUDIO MP3
' Cmdn = CmdYT &" --extract-audio --audio-format mp3 "

'https://web.whatsapp.com/c7e5568e-9526-4ac1-862b-9c44c823c8a1

' Cmd = "Cmd /v /c (>> " & LogF &" "& Cmdn & " & exit !errorlevel!)" 'con
file LOG

' Cmd = "Cmd /k " & Cmdn 'resta la finestra
' Cmd = "Cmd /v /k " & Cmdn 'resta la finestra
Cmd = "Cmd /v /c " & Cmdn 'termina

'*** alternative exe per leggere la console
' FilA= Fso.GetSpecialFolder(TemporaryFolder)&"\Ydl.txt"
FilA= CurDir &"Ydl.txt"
Set File_W = Fso.OpenTextFile(FilA, ForAppending, True)
File_W.WriteLine(VbCrLf & Now)
File_W.WriteLine(Cmdn) : File_W.Close


Set Exec = oShell.Exec(Cmd)
StrNm ="[Merger] Merging formats into "

Do While Not Exec.StdOut.AtEndOfStream
strT = Exec.StdOut.Readall
If Len(strT) Then
strText = strText & strT
Set File_W = Fso.OpenTextFile(FilA, ForAppending, True)
File_W.Write(strT) : File_W.Close
If InStr(strText,StrNm) Then
X1 = InStr(strT,StrNm)+ Len(StrNm)+1 : X2 = InStr(X1, strT, V)
On Error Resume Next
FilVid = Mid(strT, X1, X2-X1) : WriteLog VV(FilVid)
Exit Do
End If
End If
outErr = Exec.StdErr.ReadAll
If Len(outErr)>0 Then
FileE = CurDir &"Err.txt"
Set File_E = Fso.OpenTextFile(FileE, ForAppending, True)
File_E.WriteLine(VbCrLf & Now & " ERR: ")
File_E.WriteLine(outErr) : File_E.Close
Exit Do
End If

If InStr(strText,"100%") Then Exit Do
Loop

http://youtu.be/EKNmZQLbqVo
If Len(FilVid) Then
Do
If Fso.FileExists(CurDir & FilVid) Then
Sapi.Speak " FINITO"
oShell.Popup "FINITO"& VbCr & FilNam, 4,, VbInformation :
WScript.Quit
End If
WScript.Sleep 500 : K=K+1
If K > 60 Then
oShell.Popup CurDir & FilVid &" NOT FOUND", 10
WriteLog VV(CurDir & FilVid) & VbCrLf &" NOT FOUND"
: WScript.Quit
End If
Loop
Else
MsgBox "NO FILE VIDEO" : WScript.Quit
End If

Wscript.Quit

Function GetClipboard()
GetClipboard = CreateObject( "HTMLFile"
).parentWindow.clipboardData.getData( "Text" )
If IsNull(GetClipboard)Then GetClipboard = ""
End Function

Function VV(NamStr)
VV = V & NamStr & V
End Function

Sub WriteLog (Txt)
Set File_W = FSO.OpenTextFile (Flog, ForAppending, True)
File_W.Write Stms & Txt & VbCrLf : File_W.Close
Stms =""' VbCrLf
End Sub

______________________________________-
--
ciao
Stefano
princo
2024-03-30 12:56:08 UTC
Permalink
Post by SB
Per comodità e semplicità lo script deve essere nella stessa cartella di
"yt-dlp.exe" e scaricherà i vari files sempre nella stessa cartella.
Scrive anche un paio di files di controllo e di errore, e un file di .log nella
cartella %Temp%, tutte cose che sono servite per il debug e che a me non danno
noia ma che si possono eventualmente togliere.
Il vantaggio principale è che basta avere nella ClipBoard il link del video,
anche "sporco" e cliccare sul file .VBS.
ma non c'è una percentuale di avanzamento?
un sapere a che punto è?
vedo solo la finestra del cmd in nero
Loading Image...
SB
2024-03-31 14:54:46 UTC
Permalink
Post by princo
Post by SB
Per comodità e semplicità lo script deve essere nella stessa cartella di
"yt-dlp.exe" e scaricherà i vari files sempre nella stessa cartella.
Scrive anche un paio di files di controllo e di errore, e un file di .log nella
cartella %Temp%, tutte cose che sono servite per il debug e che a me non danno
noia ma che si possono eventualmente togliere.
Il vantaggio principale è che basta avere nella ClipBoard il link del video,
anche "sporco" e cliccare sul file .VBS.
ma non c'è una percentuale di avanzamento?
un sapere a che punto è?
vedo solo la finestra del cmd in nero
https://filehole.org/u/gsNEgfcU.png
No, non c'è, per farlo dovrei intercettare i messaggi della console e non è
semplice col vbs, oltretutto li ritorna in blocchi.

La finestra è nera perchè ridirige l'output sul file "Ydl.txt", serve
soprattutto a vedere che il programma è in esecuzione.

Tanto ci mette pochi secondi, almeno da me.
--
ciao
Stefano
fandango
2024-03-31 15:05:10 UTC
Permalink
Post by SB
Post by princo
Post by SB
Per comodità e semplicità lo script deve essere nella stessa cartella
di "yt-dlp.exe" e scaricherà i vari files sempre nella stessa
cartella.
Scrive anche un paio di files di controllo e di errore, e un file di
.log nella cartella %Temp%, tutte cose che sono servite per il debug
e che a me non danno noia ma che si possono eventualmente togliere.
Il vantaggio principale è che basta avere nella ClipBoard il link del
video, anche "sporco" e cliccare sul file .VBS.
ma non c'è una percentuale di avanzamento?
un sapere a che punto è?
vedo solo la finestra del cmd in nero
https://filehole.org/u/gsNEgfcU.png
No, non c'è, per farlo dovrei intercettare i messaggi della console e
non è semplice col vbs, oltretutto li ritorna in blocchi.
La finestra è nera perchè ridirige l'output sul file "Ydl.txt", serve
soprattutto a vedere che il programma è in esecuzione.
Tanto ci mette pochi secondi, almeno da me.
su linux si vede l'avanzamento e la dimensione totale dei video
--
Lolle Loading Image...
SB
2024-03-31 16:01:55 UTC
Permalink
Post by fandango
Post by SB
Post by princo
Post by SB
Per comodità e semplicità lo script deve essere nella stessa cartella
di "yt-dlp.exe" e scaricherà i vari files sempre nella stessa
cartella.
Scrive anche un paio di files di controllo e di errore, e un file di
.log nella cartella %Temp%, tutte cose che sono servite per il debug
e che a me non danno noia ma che si possono eventualmente togliere.
Il vantaggio principale è che basta avere nella ClipBoard il link del
video, anche "sporco" e cliccare sul file .VBS.
ma non c'è una percentuale di avanzamento?
un sapere a che punto è?
vedo solo la finestra del cmd in nero
https://filehole.org/u/gsNEgfcU.png
No, non c'è, per farlo dovrei intercettare i messaggi della console e
non è semplice col vbs, oltretutto li ritorna in blocchi.
La finestra è nera perchè ridirige l'output sul file "Ydl.txt", serve
soprattutto a vedere che il programma è in esecuzione.
Tanto ci mette pochi secondi, almeno da me.
su linux si vede l'avanzamento e la dimensione totale dei video
Se l'eseguibile è lanciato dal prompt si vede percentuale e nome anche su
Windows, ma bisogna prima scrivere sulla finestra la linea di comando con i
giusti parametri e premere enter.

A me serviva qualcosa che mi gestisse automaticamente lo scaricamento, e qui
basta un clic.

Poi aggiungendo qualche linea di programma si possono spostare i files
completati in una cartella di download, visualizzare i video, ecc.

Chi ha voglia di farlo ed è in grado può sempre modificare lo script, a me basta
così.
--
ciao
Stefano
Ghost
2024-03-31 17:30:43 UTC
Permalink
Post by SB
A me serviva qualcosa che mi gestisse automaticamente lo
scaricamento, e qui basta un clic.
https://www.internetdownloadmanager.com
fandango
2024-03-31 16:43:47 UTC
Permalink
Post by SB
https://www.dropbox.com/scl/fi/qso2fo96ggszb1y7nfhmg/YtDl.vbs?
rlkey=nxptfnf5ne4wv18bil0jxiv3g&dl=0
Post by SB
o https://shorturl.at/eqWX2
https://ogy.de/q6jw
--
Lolle https://i.imgur.com/0yX027y.jpg
SB
2024-03-31 17:23:39 UTC
Permalink
Post by SB
Post by SB
https://www.dropbox.com/scl/fi/qso2fo96ggszb1y7nfhmg/YtDl.vbs?
rlkey=nxptfnf5ne4wv18bil0jxiv3g&dl=0
Post by SB
o https://shorturl.at/eqWX2
https://ogy.de/q6jw
Evidentemente un falso positivo, da un antivirus scrso come SVG, poi c'è da
aspettarselo.
Comunque se non ti piace, non usarlo.
--
ciao
Stefano
fandango
2024-03-31 18:18:45 UTC
Permalink
Il giorno Sun, 31 Mar 2024 16:43:47 -0000 (UTC), fandango
Post by SB
Post by SB
https://www.dropbox.com/scl/fi/qso2fo96ggszb1y7nfhmg/YtDl.vbs?
rlkey=nxptfnf5ne4wv18bil0jxiv3g&dl=0
Post by SB
o https://shorturl.at/eqWX2
https://ogy.de/q6jw
Evidentemente un falso positivo, da un antivirus scrso come SVG, poi c'è
da aspettarselo.
Comunque se non ti piace, non usarlo.
ma tanto io uso linux e non mi serve
--
Lolle https://i.imgur.com/0yX027y.jpg
mauro
2024-03-31 19:06:31 UTC
Permalink
Post by SB
Post by SB
Post by SB
https://www.dropbox.com/scl/fi/qso2fo96ggszb1y7nfhmg/YtDl.vbs?
rlkey=nxptfnf5ne4wv18bil0jxiv3g&dl=0
Post by SB
o https://shorturl.at/eqWX2
https://ogy.de/q6jw
Evidentemente un falso positivo, da un antivirus scrso come SVG, poi c'è da
aspettarselo.
Comunque se non ti piace, non usarlo.
un antivirus suona sempre le sirene antiaeree sui file .vbs a
prescindere dal contenuto che probabilmente neanche verrà analizzato, è
noto come tipo di file adatto a distribuire un virus.

Il file .bat riportato da brianks non è male, fa il lavoro e nella
finestra cmd dà la progressione del download perchè avvia semplicemente
l'esecuzione da linea di comando di yt-dlp risparmiandone la digitazione
SB
2024-04-01 11:38:43 UTC
Permalink
Il giorno Sun, 31 Mar 2024 21:06:31 +0200, mauro
Post by mauro
un antivirus suona sempre le sirene antiaeree sui file .vbs a
prescindere dal contenuto che probabilmente neanche verrà analizzato, è
noto come tipo di file adatto a distribuire un virus.
Gli antivirus usano l'euristica, che si basa su cose abbastanza strane e
difficili da comprendere
Ricordo che anche gli eseguibili creati in Visual Basic erano regolarmente
segnalati come dei virus, si doveva fare sempre una segnalazione di falso
posotivo, ricordo le molte mail mandate ad Avira, quello che andava per la
maggiore allora.

C'era da sperare che nel tempo le cose sarebbero migliorate, ma qualche
antivirus scarso c'è ancora in giro.

Comunque qualche ragione c'è, ad esempio il famoso LoveLetter, un virus che ha
girato parecchio via mail intorno all'anno 2000, era un .vbs.
Qui si può trovare il sorgente con alcune spiegazioni su come lavorava:

https://github.com/onx/ILOVEYOU
Post by mauro
Il file .bat riportato da brianks non è male, fa il lavoro e nella
finestra cmd dà la progressione del download perchè avvia semplicemente
l'esecuzione da linea di comando di yt-dlp risparmiandone la digitazione
Si, ma io quello script l'avevo già fatto molto tempo prima, e lo trovo molto
comodo, anzi lo uso sempre anche per schivare gli annunci pubblicitari.
--
ciao
Stefano
Loading...