Script any to Creative Zen XVID

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Script any to Creative Zen XVID

Messaggio da 414N »

Aloha a tutti!
Ho creato uno script per convertire un qualsiasi numero di filmati nei più disparati formati in filmati compatibili con il Creative Zen (o altri dispositivi) e l'ho pubblicato nella Wiki a questo indirizzo.
Apro questo thread per raccogliere eventuale feedback.

UPDATE:
English version here
Ultima modifica di 414N il gio 2 ott 2008, 21:39, modificato 3 volte in totale.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Script any, Creative Zen XVID

Messaggio da neongen »

tutti i filmati che produceva avevano il problema di saltare gli ultimi 6/7 secondi di video una volta riprodotti sullo ZEN. Dopo varie indagini, sono giunto alla conclusione che questo sia dovuto al fatto che ffmpeg produce sempre filmati VBR (a bitrate variabile), mentre lo ZEN richiede una codifica CBR (a bitrate costante). Se qualcuno conoscesse un modo per produrre filmati in CBR tramite ffmpeg (non funziona impostare minrate e maxrate allo stesso valore) è pregato di farmi un fischio qui.
e ti pareva... adesso mi spiego.

lo provo subito :thumbright:

Edit: funziona benissimo, ma...
dove sta mencoderprogress.sh?
e i sottotitoli?

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any, Creative Zen XVID

Messaggio da 414N »

neongen ha scritto: Edit: funziona benissimo, ma...
dove sta mencoderprogress.sh?
e i sottotitoli?
mencoderprogress.sh lo devo ancora mettere nel wiki. Mi sono anche accorto di un paio di errorini all'interno dello script.
Stasera o, al più tardi domani, tutto dovrebbe essere online.
Per sottotitoli intendi i softsub in file a parte e/o quelli embedded nel filmato? Non ho attuato ancora alcun meccanismo per selezionarli e includerli nel filmato finale.
Potrei includerne la gestione in un prossimo aggiornamento dello script. Appena riesco farò qualche esperimento al proposito.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da neongen »

Codice: Seleziona tutto

--- ToZenAviMencoder	2008-10-01 20:42:54.977258277 +0200
+++ tozen	2008-10-01 20:45:03.386228524 +0200
@@ -59,6 +59,7 @@
 
 PROGRESS_SCRIPT="mencoderprogress.sh"
 
+
 #~~~~~~~~~~~~~~~~~~~~~~~Fine Sezione Modificabile~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
@@ -75,6 +76,10 @@
 	then 
 		rm divx2pass.log
 	fi
+	if [ -e subdelay ]
+	then 
+		rm subdelay
+	fi
 	return 0
 }
 
@@ -209,7 +214,7 @@
 
 ( echo "$MOVIES" | while read -d $'\t' MOVIE
 do
-
+	
 # Estrapolazione del solo nome del file (senza estensione)
 
 
@@ -231,6 +236,34 @@
 		FRAMERATE="$MAXFRAMERATE"
 	fi
 
+# Carica sottotitoli
+
+SUBFILE=""
+SUBDELAY="0"
+
+if [ "$USE_DIALOG" = 1 ]
+then
+	for SUBEXT in "srt" "ass" ; do
+		if [ -f "$FILENAME.$SUBEXT" ]
+		then 
+			dialog --yesno "Found subfile $SUBFILE \
+			\nDo you want to hardsub it?" 10 50
+			if [ "$?" = "0" ]
+			then
+				SUBFILE="$FILENAME.$SUBEXT" 
+				dialog --inputbox "Set subdelay [-]SECONDS[.DECIMALS]" 10 50 "0" 2> subdelay
+				DIAG_ANS=$(cat subdelay)
+				if echo $DIAG_ANS | grep "^[-]\?[0-9]*[\.]\?[0-9]*$">/dev/null
+				then
+					SUBDELAY=$DIAG_ANS
+				fi
+			fi
+		fi ;
+	done
+fi
+
+
+
 # Stampa dei valori scelti sul file di log
 
 	echo -e "Converting $MOVIE to $OUTDIR/$FILENAME.$EXTENSION \
@@ -238,6 +271,8 @@
 	\nTarget maximum resolution = $RESX x $RESY \
 	\nFramerate = $FRAMERATE \
 	\nMovie length = $DURATION \
+	\nSubfile = $SUBFILE \
+	\nSubdelay = $SUBDELAY \
 	\n========================================================"  >> "$LOGFILE"
 	
 # Parametri usati per il primo passaggio
@@ -257,7 +292,9 @@
 	  	  -lameopts cbr:mode=2:br=$ARATE -af resample=44100 -srate 44100 \
 	  	  -ffourcc $FOURCC \
 	  	  -ofps $FRAMERATE \
-	  	  -o $OUTDIR/$FILENAME.$EXTENSION" 
+		-sub $SUBFILE \
+		-subdelay $SUBDELAY \
+	  	  -o $OUTDIR/$FILENAME.$EXTENSION"
 	
 	
 # Primo passaggio 
@@ -304,3 +341,4 @@
 fi
 
 exit 0
+
\:D/ +o-

edit:
Ultima modifica di neongen il mer 1 ott 2008, 20:46, modificato 1 volta in totale.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

Grazie per lo spunto. Appena potrò farò esperimenti per includere l'hardsubbing dei sottotitoli.
Nel frattempo ho corretto alcuni errori nello script e ho pubblicato mencoderprogress.
Fammi sapere se ti funziona tutto.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da neongen »

ok. sta lavorando con la progressbar e sembra tutto a posto :thumbright: :thumbright:

update: alle 22:15 ancora non aveva finito il primo passo :cry:
la progressbar rallenta troppo.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

neongen ha scritto:ok. sta lavorando con la progressbar e sembra tutto a posto :thumbright: :thumbright:

update: alle 22:15 ancora non aveva finito il primo passo :cry:
la progressbar rallenta troppo.
Hai perfettamente ragione.
Ho fatto delle prove tramite "time" e, usando dialog, la conversione impiega 1'22'', senza dialog 36'', senza indicazione del progresso (output di mencoder non elaborato) 34''.
Ho aggiornato lo script mencoderprogress.sh, impostando un intervallo di refresh e questo sembra aver migliorato sensibilmente la performance.
Provalo appena puoi.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da neongen »

ottimo! addsso con o senza è praticamente lo stesso.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

neongen ha scritto:ottimo! addsso con o senza è praticamente lo stesso.
Benessum!
Aggiornato alla versione 1.02, dopo essermi accorto di un difetto.

Avatar utente
neongen
Packager
Packager
Messaggi: 827
Iscritto il: ven 25 mag 2007, 12:37
Nome Cognome: Enrico
Slackware: 14.0_64
Kernel: 3.4.4
Desktop: KDE 4.5.5
Distribuzione: Maemo 5
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da neongen »

:lol: :lol: te lo stavo per segnalare quel difettuccio....

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

Porc!
La pagina wiki che ho pubblicato è il terzo risultato se su Gooooooooooooooooooogle si cerca "zen mencoder"
:shock: :shock: :shock: :shock:

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Script any to Creative Zen XVID

Messaggio da Procopio »

ciao!

sto cercando di convertire i file video per vederli su psp, ho trovato questo tuo script che sembra faccia proprio a caso mio, ma non mi è chiaro come si usa: che significa che "basta inserirlo nel path"? che devo metterlo nella directory dove ho il filmato che voglio convertire? ...e poi che comando devo dare??

inoltre non riesco a capire cosa faccia il comando

Codice: Seleziona tutto

export PATH+=":~/bin"
grazie mille per le eventuali risposte!

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

Procopio ha scritto:ciao!
sto cercando di convertire i file video per vederli su psp, ho trovato questo tuo script che sembra faccia proprio a caso mio, ma non mi è chiaro come si usa: che significa che "basta inserirlo nel path"? che devo metterlo nella directory dove ho il filmato che voglio convertire? ...e poi che comando devo dare??
Andiamo con ordine:
  1. I video, per funzionare sulla PSP, hanno bisogno di parametri di codifica diversi rispetti a quelli "hardcoded" nel mio script, percui dovresti metterci mano proprio negli aspetti più tecnici (i parametri da passare a mencoder).
  2. Non è obbligatorio inserirlo nel PATH, ma ti rende più facile la vita se intendi lanciarlo dopo esserti posto in un percorso diverso da quello nel quale risiede lo script. Ti faccio un esempio: mettiamo che scarichi lo script in ~/scripts/ chiamandolo conv.sh. Dopo averlo reso eseguibile con

    Codice: Seleziona tutto

    chmod +x ~/scripts/conv.sh
    ti sposti in /media/disk/video/troppoBelli tramite

    Codice: Seleziona tutto

    cd /media/disk/video/troppoBelli
    perché vuoi convertire tutti i video in quella directory tramite il mio script dopo averne eliminati un paio che non ti interessano più. Se non metti lo script nel PATH, dovresti lanciare la conversione così:

    Codice: Seleziona tutto

    $ ~/scripts/conv.sh *
    mentre, se la directory ~/scripts fosse nel PATH, ti basterebbe:

    Codice: Seleziona tutto

    conv.sh *
  3. Il comando da dare sarebbe il nome che dai allo script quando lo salvi su disco. Nella versione in cui è attualmente sulla wiki (è da un po' che rimugino su alcune modifiche da apportare), puoi modificare alcuni parametri solo agendo da variabili d'ambiente, che puoi vedere leggendo la sezione iniziale dello script.
Premesso questo, ti consiglio di non mettertici neanche a provare di adattare il mio script per creare video fruibili per la PSP: non si tratta solo di cambiare la risoluzione e qualche parametro già impostato da me, ma si tratta anche di gestire altri parametri che io non ho toccato.
Ti consiglio di usare strumenti appositi, tipo h264enc (CLI) che prevede alcuni preset già pronti per PSP (ricordati di modificare il PREFIX in /usr nello script install prima di installarlo se decidi di provarlo) oppure avidemux (è una GUI ed è presente anche nel repo di slacky.eu), anche lui con un preset già pronto per PSP (lo trovi sotto il menu Auto).
Procopio ha scritto:inoltre non riesco a capire cosa faccia il comando

Codice: Seleziona tutto

export PATH+=":~/bin"
Ne deduco che sei a digiuno di C e/o BASH scripting :)
L'operatore += è una delle scorciatoie più usate per abbreviare un "incremento", tipo A = A + B diventa A+=B.
Nel contesto dello shell scripting, nel quale tutto è trattato come stringa, il + assume la funzione di concatenazione, ovvero di aggiunta in coda.
Nel caso in esame, quel comando esporta nell'ambiente della shell attuale la variabile PATH con l'aggiunta di ":~/bin" in coda (: è il separatore tra le varie directory componenti PATH).

Avatar utente
Procopio
Linux 3.x
Linux 3.x
Messaggi: 844
Iscritto il: ven 29 lug 2011, 11:50
Nome Cognome: Matteo Micheletto Oddino
Slackware: 14.2
Kernel: 4.4.14
Desktop: Awesome
Località: Torino

Re: Script any to Creative Zen XVID

Messaggio da Procopio »

okk, infatti avrei tentato, sperando che il tuo script andasse bene per il mio formato:)...
comunque ho visto quanto mi hai postato, e, a parte il discorso su scriptign c e bash, io ero abituati gli script a farli girare con un semplice sh davanti, è per quello che non capivo:) (non ho mai studiato l'argomento, o comunque quello non me lo ricordavo:))

per quanto riguarda vaidemux,c'è un criterio per cui io debba scegliere tra CLI gtk e qt4?

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Script any to Creative Zen XVID

Messaggio da 414N »

Procopio ha scritto: per quanto riguarda avidemux,c'è un criterio per cui io debba scegliere tra CLI gtk e qt4?
Beh, dipende dai tuoi gusti. Se hai intenzione di usarlo da riga di comando (CLI), allora usa la versione CLI (abbastanza inutile dato che sia ffmpeg sia mencoder sono già CLI).
Se non usi KDE, allora potresti preferire la versione GTK, qualora il tuo ambiente fosse basato su tale toolkit.
Se usi KDE, la versione qt4 è quella che mantiene il "look and feel" dell'ambiente desktop.

Rispondi