Newsgroup: it.comp.software.divx
Titolo: --++ Help ++-- rippare con linux

ho bisogno di convertire e filtrare un video wmv9 in xvid ma avidemux2
ancora non apre questo formato.
ho provato a emulare tramite wine avisynth 2.5 per riuscire a fare
questo --> 
http://www.avidemux.org/pun/viewtopic.php?id=2060
 <-- ma mi
va in errore con questo messaggio:
-------------------------------------------------------------------------------------------------------------
[root@localhost ~]# wine avsproxy.exe /root/Desktop/aaa/01.avs
AvsSocket Proxy, derivated from avs2yuv by  Loren Merritt
Loading Avisynth.dll
Avisynth.dll loaded
Env created
Importing..
fixme:avifile:AVIFileExit (): stub!
Avisynth error:
Error initializing audio stream decompression:
The requested conversion is not possible.
Check to make sure you have the required codec.
(/root/Desktop/aaa/01.avs, line 4)
Initializing WinSock
WinSock ok
bind() failed to port 9999
-------------------------------------------------------------------------------------------------------------
quindi ho risolvo questa questione o trovo un software che encodi e
filtri i file wmv9
suggerimenti?

 suggerimenti?
puoi farlo con mencoder
(purche' tu abbia un'installazione decente di mplayer)
questo e' un esempio del tipo di comando che dovresti usare:
mencoder input.wmv -o output.avi -oac mp3lame
 -lameopts cbr:br=128:mode=1 -ovc xvid -xvidencopts fixed_quant=2
ma e' solo un esempio che dovresti riadattare al tuo caso specifico


ho mencoder con tanto di gui ma non va bene per quello che devo fare
perchè non ha filtri editabili (es. smooth, luminosità contrasto
intensità, equalizzatore dei colori ecc ecc)

 intensità, equalizzatore dei colori ecc ecc)
allora non so che dirti...
Non so come sia la gui di mencoder, ma fino a poco tempo fa ce n'erano
alcune ma assai lacunose.
Il tipico modo di procedere degli utenti/sviluppatori e' quello di
usare in coppia mplayer/mencoder a linea di comando tramite bash:
con mplayer si individuano velocemente le opzioni che servono (si
parte da un comando, si ispeziona il risultato su schermo, si esce
con 'q', si preme "freccia in alto", si apportano rifiniture, si
ispeziona il risultato, e cosi' via, finche' non si e' soddisfatti);
a quel punto, si passa la palla a mencoder (che ha lo stesso
front-end di mplayer e quindi accetta tutte le opzioni che non siano
strettamente di codifica), a cui si aggiungono le opzioni di
back-end per la ricodifica... il procedimento e' moooolto piu'
veloce di quanto si potrebbe immaginare :-)
I filtri video di mplayer/mencoder li vedi con:
mplayer -pphelp
mplayer -vf help
Potresti averne piu' o meno, a seconda delle opzioni di compilazione
che ha usato il tizio che ha creato la tua versione (se le vuoi tutte,
in genere e' consigliabile perdere quella mezz'oretta per scaricare
i sorgenti e ricompilarseli).

 alcune ma assai lacunose.
Scusate se mi intrometto, ma mi è venuta un'idea.
Sembra che il problema sia solo audio (forse wine non riesce a vedere i
codec wma). Non si potrebbe far processare a mencoder il solo audio
generando un file mp3 e un video muto?
Poi il video lo si apre con avisynth e si fa quello che si vuole.
bye, giubbe
--
HomePage e FAQ: 
http://giubbe.altervista.org
Inutile scrivere in privato, non ricevo le email

 generando un file mp3 e un video muto?
si'.
mencoder input.wmv -oac mp3lame -lameopts cbr:br=128:mode=1 -ovc
frameno -o audio.mp3 -of rawaudio
Il comando precedente genera un file "audio.mp3"
(mp3 cbr "joint-stereo" a 128 kbps, codificato con "lame")
che e' la conversione dell'audio wma contenuto nel file "input.wmv"
Purche' il suo mencoder abbia l'opzione "-of rawaudio"... (pare
che alcune compilazioni non l'abbiano...).
Per saperlo, si puo' battere questo comando:
mencoder -of help
Nel mio caso, ottengo questo elenco:
-----------------------------------------------------
Available output formats:
   avi      - Microsoft Audio/Video Interleaved
   mpeg     - MPEG-1/2 system stream format
   lavf     - FFmpeg libavformat muxers
   rawvideo - (video only, one stream only) raw stream, no muxing
   rawaudio - (audio only, one stream only) raw stream, no muxing
-----------------------------------------------------
(con lavf si possono ottenere molti formati, tramite libavformat)

 -----------------------------------------------------
confermo di avere tutti questi formati output.
Ora sto facendo una prova considerando l'utilizzo parallelo di mencoder
(no gui) e virtualdub emulato:
1. rippo il video in xvid con i filtri di virtualdub specificando no
audio
2. demuxo e converto l'audio in mp3 con mencoder
3. rimuxo i due stream e il gioco è fatto (spero almeno, adesso vdub
sta ancora rippando)
se tutto va bene mi pare un ottimo compresso momentaneo
Quello ke mi interessa è far andare soprattutto avisynth
giubbe: Poi il video lo si apre con avisynth e si fa quello che si
vuole.
riuscissi a farlo funzionare avrei risolto i miei problemi
Frank... riguardo l'approccio utente/sviluppatore fammici abituare ho
linux da pochissimo e l'ho messo proprio per avere un contatto molto
più diretto sia con l'hardware che col software
Absy

 Quello ke mi interessa è far andare soprattutto avisynth
intendi dire sotto wine?
Sai una cosa veramente stranissima? :-)
Se prendo uno script del tipo "sample.avs", che contiene righe
del tipo
ConvertAudioTo24bit() #or better float or 32bit
(insomma, uno script Avisynth...)
e poi batto il comando:
mencoder sample.avs -o prova.avi -oac copy -ovc copy
il programma fallisce e mi stampa questo messaggio:
----------------------------------------------------
success: format: 0  data: 0x0 - 0x79
Win32 LoadLibrary failed to load: avisynth.dll,
/usr/local/lib/win32/avisynth.dll, /usr/lib/win32/avisynth.dll
Win32 LoadLibrary failed to load: avisynth.dll,
/usr/local/lib/win32/avisynth.dll, /usr/lib/win32/avisynth.dll
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.
----------------------------------------------------
in pratica, ha tentato di linkare dinamicamente la libreria
"avisynth.dll" (che non ha trovato, perche' non ce l'ho), usando
un pezzo del "run time support" di wine (questa soluzione e'
stata "fregata" dai tizi di mplayer a quelli di "xine" :-) )
non credo che abbiano ancora supportato in modo adeguato gli
script Avisynth in ingrssso, ma questo indizio mi lascia pensare
che qualcuno ci stia lavorando sopra...

 riuscissi a farlo funzionare avrei risolto i miei problemi
Ma tu non avevi non avevi in input un file wmv?
Comunque l'errore che mostra avisynth è solo relativo all'audio, hai
provato con un file muto? Che errore ti dà?
bye

Giubbe ha scritto:

Forse sono stato poco chiaro nell'esporre l'idea, sorry.
Il file di partenza è movie.wmv
Con memcoder estrai l'audio e generi un file di tipo .mp3
Con memcoder estrai il video (rawvideo, si può, Frank?) e ottieni un
file movie_muto.wmv
Passi ad avisynth il file movie_muto.wmv e lo processi, sperando che il
problema sia solo per l'audio (come indicato dall'errore che hai
mostrato).
bye

 file movie_muto.wmv
forse si puo' fare, ma non con "-of rawvideo" (che e' l'analogo in
mencoder della opzione "-dumpvideo" di mplayer, e che serve solo per
scopi di debugging... quindi in pratica serve a poco o nulla :-))
Colgo l'occasione per puntualizzare la differenza tra:
1) WMV come contenitore
2) WMV come codec (o famiglia di codec)
Da quanto ho visto, con il termine WMV (windows media video) e con
tale estensione ".wmv" si indicano in genere i filmati nel formato
contenitore WMV (che poi in pratica mi sembra coincidere con
l'ASF=advanced stream format).
Pero' un contenitore WMV/ASF puo' contenere stream codificati con
vari codec (tra cui anche quelli della famiglia MPEG-4, tipo
"Microsoft MPEG-4 v2" ecc, cioe' quelli che hanno come fourcc "MP42"
e simili); in particolare, la maggior parte dei WMV moderni contiene
stream video codificati con "WMV9" (qui "WMV" sta per il codec
video). Tipo questo:
http://www.liberliber.it/iniziativespeciali/2004/convegno/video/
10annidilibriliberi_adsl.wmv
L'opzione "-of rawvideo" non farebbe altro che salvare lo stream
video grezzo del filmato (senza alcun contenitore esterno); in
questo modo si ottiene un file che non viene gestito da nessun
programma...
Per ottenere un WMV muto bisogna generare un contenitore WMV che
contenga il solo stream video, quindi il comando che serve dovrebbe
essere simile a questo:
mencoder input.wmv -o output.wmv -nosound -ovc copy -of lavf -lavfopts
format=asf
Pero' c'e' un problema: allo stato attuale, il muxer WMV/ASF di
libavformat funziona solo se lo stream video non contiene b-frames,
e l'utente e' tenuto a dichiararlo al programma :-)
Quindi, il comando da impartire e' questo:
mencoder input.wmv -o output.wmv -nosound -ovc copy -of lavf -lavfopts
format=asf:i_certify_that_my_video_stream_does_not_use_b_frames
In realta', ci sarebbe da aggiungere un'altra opzione, ma non e'
facile da spiegare... "-fps 25". Se ha fortuna, funziona alla
prima. Altrimenti, bisogna provare con qualche altro valore...

> format=asf:i_certify_that_my_video_stream_does_not_use_b_frames
[OT]
LOL
Questa è la migliore opzione che abbia mai visto ^_^
bye

I miei file sono sia in contenitore avi ke wmv sempre con codec wmv9 e
hanno frame rate a 23.976 (ntsc)
la prova che ho fatto usando solo virtualdub emulato è andata bene con
i contenitori avi
ma non va bene per i contenitori wmv perchè Vdub ancora non li apre
per questo dovrei usare avisynth solo che:
1. se uso avisynth 2.5 emulato e creo un file .avs senza alcun filtro
(solo con la stringa per aprire il file video muto) e lo apro in Vdub,
il programma si chiude -.-
2. vorrei usare avisynth 3.0 ma mi da un errore la compilazione