Autore Topic: I vostri script  (Letto 5010 volte)

Offline Waifod

  • *
  • Post: 152
  • Reputazione: 6
    • Mostra profilo
Re:I vostri script
« Risposta #30 il: 29 Novembre 2012 ore 19:58 »
script base che più base non si può,non fa altro che permettere di installare il set d'icone "Potenza" (presentazione qui)
per inciso,neanche mi piace particolarmente quel set d'icone  ;D
Codice: [Seleziona]
#/bin/bash
sudo pacman -Sy wget --needed
wget http://mystras.cloudfactory.eu/Downloads/Potenza.tar.gz
tar xzvf Potenza.tar.gz -C ~/.kde4/share/icons

Se preferite potete aspettare: sto trasferendo il PKGBUILD da AUR in CCR ;)

Offline Hombremaledicto

  • *
  • Post: 520
  • Reputazione: 40
  • Ma chi ti si incula
    • Mostra profilo
    • Hombre on DA
Re:I vostri script
« Risposta #31 il: 29 Novembre 2012 ore 20:45 »
script base che più base non si può,non fa altro che permettere di installare il set d'icone "Potenza" (presentazione qui)
per inciso,neanche mi piace particolarmente quel set d'icone  ;D
Codice: [Seleziona]
#/bin/bash
sudo pacman -Sy wget --needed
wget http://mystras.cloudfactory.eu/Downloads/Potenza.tar.gz
tar xzvf Potenza.tar.gz -C ~/.kde4/share/icons

Non male. Tra paremtesi, nemmeno a me piace granchè. Ultimamente vado di Kawoken, sempre made in italy tra l'altro :)
Keep it rolling, baby...

Offline Waifod

  • *
  • Post: 152
  • Reputazione: 6
    • Mostra profilo
Re:I vostri script
« Risposta #32 il: 29 Novembre 2012 ore 22:01 »
Il PKGBUILD delle icone Potenza è su ccr  :beer: /fine OT

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #33 il: 30 Novembre 2012 ore 18:38 »
@dongongo: script bash x disabilitare screen saver quando full screen: fatto!  ;D

In realtà c'è da fare qualche prova. L'ho testato con vlc e tova il full screen.
Devi installare da ccr xdpyinfo.

Crea due file nella stessa directory e dai loro permessi di esecuzione:

is-full-screen
Codice: [Seleziona]
#!/bin/bash
WINDOW=$(echo $(xwininfo -id $(xdotool getactivewindow) -stats | \
                egrep '(Width|Height):' | \
                awk '{print $NF}') | \
         sed -e 's/ /x/')
SCREEN=$(xdpyinfo | grep -m1 dimensions | awk '{print $2}')
if [ "$WINDOW" = "$SCREEN" ]; then
    exit 0
else
    exit 1
fi

toggle-screen-off
Codice: [Seleziona]
#!/bin/bash
while (true) do
  if ./is-full-screen ; then
  xset -dpms; xset s off; echo "full";
  else
  xset dpms; xset s on; echo "no full";
  fi
  sleep 5
done

Ovviamente non è tutta farina del mio sacco ma ho sbirciato un po' in giro.
Lancia da terminale toggle-screen-off e fai un po' di prove x vedere se riconosce lo schermo pieno, dopo di chè puoi rimuovere gli echo.
Metti lo script in esecuzione automatica (passagli il path sennò non trova ./is-full-screen).

Ho lasciato il PC 2 ore e non si è attivato nessun risparmio energetico. Dovrebbe funzionare.
Se vuoi puoi mettere lo sleep più lungo di 5 secondi.
Per terminare: Ctrl+C o killall toggle-screen-off
Fammi sapere  :beer:

Offline andreazube

  • *
  • Post: 1595
  • Reputazione: 64
  • I AM THE INTERSECT
    • Mostra profilo
    • Lupo mannaro
Re:I vostri script
« Risposta #34 il: 03 Dicembre 2012 ore 21:48 »

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #35 il: 24 Dicembre 2012 ore 11:44 »
Transcode file per PS3

Solitamente uso pms per vedere i video su PS3. Da qualche giorno (dopo un aggiornamento) l'audio dei video trascodificati con mencoder (direttamente tramite PMS) non si sentono (o meglio un rumoraccio). Provato ad usare ffmpeg tramite PMS ma dopo un po' si blocca.

Ricordando che un utente aveva anche chiesto qualcosa a riguardo, e dopo che ho miseramente fallito con i settaggi di default di avidemux (e trasmageddon non andava bene e arista non si installa...) ho pensato di andare di script!

Si può fare di meglio, ma per ora questo, usando ffmpeg, sembra funzionare!
Apro una finestra di dialogo per scegliere il nome file, così anche i più pigri non si lamenteranno :)

Codice: [Seleziona]
#!/bin/sh
file=$(kdialog --getsavefilename : "*.avi *.mp4 *.mkv *.mpg | Video Files")
#echo $file
ffmpeg -y -i "$file" -strict experimental -vcodec libx264 -profile:v main -preset medium -crf 22 -threads 0 -c:a aac -b:a 128k -ac 2 -r:a 44000 "$file"-PS3.mp4

Al momento testato con un paio di video e funziona. Penso si possa smanettare ulteriormente per cambiare la qualità, ma a me va abbastanza bene  :P
Se ho tempo (pranzi e cene permettendo) aggiungo anche un comando per lanciare lo script a bassa priorità di CPU.

Saluti e... BUONE FESTE!  :beer:

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #36 il: 25 Dicembre 2012 ore 22:29 »
Aggiornamento script transcodifica video x PS3!

Ho aggiunto la gestione di scelta multipla di file e gestione del nome file senza estensione:
Codice: [Seleziona]
#!/bin/sh
files=$(kdialog --title $"Select files you want convert" -getopenfilename : "*.avi *.mp4 *.mkv *.mpg | Video Files"  --multiple --separate-output)
IFS=$'\n'
for file in $files; do
  filename=$(basename "$file")
  filename="${filename%.*}"
  ffmpeg -y -i "$file" -strict experimental -vcodec libx264 -profile:v main -preset medium -crf 20 -threads 0 -c:a aac -b:a 128k -ac 2 -r:a 44000 "$filename-PS3.mp4"
done

ho aggiornato un po' il codice. appena ho tempo vedo come aggiungere una progress bar...(niente è impossibile, ma questa mi sembra davvero ardua!):
Codice: [Seleziona]
#!/bin/sh
ext="mp4"

files=$(kdialog --title $"Select files you want convert" -getopenfilename : "*.avi *.mp4 *.mkv *.mpg *.wmv *.asf *.flv | Video Files"  --multiple --separate-output)
for file in $files; do
  filename="${file%.*}"
  onlyname=$(basename "$filename")
  ffmpeg -y -i "$file" -strict experimental -vcodec libx264 -profile:v main -preset fast -tune film -crf 20 -threads 0 -c:a aac -b:a 128k -ac 2 -r:a 44000 -vf scale='min(640\,iw):trunc(ow/a/2)*2' -af aresample=async=1000 "/tmp/$onlyname-PS3.$ext"
  mv "/tmp/$onlyname-PS3.$ext" "$filename-PS3.$ext"
done
« Ultima modifica: 08 Marzo 2014 ore 16:48 da dinolib »

mcmaur

Re:I vostri script
« Risposta #37 il: 27 Febbraio 2014 ore 10:11 »
Siccome di solito ho parecchi file scaricati dalla rete (sopratutto in flash) preferisco convertirli. per ora uso semplicemente questo:
Codice: [Seleziona]
for d in *; do
  ffmpeg -i "${d}" -b 2028k -s 640x480 -r 30 -acodec copy "${d}.avi"
done

sicuramente qualcuno saprà come migliorarlo. Per esempio mi scoccia che la risoluzione sia "settata", non posso usare la stessa del video?

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #38 il: 27 Febbraio 2014 ore 17:56 »
la risoluzione se non la imposti rimane tale e quale all'originale.
Problema: impostare un bitrate a prescindere (senza sapere qualità e dimensioni del video) è una sceltadubbia.
Inoltre non hai impostato il codec video. Mi aspetto quindi che usi quello open di ffmpeg (mi sembra si chiami lavc).

Dipende poi dove vuoi riprodurre il video: PC, MAC, PS3/etc, Media Player da tavolo, Android, ecc.

Io per generare file avi compatibili con PS3 (e quindi con moltissimi altri device, visto quanto è ostica SONY) uso:
Codice: [Seleziona]
ffmpeg -ss -00:00:01 -i "/nome/file/input" -c:v mpeg4  -qscale:v 5 -vtag XVID -c:a libmp3lame -b:a 128k -af aresample=async=1000 -map_metadata -1 "/nome/file/output"
Ci sono un po' di astrusità che ho tarato dopo varie prove per evitare l'introduzione di de-sincronizzazioni fra audio e video.
Se mi ricordo provo a dire cosa sono:
-ss  inizio del video dal secondo... (perchè da 1? perchè in alcuni casi partiva distorto)
-c:v  nuova nomenclatura di ffmpeg. impostazioni del codec video
mpeg4 compressione MPEG per file AVI (XVID, per intenderci)
-vtag: identificativo dell'encoder. senza impostare questo a XVID PS3 brontola non poco
-qscale: metodo di encode. In questo caso lo imposto a qualità fissa. L'encoder cerca di mantenere "ad un certo livello" la qualità del video. Se il video è ad alta risoluzione verrà più grande e viceversa per video a bassa risoluzione. Purtroppo non è scientifico, ma se non vuoi fare due passate è il sistema migliore.
-c:a impostazione dell'encode audio. qui è semplice lascio alla tua fantasia
-af aresample ..... metadata -1: sono altre robe che ho aggiunto per fixare alcuni problemi incontrati

Se vuoi provare hai solo da giocare con -b:a e -qscale (usando -ss e -to puoi fare prove su spezzoni)

ffmpeg --help o man ffmpeg aiutano ma non tantissimo. Ti consiglio se vuoi approfondire di cercare in rete...

mcmaur

Re:I vostri script
« Risposta #39 il: 08 Marzo 2014 ore 16:08 »
1) grazie a dinolib lo script è al momento così. Ancora non l'ho provato ma a breve se ci saranno miglioramenti da fare modificherò il post
Codice: [Seleziona]
for d in *; do
  ffmpeg -i "${d}" -c:v mpeg4 -b 2028k -acodec copy "${d}.avi"
done

2) siccome ho spesso film ma non ricordo mai quali quando mi chiedono i miei amici ho deciso di provare a scrivere uno script che realizzi un elenco dei film in un file txt che andrò a condividere con i miei amici via dropbox. tutt'ora non funziona ma lo modificherò nel tempo  :)
Codice: [Seleziona]
#!bin/bash

" " > elenco_film.txt
for file in *
do
  ext = ${file#*.}
  if [ "$ext" != "srt" ]
  then
    $file >> elenco_film.txt
  endif
done

Offline whoami

  • *
  • Post: 1562
  • Reputazione: 64
  • Quando c'era init i log arrivavano in orario!
    • Mostra profilo
Re:I vostri script
« Risposta #40 il: 14 Marzo 2014 ore 19:28 »
Ciao. sto cercando di creare uno script che backuppi i file modificati con nano, in maniera incrementale (l'idea è ancora un po' confusa) e volevo metterci dentro un controllo per la cartella dove i file verrebbero backuppati, che se esiste prosegua e se non esiste la crei.
Ma mi sono imbattuto nel fatto che mkdir non accetta come argomento una variabile, tipo

Codice: [Seleziona]
mkdir ~/ciccio #va bene

ciccio='~/ciccio'
mkdir $ciccio   #non va bene

sono io che sbaglio qualcosa? Ho provato sia con percorsi relativi sia con percorsi assoluti ma mi risponde sempre:
Codice: [Seleziona]
mkdir: impossibile creare la directory "~/ciccio": File o directory non esistente
echo "VQF AHELME I BI CI WECPF"| tr "ETAOINSHRDLUBCFGJMQPVWZYXK" "A-Z"

Offline danyf90

  • *
  • Post: 827
  • Reputazione: 42
  • Chakra
    • Mostra profilo
Re:I vostri script
« Risposta #41 il: 15 Marzo 2014 ore 18:04 »
in quel modo cerchi di creare una cartella di nome ciccio all'interno di una cartella di nome ~ (in questo caso non viene "tradotto" nella tua home forse perché considerato come stringa), non avendo una cartella di nome ~ nella directory corrente ti da quell'errore ;)

mcmaur

Re:I vostri script
« Risposta #42 il: 15 Marzo 2014 ore 19:18 »
tutt'ora non funziona ma lo modificherò nel tempo  :)
Codice: [Seleziona]
#!bin/bash

" " > elenco_film.txt
for file in *
do
  ext = ${file#*.}
  if [ "$ext" != "srt" ]
  then
    $file >> elenco_film.txt
  endif
done
Dove sbaglio?

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #43 il: 15 Marzo 2014 ore 19:28 »
mcmaur: purtroppo non ho tempo per vedere il tuo codice (ehm, sì dovrei provarlo per dirti qualcosa).
posso però darti un consiglio: usa echo $variabile nel tuo codice per "debuggare" e capire cosa va storto. Spesso è un utile sistema per capire cosa c'è che non va nel codice, anche se non conosci a fondo un linguaggio e non hai un debugger  ;)

es:
Codice: [Seleziona]
#!bin/bash

" " > elenco_film.txt
for file in *
do
  ext = ${file#*.}
  echo "file: " $file
  echo "ext: " $ext
  if [ "$ext" != "srt" ]
  then
    $file >> elenco_film.txt
  endif
done

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:I vostri script
« Risposta #44 il: 15 Marzo 2014 ore 22:56 »
script riveduto e corretto.

cacchio, ma dove avevi preso il sample???

Codice: [Seleziona]
#!bin/bash

echo " " > elenco_film.txt
for file in *; do
  ext="${file##*.}"
  if [ "$ext" != "srt" ];   then
    echo $file >> elenco_film.txt
  fi
done

PS: il primo echo ti serve a svuotare il file?
allora bastava un
> elenco_film.txt

 

Template by Homey | Sito ufficiale | Disclaimer