Newsgroup: it.comp.software.divx
Titolo: Forzare Compatibility Mode

Salve a tutti, siccome ho necessità di salvare molti divx in modalità 
"Compatibility" (attivabile in Virtual Dub salvando e selezionando la 
casella di spunta "Save in Old Avi format(VfW1.1 e) ecc ecc") per 
poterli vedere sul lettore stand-alone (che più di una volta ha fatto le 
bizze, bizze che ho risolto ogni volta con tale magica opzione), vorrei 
sapere se esiste una qualche utility che mi permette di dargli in pasto 
i divx e che si occupi di attivare su tutti questi file tale opzione, 
magari senza aspettare i 2-3 minuti per il salvataggio in direct stream 
copy...
Vorrei in particolar modo sapere se tale opzione è presente e attivabile 
a livello esadecimale negli header dei file divx (credo di sì, visto che 
basta salvare in direct stream copy e quindi senza toccare il flusso 
audio/video), che al limite il programmino per la modifica potrei 
farmelo da solo.
vi ringrazio anticipatamente per le eventuali risposte.
ciao,
2m23

Purtroppo non conosco nessuna procedura automatica, o meglio esiste, ma
sempre una parte iniziale mano devi fare (job di virtualdub).
Non credo che basti modificare un header perchè dovrebbe essere diversa
proprio la struttura, è quindi necessario una copia diretta che preserva i
dati, ma modifica la struttura.
Comunque puoi sempre fare un confronto con fb /b e vedere quali parti sono
state modificate, sempre i che i file abbiano la stessa grandezza in byte.
bye
-- 
 Home page e FAQ: 
http://giubbe.altervista.org/
Inutile scrivere in privato, non ricevo le email. 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 dati, ma modifica la struttura.
concordo.
volevo dargli una risposta simile :-)

 bye
ciao,
2m23

 cosa intendi con fb /b? è un comando DOS o uno script di virtual dub?
Si credo che non si possa fare. E' un comando DOS che confronta in modo
binario i file, i file devono avere la stessa lunghezza.
bye
-- 
HomePage e FAQ: 
http://giubbe.altervista.org


 mano con un copia incolla nel file .jobs di virtualdubmod
grazie mille per le info, ma purtroppo non ho mai realizzato uno script 
per VirtualDub prima e quindi non conosco la "teoria" ;)
in ogni caso vorrei sapere anche a cosa serve il comando trim e cosa 
rappresentano i parametri.
ciao,
2m23

 rappresentano i parametri.
Scusa, ho dato un sacco di cose per scontate.
Lo script che ti ho passato va bene già così (o quasi, sorry) e non è uno
script di Virtualdub, ma di avisynth. Trim corrisponde alla selezione in
virtualdub, in partica si sta dicendo al programma che aprirà il lo script
di considerare solo i frame tra 1 e 100.
Io sono stato troppo pessimista, ti basta (anzi devi) usare trim (1,1)
(prendi un solo fotogramma) altrimenti il rimpiazzo ti viene troppo grosso
(avisinth non lavora in direct stream copy, sorry).
Se vuoi saperne di più su avisinth vedi il link nel mio sito o chiedi qui
(nel limite delle conoscenze ti si risponderà volentieri)
Lo script di VirtualDub, invece, si trova dentro il file .jobs nella sua
cartella. Ti basta cancellarlo, poi imposti due file (video e script
avisynth (.avs)) nel job e chiudi VirtualDub. Apri il file .jobs appena
ricreato e copi/incolli le righe che vedi dentro, saranno tutte uguali a
parte il nome dei file. In questo modo ti sei risparmiato la "fatica" di
impostare il doppio dei lavori rispetto al numero di file da elaborare.
Riapri i job in VirtualDub e vedi se tutto è corretto (basta vedere che
siano elencati tutti) e avvi il processo.


 siano elencati tutti) e avvi il processo.
ho fatto una prova e funziona, all'inizio sbagliavo in quanto avevo 
scelto come file nello script lo stesso da cancellare e mi dava errore 
di accesso al file, ora invece ne ho scelto un'altro e alla fine del job 
ho il file in compatiblity mode e quello vecchio che occupa poche 
centinaia di kb.
l'unico dubbio che mi è rimasto (più che altro è una curiosità) riguarda 
il fatto che mi avevi avvertito di disabilitare il cestino, ma non ce 
n'è stato bisogno in quanto il file non viene cancellato ma riscritto... 
o ho male capito io? ;)
grazie mille, mi hai risolto un bel problema, adesso magari appena ho 
tempo mi faccio un programmino in cui si selezionano i file da 
"convertire" e dai quali si crea il file .jobs necessario.
ciao,
2m23

 "convertire" e dai quali si crea il file .jobs necessario.
cioè crei in automatico il jobs? Lo voglio ^_^


 bye
ciao,
2m23

 ho fatto) e quindi incrociare le dita e provarlo ;)
allora, il programmino è pronto e funziona, ma gli mancano ancora alcuni 
piccoli "ritocchi" che provvederò ad aggiungere in settimana 
(soprattutto per quanto riguarda la gestione degli errori e un po' di 
ottimizzazione generale).
ho un unico dubbio per quanto riguarda le stringhe presenti nel file 
.jobs, che non capisco se possono essere fisse (e sarebbe una gran cosa) 
o dipendono dal filmato da convertire, per esempio:
VirtualDub.stream[0].SetSource(0x73647561,0,1);
VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
VirtualDub.stream[0].SetClipMode(1,1);
VirtualDub.video.SetDepth(24,24);
VirtualDub.video.SetFrameRate(0,1);
VirtualDub.video.SetIVTC(0,0,-1,0);
VirtualDub.video.SetRange(0,0);
mi basta solo capire se sono sempre fisse o possono variare di volta in 
volta (NB: parliamo sempre di *semplice risalvataggio in modalità 
compatibile*)... se sono fisse, il programma si può dire pronto! ;)
un'ultimo dubbio: aprendo con virtualdubmod i filmati con audio mp3 vbr, 
viene chiesto se bisogna o meno modificare l'header. io personalmente 
non ho mai capito se rispondere "yes" o "no", in quanto apro, rispondo a 
caso, porto avanti il filmato in  virtual dub e controllo se il video si 
sente bene e quindi lo salvo, in caso contrario chiudo e riapro 
scegliendo l'altra opzione... ;)
ovviamente quanto si fanno i job automatizzati la domanda non compare: 
vorrei sapere se può succedere di ritrovarsi alla fine con dei file con 
audio e video non sincronizzati e, in caso, se si può tornare indietro, 
visto che il file originale viene cancellato...
ciao,
2m23

 VirtualDub.video.SetRange(0,0);
Questi non cambiano mai per i tuoi scopi, ma potrebbero essercene altri.
Comunque tutto è spiegato bene nell'help di VirtualDubMod.


 indicato prima.
in parole povere settando VirtualDubMod come indicato nella FAQ 28 posso 
lasciare quella riga col terzo parametro *SEMPRE* settato a 1 senza 
temere di ritrovarmi un file non sincronizzato? spero di non aver capito 
male...
ciao,
2m23

 temere di ritrovarmi un file non sincronizzato?
Quella riga è indipendente da come setti il programma. Con "1", qualsiasi
sia l'impostazione del programma, non avrai mai problemi.
Se setti il programma come indicato puoi rispondere sempre si alla domanda
iniziale (quando fai il lavoro a mano) e non avrai problemi.


 > cioè crei in automatico il jobs? Lo voglio ^_^
Io ho fatto questo "sistema" in php, (usato da CLI), ed un batch di
poche righe:
- estraggo l'audio dal filmato con avi2wavcmd
- php analizza il file audio, se è mp3 lo normalizza con mp3gain,
altrimenti lo converte con besweet (reimpostando anche i volumi dei
dialoghi) e lo normalizza con mp3gain. Non ho ancora trovato un
convertitore per WMA utilizzabile da CLI...
- php legge un job "template", e lo scrive come job, modificandolo dove
necessario per produrre il filmato (caratteri ASCII >127 come entità
UTF, doppi backlash, etc.)
- parte vdubmod.exe (virtudaldubmod versione CLI), che muxa l'audio
così elaborato al filmato originale, producendo il nuovo file.
Comodissimo per le conversioni batch.
Purtroppo ho visto qualche bug, tipo besweet che ha "tagliato" un file
audio che iniziava con un minuto di silenzio; e mp3gain che ha fatto
brodo di mp3 con bitrate <= 80kbps.