Newsgroup: it.comp.software.divx
Titolo: Maledetto DVR-MS

Un amico mi ha registrato un paio di film su DVD tramite Media Center.
Siccome erano troppo grossi per 4.7 Gb, li ha compressi in formato
.dvr-ms e io non riesco nè a vederli nè a convertirli in nessun modo.
Ho letto che si tratta di MPEG2+DRM, ma se li analizzo con GSpot, me
li vede come ASF/WMV. Ho anche letto che basta avere WinDVD o PowerDVD
per vederli, ma non funzionano. Media Player 10 mi dice che "una unità
non è connessa" (???). Ho installato da WindowsUpdate il tool di
gestione DRM (bleah), ma non è cambiato niente. C'è anche un tool
chiamato dCut che li può convertire a WMV semplice, ma è installabile
solo su Windows Media Center, mentre io ho XP Pro. 
Il massimo che ottengo è di vedere il video a scatti senza sonoro con
Media Player Classic.
Voi ne sapete qualcosa? 
-- 
Paradoxally,
Jan AxHell

 Media Player Classic.
se ho capito bene, sono MPEG-2 infilati in contenitore ASF/WMV.
Se non risolvi con DVRMSToolbox, puoi sempre tentare di estrare gli
stream con mencoder e risalvarli come MPEG (in caso, ti diro'
qualche possibile riga di comando). Magari, prima prova se mplayer
li legge (pure se a scatti)
-- 
Home page: 
http://fsinapsi.altervista.org

li legge (pure se a scatti)
Opperbacco! Questo lo legge perfettamente! o__O 
Dimmi pure i comandi :-) 
-- 
Paradoxally,
Jan AxHell

 Dimmi pure i comandi :-) 
puoi provare questo:
mencoder -mc 0 -oac copy -ovc copy -of mpeg -mpegopts format=mpeg2
pippo.dvr-ms -o pippo.mpg
(pippo.dvr-ms e' il tuo file DVR-MS)
puo' darsi che ti stampi un mucchio di errori, ma se continua con la
conversione allora e' probabile che alla fine ottieni un file
"pippo.mpg" valido.
Se invece si ferma, allora puo' darsi che l'audio non gli piaccia...
In tal caso, puoi provare a ricodificarlo in mp2, con questo
comando:
mencoder -mc 0 -oac lavc -ovc copy -of mpeg -mpegopts format=mpeg2
-lavcopts acodec=mp2 pippo.dvr-ms -o pippo.mpg
Se niente di tutto questo funziona, magari fammi sapere il
risultato del comando
mplayer -identify pippo.dvr-ms -frames 0 > risultato.txt
(ammesso che usi una versione di mplayer compilata in MinGW)


(ammesso che usi una versione di mplayer compilata in MinGW)
Ehm.. ho preso quella ufficiale credo, ma mi crea un txt vuoto...
(ho fatto un copia/incolla pari pari dei tuoi comandi)
-- 
Paradoxally,
Jan AxHell

 (ho fatto un copia/incolla pari pari dei tuoi comandi)
a cui hai sostituito il filename di input...
Se batti soltanto "mplayer", ti deve stampare un messaggio
del tipo:
Usage:   mplayer [options] [url|path/]filename
e una lunga sfilza di opzioni...
Se non lo fa, e' una versione limitata.
L'hai preso da 
www.mplayerhq.hu
?


L'hai preso da 
www.mplayerhq.hu
?
Mea culpa, ho usato la versione con GUI, tuttavia, sebbene anche
quella a riga di comanda legga bene il filmato, il mencoder incluso si
comporta nello stesso modo. Perņ ho ottenuto il log:
MPlayer 1.0rc1-3.4.2 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 47,
Stepping: 2)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection.
Playing z:\kan.dvr-ms.
ASF file format detected.
ID_AUDIO_ID=1
ID_VIDEO_ID=3
VIDEO:  [DVR ]  720x480  0bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 name: Kaan Principe Guerriero
ID_CLIP_INFO_NAME0=name
ID_CLIP_INFO_VALUE0=Kaan Principe Guerriero
ID_CLIP_INFO_N=1
ID_FILENAME=z:\kan.dvr-ms
ID_DEMUXER=asf
ID_VIDEO_FORMAT=DVR 
ID_VIDEO_BITRATE=0
ID_VIDEO_WIDTH=720
ID_VIDEO_HEIGHT=480
ID_VIDEO_FPS=29.970
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=80
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=0
ID_AUDIO_NCH=0
ID_LENGTH=6878.00
==========================================================================
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder
libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
==========================================================================
ID_VIDEO_CODEC=mpeg12
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 32000 Hz, 2 ch, s16le, 224.0 kbit/21.88% (ratio: 28000->128000)
ID_AUDIO_BITRATE=224000
ID_AUDIO_RATE=32000
ID_AUDIO_NCH=2
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [dsound] 32000Hz 2ch s16le (2 bytes per sample)
ID_AUDIO_CODEC=mp3
Starting playback...
Exiting... (End of file)
-- 
Paradoxally,
Jan AxHell

 ID_AUDIO_CODEC=mp3
queste righe mostrano quali librerie usa mplayer per la decodifica
video e audio, ed e' proprio strano che non funzioni...
Per curiosita', prova una cosa semplice come questo comando:
mencoder -mc 0 z:\kan.dvr-ms -o prova.avi -frames 1500 -nosound -ovc copy
In teoria dovrebbe crearti un "prova.avi" muto e con i primi 1500
frames (in mpeg2) del filmato. Se non lo fa, allora codesto mencoder e'
bacato :-)


bacato :-)
Funziona (ma è visibile solo con mplayer, gli altri player mostrano
schermo nero)
AVI File Details
========================================
Name.........: prova.avi
Filesize.....: 32.4 MB (or 33,219 KB or 34,016,788 bytes)
Runtime......: 00:00:50 (1,500 fr)
Video Codec..: <unknown>
Video Bitrate: 5433 kb/s
FPS..........: 29.971
Audio Codec..: No Audio Channels
Audio Bitrate: n.a.
Frame Size...: 720x480 (1.50:1) [=3:2]
File Status..: File Length Correct (click for more info...)
QF...........: 0.525 bits/pixel
Vedo che in ogni caso è stata fatta una cosa obbrobriosa, e cioè un
filmato PAL che è stato postato a 30 fps :P 
Chissà che cacchio ha combinato quel mio amico...
-- 
Paradoxally,
Jan AxHell

 filmato PAL che è stato postato a 30 fps :P 
non e' un filmato PAL, oltre al framerate la risoluzione e' 720x480
(non 720x576)
Comunque, mi e' venuta un'altra idea: se mplayer a riga di
comando legge bene il filmato, allora puoi fare questa prova:
mplayer z:\kan.dvr-ms -dumpvideo -dumpfile pippo.m2v
ti dovrebbe salvare il solo stream video mpeg2 (pippo.m2v).
Se funziona, puoi estrarre anche l'audio:
mplayer z:\kan.dvr-ms -dumpaudio -dumpfile pippo.mp2
Poi li rimuxi con qualche altro programma...
Se non funziona nemmeno questo, mi arrendo :-)


 schermo nero)
in pratica, puoi aprire quell'AVI anche con avinaptic, poi clicchi
Demux->Estrai_video, scegli un nome tipo "pippo.m2v" e ottieni
lo stream video elementare; stessa cosa per l'audio...
Se avessi implementato anche il contenitore ASF/WMV (dovrebbe essere
molto facile), avresti potuto usare il mio programma per tirare fuori
gli stream


Se non funziona nemmeno questo, mi arrendo :-)
Ha funzionato un po': sia come video che audio, vengono dumpati solo 7
min e 56 sec: che sia intrinsecamente corrotto il filmato?
-- 
Paradoxally,
Jan AxHell

gli stream
Potrebbe diventare una feature utile :-) 
-- 
Paradoxally,
Jan AxHell

 min e 56 sec: che sia intrinsecamente corrotto il filmato?
mi viene il sospetto che sia un ASF con qualche modifica; forse mplayer
si interrompe quando incontra quello che gli sembra un errore (magari
e' solo una modifica introdotta da microsoft nei DVR-MS per esigenze
pratiche...).
Purtroppo mplayer ha un solo demuxer ASF, altrimenti si poteva provare
a fargliene usare altri. La lista dei demuxer presenti nella propria
versione si ottiene con "mplayer -demuxer help"
A questo punto ti conviene cercare un altro programma (vedo con google
che "According the Nero website, Nero should support the DVR-MS format
(which is a type of MPEG2)"), oppure cercare di risolvere il problema
con DVRMSToolbox...


con DVRMSToolbox...
Presumo Nero 7, che però preferisco non installare solo per questa
cosa, dato che è inutilmente enorme rispetto al 6..
Proverò coi tools, grazie, come sempre sei stato una miniera di info! 
-- 
Paradoxally,
Jan AxHell

       lavf  35   libavformat demuxer (supports many formats, requires
ecco... a questo non avevo pensato... qui c'e' un altro demuxer ASF,
un'implementazione diversa da quello sopra; quindi potresti provare
ad aggiungere alle righe di comando la seguente opzione: "-muxer lavf"
Questo costringe quei programmi a usare il demuxer ASF fornito da
libavformat, che potrebbe comportarsi in modo diverso dall'altro...


libavformat, che potrebbe comportarsi in modo diverso dall'altro...
Mentre scrivevi questo, ho rimosso completamente Framework .NET da
Windows e l'ho reinstallato update dopo update, riavvio dopo riavvio,
ed ora DVRMSToolbox funziona, mi converte completamente i filmati in
MPEG2 :-) 
Alla fine ce l'abbiamo fatta.
-- 
Paradoxally,
Jan AxHell

 Alla fine ce l'abbiamo fatta.
meglio cosi' :-)
Ho appena iniziato a consultare qualche documentazione su ASF, e
ho buttato giu' una prima bozza di parser... penso che in poco
tempo dovrei riuscire a supportarlo in avinaptic, in modo simile
agli AVI (almeno l'analisi e l'estrazione delle tracce...).
Ho dato un'occhiata al parser ASF in mplayer e non mi piace molto.
Le specifiche ufficiali di ASF sarebbero su un doc scaricabile da
http://www.microsoft.com/windows/windowsmedia/format/asfspec.aspx
ma pare che queste non siano molto utili perche' non descrivono
gli "ASF 1.0" (cioe', il formato degli ASF e WMV piu' diffuso);
pero' esiste un documento non ufficiale, che fu compilato
dall'autore di VirtualDub, e che e' ancora reperibile qui:
http://avifile.sourceforge.net/asf-1.0.htm
Con questo, mi sono bastati pochi minuti per scrivere una
primissima versione di un parser gia' funzionante :-)
Appena posso, cerchero' di completarlo e integrarlo con il resto
del programma...
