Newsgroup: it.comp.macintosh
Titolo: Registrare Streaming con VLC

Ho fatto un primo timido passo in avanti:
 
/Applications/VLC.app/Contents/MacOS/VLC -I ncurses 
'
http://x.x.x.x/x.ts
' --sout file/ts:VLCstream.ts --run-time=600
 
Usando questa stringa il terminale lancia una orribile interfaccia a 
colori quasi illeggibile e registra un filmato lungo 10 minuti (600 
secondi).
 
Il problema è che la registrazione parte solo dopo che si digita un 
enter nella scaletta che compare.
 
Mi piacerebbe molto riuscire a fare in modo che non compaia nessuna 
interfaccia e la registrazione parta senza
bisogno di ulteriori passaggi. Chiedo troppo?
 
Lo step successivo sarebbe quello di dire a VLC di inziare a registrare 
ad un determinato orario ma non ne vuole sapere.
 
Il tempo è calcolato in secondi, ma basta fare dei calcoli e ci si arriva.
 
Per esempio le 10:00 del mattino dovrebbero corrispondere a 36000 
secondi, le 11:00 a 39600.
Partendo dalle 00:00 ogni ora sono 3600 secondi. O per lo meno io 
presumo sia cosi.
Se ho capito male e' ovvio che la registrazione non parta all'orario voluto.
 
La stringa quindi dovrebbe essere più o meno cosi':
 
/Applications/VLC.app/Contents/MacOS/VLC -I ncurses 
'
http://x.x.x.x/x.ts
' --start-time=36000  --stop-time=39600 --sout 
file/ts:VLCstream.ts
 
Ma la registrazione non parte manco a morire...
 
Se si seleziona il file nella scaletta e si digita enter la 
registrazione parte all'istante ignorando i comandi di start e stop.
 
Se non si digita enter non succede niente.
 

 Se ho capito male e' ovvio che la registrazione non parta all'orario voluto.
 
Potrebbe essere che tu debba inserire il tempo in valore numerico assoluto. La 
rappresentazione data/ora è frutto di una funzione su tale valore: diviso per i 
vari moduli corrispondenti ad anno, giorno, ora, minuti, secondi e quanto resta 
in millisecondi. Lo zero da cui iniziare i calcoli non me lo ricordo, ma 
dovrebbe essere 1/1/1970 per OS Win, mentre per System mi pare fosse una data 
del 1930, per OSX non ho mai verificato.
 
-- 
Sans

 verificato.
 
In realta' utilizzare i secondi č una cosa troppo semplice per degli 
smanettoni...
 
Se effettivamente serve il tempo in valore numerico assoluto giuro che 
vado a cercare lo
sviluppatore e lo uccido a bastonate!
 

 Potrebbe essere che tu debba inserire il tempo in valore numerico assoluto.
 
Questo ti dice qualche cosa?
 
Ora di inizio
 
   --start-time <virgola mobile 
[-340282346638528859811704183484516925440,000000 .. 
340282346638528859811704183484516925440,000000]>
 
 
 

 Ma la registrazione non parte manco a morire...
 
Non ho mai usato VLC da terminale, ma ho usato ffmpeg (e suppongo che
VLC utilizzi le stesse librerie di ffmpeg, ma non sono sicuro) e quasi
certamente quelle opzioni --start-time e --stop-time si riferiscono a
tempi calcolati all'interno del filmato, servono cioè se vuoi estrarre
solo una parte del filmato.
 
Credo invece che la partenza ad un'ora specifica debba essere gestita
con qualche comando da terminale, ma qui lascio la parola a chi ne sa
più di me. Leggo qui che si dovrebbe poter fare anche con iCal:
 
https://smallbusiness.chron.com/schedule-automator-tasks-mac-os-x-39132.html
 
 
M.
 
-- 
Per rispondermi via e-mail togli l'ovvio.

 bisogno di ulteriori passaggi. 
 
Se usi ffmpeg parte subito, però devi installare ffmpeg:
 
ffmpeg -i "URL video" -c copy video.ts


 devi installare ffmpeg
 
Ho scaricato un file.dmg che contiene l'eseguibile di ffmpeg.
 
Ora, dove e come lo devo copiare?
 


Ci sono riuscito
 
ffmpeg version N-92610-gf176d6587b Copyright (c) 2000-2018 the FFmpeg 
developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass 
--enable-libbluray --enable-libfreetype --enable-libmp3lame 
--enable-libopencore-amrnb --enable-libopencore-amrwb 
--enable-libopenjpeg --enable-libopus --enable-libshine 
--enable-libsnappy --enable-libsoxr --enable-libtheora 
--enable-libtwolame --enable-libvpx --enable-libwavpack 
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 
--enable-libzimg --enable-lzma --enable-zlib --enable-gmp 
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc 
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom 
--enable-appkit --enable-avfoundation --enable-coreimage 
--enable-audiotoolbox
  libavutil      56. 24.101 / 56. 24.101
  libavcodec     58. 41.101 / 58. 41.101
  libavformat    58. 23.102 / 58. 23.102
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 46.101 /  7. 46.101
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
 
Che tu sappia ha un man o un help? perché mi dice che non esistono.
 

 Che tu sappia ha un man o un help? perché mi dice che non esistono.
 
"man ffmpeg" su google.
 
Ciao Jack


per orba linux in generale conviene usare
homebrew: 
https://brew.sh/
 
fink:     
http://www.finkproject.org/
 (che pero' non funziona ancora su Mojave)
macports: 
https://www.macports.org/
 
 
Ciao Jack

 devi installare ffmpeg
 
Grazie per la dritta!
 
Provato e funziona.
 
ffmpeg sembra in effetti più agile e snello di VLC che secondo me è 
sviluppato da dei pazzi...
 
Non siamo ancora dove vorrei essere ma potrebbe essere un passo in 
avanti importante.
 
Ora devo capire se si riesce a creare degli script da lanciare 
eventualmente con altri applicativi.
 
Tu per caso sai se da terminale si riesce a dirgli per quanto tempo 
deve registrare?
 
RTFM - Poi mi leggo il fottuto manuale.
 

 deve registrare?
 
Basta usare l'opzione -t h:mm:ss, esempio:
 
ffmpeg -i "URL" -c copy -t 1:09:41 video.ts


 M.
 
Fantastico! Funziona!
 
Il F manuale dice di mettere -t prima di -i ma cosě non funzionava.
 
Ora sto provando a creare un applescript per attivare la registrazione,
script che poi lancerň con uno scheduler.
 
Siamo quasi a cavallo
 
Ancora 1000 Grazie
 

applescript
 
tell application "Terminal"
activate
do script "ffmpeg -hide_banner -i '
http://x.x.x.x/x.ts
' -c copy -t 
00:10:00 videoprova.ts"
end tell
 
Funziona, ma dipende come e da dove lo si lancia. In alcuni casi genera 
un errore.
 
La cosa strana è che la stringa è sempre la stessa ma se la si lancia 
dall'applescript
aggiunge qualche cosa che fa comparire nella finestra del terminale 
queste informazioni
che altrimenti non compaiono:
 
frame=  190 fps=0.0 q=-1.0 size=1536kB time=00:00:07.56 bitrate=1664.4kbits/
frame=  243 fps=238 q=-1.0 size=2048kB time=00:00:09.68 bitrate=1733.2kbits/
frame=  280 fps=182 q=-1.0 size=2304kB time=00:00:11.16 bitrate=1691.2kbits/
frame=  326 fps=160 q=-1.0 size=2816kB time=00:00:13.00 bitrate=1774.5kbits/
frame=  362 fps=141 q=-1.0 size=3072kB time=00:00:14.44 bitrate=1742.8kbits/
/s speed=1.09x
 
Niente di grave, solo una curiosità.
 
Quello che non capisco è /s speed=1.09x, a cosa si riferisce ?
 

 /s speed=1.09x
 
A me queste compaiono in ogni caso, solo che si sovrascrivono in modo da
occupare una sola riga.
 
speed=1.09x si riferisce alla velocità con cui è stato scaricato il file
rispetto alla durata dello stream. È chiaro che se si stratta di uno
stream in tempo reale il risultato sarà sempre 1 (che poi magari diventa
1.09 per le inevitabili imprecisioni di calcolo).


 Leggo qui che si dovrebbe poter fare anche con iCal:
 
Purtroppo non funziona:
 
“registra.command” non può essere aperto perché a Sandbox non è 
consentito aprire documenti in Terminale.
 
Peccato, perché sarebbe stato MOLTO comodo.
 


Con il sw 'Timer' di APIMAC funziona.
 
Bisogna fare dei giri lunghi ma alla fine ci si arriva.
 
In questo modo potrò registrare degli eventi che mi interessano anche 
quando non sono in casa,
sperando che vada tutto bene... perché come ben sappiamo la sfiga ha 
una vista molto acuta e
più l'evento ci interessa e maggiore sarà la vista della sfiga.