Convertire file dvr-ms in AVI

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
andym
00domenica 14 marzo 2010 11:47
flusso audio/video non sincrono
Ho registrato alcuni programmi tv tramite windows media center. Il file che ne esce è in formato proprietario .dvr-ms.
Leggendo qualcosa in giro credo di aver capito che il file con estensione dvr-ms non è altro che un file mpg "chiamato" in un altro modo da microsoft.
Ora vorrei convertire tale file dvr-ms in AVI per poi poterlo vedere comodamente in tv.
Ho usato il programma avs video converter 6 ma purtroppo con scarsi risultati.
Il primo passaggio che ho fatto è stato convertire il file dvr-ms in mpg, e proprio lì si è generato il "difetto" che ho trasportato poi nel file avi.
Il flusso video è corretto mentre quello audio è sfalsato.
Detto questo chiedo a voi un consiglio su come estrarre correttamente dal file dvr-ms un file avi con flusso video/audio sincronizzati.

P.S.: Se oltre a windows media center ci sono altri programmi VALIDI per la registrazione di programmi tv dal digitale terrestre completi di guida tv ed eventuali altri tool i consigli son ben accetti.
Paolo1
00domenica 14 marzo 2010 17:11
Per una risincronizzazione audio-video non progressiva (cioè nel caso che l'audio sia sfasato rispetto al video sempre nello stesso modo dall'inizio alla fine) è ottimo virtualdub.
In questo caso infatti si tratta solo di ricostruire un nuovo file avi (che è solo un contenitore) slittando un po' in avanti o un po' indietro la traccia audio rispetto al video, senza ricompressione di alcun tipo nè video nè audio, quindi senza ulteriore perdita di qualità e in pochissimi minuti.

Serve però un po' di esperienza, se uno non l'ha mai fatto (quando uno impara, lo fa come niente).
Del resto, usare programmi di montaggio video per riallineare una traccia è sconveniente perchè è più facile farlo visivamente ma si avrà una ricompressione audio e video, dannosa in quanto inutile.

Se vuoi provare, segui queste istruzioni e non scoraggiarti a priori, è una cosa abbastanza facile da farsi.
Con virtualdub, apri il file .avi.
Metti subito menu video--direct stream copy e menu audio--direct stream copy (in modo da effettuare solo un riversamento degli stream senza ricompressione, senza alterazioni).
Posizionati su una parte del film, con il cursore di virtualdub, in cui c'è qualche colpo secco (porta che si chiude, spari etc.) oppure in alternativa dove c'è qualcuno che parla in primo piano.
Seleziona quindi un minutino di questa parte (molto meno, se c'è il colpo secco). Per il punto d'inizio, posiziona il cursore, premi il tasto HOME sulla tastiera (oppure menu edit-set selection start), poi ti sposti sulla fine della scena da selezionare e premi il tasto FINE sulla tastiera (oppure menu edit-set selection end).
La parte selezionata si evidenzierà in blu nella barra.

Se non l'avevi già fatto prima, valuta a occhio/orecchio la desincronizzazione riproducendo il file col normale player (non da virtualdub)....
un secondo? vari secondi? Meno di un secondo? Una frazione di secondo?

In ogni caso occorre fare qualche tentativo.
Menu audio, interleaving, audio skew correction.
Su DELAY AUDIO BY c'è uno zero, normalmente.
Inserisci il valore ipotizzato (1 secondo) in millisecondi e in negativo (quindi, -1000).
Se l'audio è in anticipo, si mette positivo (senza segno: 1000).
Se parliamo di un decimo di secono, 100 (millesecondi).
Mezzo secondo: 500...
Tre secondi: 3000.
100 millisecondi (un decimo di secondo) è di norma il minimo che si riesce a distinguere, quindi, fare correzioni di valori inferiori è quasi sempre inutile. Per rifinire, meglio step di 100 per volta, salvo casi particolari.

Comunque, si era detto...valore ipotizzato, 1 secondi di ritardo?
-1000
Confermi.
Menu file, save as avi.
Virtualdub creerà in qualche secondo un piccolo file .avi.
Da controllare per vedere se è a tempo. Se è migliorato o peggiorato.
Salvo gran culo, sarà impossibile beccarlo al primo colpo.
In base a questa prova, si varia opportunamente il valore (-800 .. -700.. oppure -1200...).
Quando il piccolo file .avi sembra a tempo, non occorre far altro che estendere la selezione non più alla sola piccola scena ma all'intero file (sempre con gli stessi tasti), dall'inizio alla fine, e il gioco è fatto. Avrai un file .avi risincronizzato e senza ulteriore elaborazione audio e video (e conseguente decadimento).
Si tratta solo di slittare un po' avanti o un po' indietro la traccia audio rispetto a quella video, infatti.

Naturalmente tutto questo vale per desincronizzazioni uniformi.
Se il file invece è a tempo all'inizio e fuori tempo alla fine, si tratta di una desincronizzazione progressiva, da trattare in tutt'altro modo (_molto_ più complicato).


andym
00domenica 14 marzo 2010 20:06
Allora sono proprio sfortunato. Questo perchè il video e l'audio sono sincroni inizialmente e man mano che il file avi viene visto si perde questo beneficio.
Secondo te perchè dal programma avs converter non si riuscirebbe tranquillamente a convertire da dvr-ms ad avi - o altri - senza problemi? Oppure il file proprietario microsoft deve prima essere trattato in altro modo?
Consiglio su altri "registratori" completi per programmi tv?
Grazie
Paolo1
00domenica 14 marzo 2010 23:41
Hai ancora il file dvr-ms o l'avevi già buttato?
Ci sono varie soluzioni:

1) provare a risincronizzare l'audio così com'è ora (vari sistemi ma nessuno semplice)

2) se hai il file dvr-ms originale, puoi provare altri programmi che convertano dvr-ms (se contiene wmv o asf) in qualcos'altro oppure, se dvr-ms contiene già mpeg2, lo estraggano da questo contenitore.
È molto citato in tanti tutorial il freeware DVRMSToolbox - 1.2.2.0.

Io non mi ero mai occupato di questo formato contenitore dvr-ms, il tuo post mi ha incuriosito.
Se il tuo scopo non è tanto convertire da contenitore dvr-ms in mpeg2 (che potrebbe già essere incluso in un progetto dvd-video senza ulteriori conversioni) ma è quello di ottenere, alla fine, un .avi (contenitore) contenente comune divx/xvid e audio mp3...
ho provato il primo sistema che mi è venuto in mente ed ha funzionato.

Servono Virtualdub e AviSynth, oltre naturalmente alla presenza nel sistema di opportuni codec divx/xvid e mp3 per comprimere.
Avisynth è un'interfaccia tra programmi come virtualdub e il sistema directshow (cioè, detto in maniera semplice, la parte di Windows che si occupa della riproduzione di sistema dei formati multimediali).

Siccome Virtualdub non potrebbe aprire il formato dvr-ms (così come tanti altri formati per cui non è studiato), il file dvr-ms si può far aprire al sistema operativo stesso (occorre preparare uno script di una sola riga, una cosa semplicissima), aprire questo con virtualdub (in modo che quest'ultimo carichi "indirettamente" il video dvr-ms) e quindi.... comprimerlo in AVI divx/mp3 come si fa di solito.

Se hai il file dvr-ms originale e vuoi tentare dimmelo e ti spiego nel dettaglio come fare.

Programmi per registrare da tv?
Non ho mai registrato da tv non disponendo di un sintonizzatore sul pc; quando acquisisco da fonte analogica (tramite scheda di acquisizione) o digitale (da firewire) uso Adobe Premiere o Edius (programmi di montaggio video).
Esistono decine di programmi di acquisizione, virtualdub stesso può farlo. C'è anche virtualvcr.sourceforge.net/ (freeware), ma non solo.
Basta che il video/audio acquisito sia disponibile via directshow e qualsiasi programma di acquisizione, piccolo o grande che sia, funziona. Senza poi dover fissare il materiale acquisito in quell'orrendo formato contenitore microsoft (dvr-ms) per poi doverlo riconvertire..
Che scheda tv hai?

ciao
Paolo
andym
00lunedì 15 marzo 2010 20:08
Si certo il file dvr-ms è presente nel mio disco fisso.
Quindi sono curioso di provare il tuo metodo funzionante.
Per quanto riguarda un programma per la registrazione tv tramite pc cercherei qualcosa che abbia la guida tv aggiornabile (come windows media center), che possa impostare la registrazione con timer per esempio....
La scheda tv è una hauppage wintv hvr-1200 (model 71xxx, hybrid DVB-T, NO fp).
Paolo1
00lunedì 15 marzo 2010 23:06
Avisynth può fare da frame server per programmi esterni come virtualdub.
Siccome virtualdub non può neanche aprire quel tipo di file (tantomeno decomprimerlo), di questo se ne occuperà il sistema stesso assieme ad avisynth, il quale servirà a virtualdub dei fotogrammi e stream audio già decompressi...pronti per essere elaborati a piacemento con VD e ricompressi (mpeg4/mp3) quindi inscatolati dentro un file .avi.
E' una procedura vecchia e usatissima, per esempio per ricomprimere in avi divx i matroska (mkv) o gli .ogm o .mp4 o i .mov, insomma tipologie di file che virtualdub non aprirebbe da solo ma può farlo tramite avisynth come interfaccia.

Installa Avisynth. Se non hai un codec mp3 di sistema, installa LAME ACM (link nel thread in evidenza in questa sezione, sui codec).
Crea un nuovo file di testo nella stessa cartella dove c'è il file .dvr-ms.
Aprilo, incollaci dentro questa riga:

DirectShowSource("nomedeltuofile.dvr-ms")

Salva e rinomina in .avs (levando .txt). Chiaramente devi essere in grado di vedere le estensioni dei file.

A questo punto il file di testo è diventato un basilare script di avisynt (AVisynth Script). Puoi aprirlo con virtualdub, anche trascinandocelo sopra semplicemente.
Dovrebbe apparire subito il video, dentro virtualdub.
A questo punto, occorre impostare virtualdub per una compressione audio/video.
AUDIO: Menu audio, full processing mode, compression...
scegli LAME mp3 e, nella configurazione, indica un bitrate appropriato (CBR 128kbps potrebbe andare benissimo).
VIDEO: bisogna vedere se il video ha bisogno di elaborazione (dimensioni, deinterlacciamento) o no.
Se sembra già in proporzione giusta (non appare deformato) e non si notano righette muovendo indietro e avanti il cursore per far scorrele l'immagine....
metti video, fast recompress.
Se invece si notano le classiche righette nei contorni dell'immagine oppure l'immagine è deformata, occorre correggere queste cose, quindi:
video, full processing mode.
Filters...
add filter...
RESIZE.
Con questo devi impostare delle proporzioni giuste, tenendo ferma la larghezza dell'immagine (720 pixel?) e diminuendo l'altezza (facendo però in modo che il numero trovato sia un multiplo di 16, cosa consigliabile). C'è il tasto di preview, per aggiustare.
Dopo, filters...add filter...deinterlace, blend fields, OK.
Dovrebbe essere possibile vedere l'anteprima di quello che si sta facendo nella finestra principale di virtualdub, a destra.
Se pare tutto a posto, non resta che impostare il codec video.
Video, compression...
Scegli il codec. Se hai divx pro puoi comprimere in divx, cioè avrai questa voce nel menu.
Altrimenti, dovrai usare un codec free come xvid (che devi chiaramente avere già nel sistema).
In ogni caso, o uno o l'altro...si seleziona, si preme CONFIGURE e nella finestra che si apre si imposta il bitrate e altre cose.
Se non sei un po' pratico dell'argomento, imposta solo il bitrate e lascia tutto il resto di default. Che so, 1200 o 1300 kbps (è un valore abbastanza alto, anche se potrebbe esserlo di più...ma anche molto meno..).
Fatto questo, FILE--SAVE AS AVI....
e parte la ricompressione audio e video. Il tempo dipende dalla potenza del pc (soprattutto processore), potrebbe metterci un quarto d'ora come due ore. Basterà vedere il ritmo di frame per secondo che riesce ad elaborare.

Per il resto....
quel programma già citato, VirtualVCR, pare abbia un sacco di opzioni per essere programmato ..come un videoregistratore. Potresti provarlo.

Fai sapere cosa ne esce dalla ricompressione con VD.
andym
00lunedì 12 aprile 2010 20:36
Ciao,
scusa se non ho ancora risposto ma il lavoro mi ha succhiato tutto il tempo disponibile per provare la conversione.
Conto di riuscirci entro 1 settimana e darti conferma del tuo metodo.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 09:10.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com