Newsgroup: it.comp.os.linux.software
Titolo: Unire filmati avi con mencoder

Proprio non ci riesco!
Ottengo una cosa inguardabile completamente fuori sincronia!! :(
I due file (docce2.avi e taglio2.avi) si vedono benissimo da soli;
per sicurezza li ho passati,cmq,attraverso :
mencoder -idx input.avi -ovc copy -oac copy -o output.avi
come da manuale di mplayer
Poi li "catto" in pipe all'mencoder esattamente come da manuale!
Il risultato (tutto2.avi) e' perfettamente sincronizzato per tutta la 
durata del primo file,poi si perde completamente... (e non di poco!).
Non mi dite :"prova ad usare avimerge o avidemux" a parte i problemi che 
si verificano anche li',vorrei riuscirci solo con questo sw!
O almeno capire il perche' non riesco!!
Ciao e grazie!
Ale
Allego l'output di mplayer per i 3 file:
---->PRIMO FILE<----
Playing docce2.avi
Cache fill: 13,77% (1155072 bytes)    AVI file format detected.
VIDEO:  [DX50]  640x272  24bpp  23,976 fps  3402,7 kbps (415,4 kbyte/s)
Clip info:
  Software: MEncoder 1.0pre2-3.2.2
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 12000->192000 (96,0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
vo: X11 running at 1680x1050 with depth 24 and 32 bpp (":0.0" => local 
display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
----------------------------------------------------------------------
---->SECONDO FILE<----
Playing taglio2.avi
Cache fill:  0,00% (0 bytes)    AVI file format detected.
VIDEO:  [DX50]  640x272  24bpp  23,976 fps  5848,3 kbps (713,9 kbyte/s)
Clip info:
  Software: MEncoder 1.0pre2-3.2.2
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 12000->192000 (96,0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
vo: X11 running at 1680x1050 with depth 24 and 32 bpp (":0.0" => local 
display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
-------------------------------------------------------------------
--->FILE FINALE<---
Playing tutto2.avi
Cache fill:  0,00% (0 bytes)    AVI file format detected.
VIDEO:  [DX50]  640x272  24bpp  23,976 fps  3433,2 kbps (419,1 kbyte/s)
Clip info:
  Software: MEncoder 1.0pre2-3.2.2
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 12000->192000 (96,0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
vo: X11 running at 1680x1050 with depth 24 and 32 bpp (":0.0" => local 
display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)

 Poi li "catto" in pipe all'mencoder esattamente come da manuale!
Prima "catta" i due file in un unico:
cat docce2.avi taglio2.avi > input.avi
e poi vai di mencoder:
mencoder -idx input.avi -ovc copy -oac copy -o output.avi
Non il contrario.
-- 
 ____  Saluti dal   | Eliminate  .non.voglio.spam  dall'indirizzo
(_  _)  __  __ ___  | per rispondermi, se non vi piace quello che
  )/ o\/  \/o_\>-_) | ho scritto considerate che,  in un universo
 (_\_-_|_|_\__/___> | parallelo,  potrebbe essere anche  diverso.

 Non il contrario.
Forse non mi sono spiegato bene:
ho fatto esattamente quello che dici tu,senza redigirigere l'output su 
un file,ma dandolo in pasto all'mencoder attraverso la pipe!
Per test,entrambi gli spezzoni ho tentato di "correggerli" ANCHE prima 
di concatenarli ma non cambia nulla!

 concatenarli ma non cambia nulla!
Mi dispiace... l'unica cosa che mi viene in mente e di ricodificare, con
parametri uguali a quelli degli spezzoni, un nuovo filmato. Dovrebbe
funzionare, ma non e' una soluzione "pulita".


> e poi vai di mencoder:
Ho provato anch'io per curiosità, ma ottengo i seguenti errori:
~$ cat f1.avi f2.avi > input.avi
~$ mencoder -idx input.avi -ovc copy -oac copy -o output.avi
MEncoder dev-CVS--3.3.3 (C) 2000-2004 MPlayer Team
CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino 1400 MHz (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
MMX2 supported but disabled
SSE supported but disabled
CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX 3DNow 3DNowEx
Reading /home/theo/.mplayer/codecs.conf: Can't open '/home/theo/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/mencoder_codecs.conf: 64 audio & 174 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading config file /home/theo/.mplayer/mencoder: No such file or directory
font: can't open file: /home/theo/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
success: format: 0  data: 0x0 - 0x56FAA000
AVI file format detected.
** warning: this is no extended AVI header..
Demuxer info Software already present!
VIDEO:  [DX50]  640x352  24bpp  25,000 fps  1766,0 kbps (215,6 kbyte/s)
[V] filefmt:3  fourcc:0x30355844  size:640x352  fps:25,00  ftime:=0,0400
videocodec: framecopy (640x352 24bpp fourcc=30355844)
audiocodec: framecopy (format=2000 chans=2 rate=48000 bits=0 bps=28000 sample=1)
Writing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Seek failed     13f (42%)   0fps Trem:   0min   0mb  A-V:0,029 [0:0]
Pos:   1,0s     26f (-44%)   1fps Trem:   0min   0mb  A-V:0,037 [2173:223]
Writing AVI index...
Fixing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Video stream: 2173,877 kbit/s  (271734 bps)  size: 282604 bytes  1,040 secs  26 frames
Audio stream:  224,000 kbit/s  (27999 bps)  size: 28720 bytes  1,026 secs
~$ ls -l
-rw-r--r--    1 theo     theo     1459265536 2004-05-09 12:26 input.avi
-rw-r--r--    1 theo     theo       316140 2004-05-09 13:34 output.avi
Ciao,
  Void :-?

 ~$ mencoder -idx input.avi -ovc copy -oac copy -o output.avi
No,no! Non redirigere su file il cat,ma usa la pipe!!
cat f1.avi f2.avi | mencoder -idx -ovc copy -oac copy -o output.avi -
Vedrai che cosi' funziona! (a parte i possibili errori che mi sono 
capitati).
Guarda il paragrafo 7.5.1 del manuale di mplayer!
Ciao
Ale

 cat f1.avi f2.avi | mencoder -idx -ovc copy -oac copy -o output.avi -
Hmm, neanche così mi funziona: è come se mi processasse solo il primo
file:
-rwxrwxrwx    1 722788352 2004-04-09 21:34 1.avi
-rwxrwxrwx    1 736477184 2004-04-15 09:30 2.avi
-rw-r--r--    1 720393734 2004-05-15 00:41 output.avi
... e in effetti provando a lanciare output avi vedo solo il primo filmato
(tra l'altro cos'è "frameno.avi"?)...
Ho fatto come mi hai suggerito, ma ottengo quanto segue:
=========================================================
$ cat 1.avi 2.avi | mencoder -idx -ovc copy -oac copy -o output.avi -
MEncoder dev-CVS--3.3.3 (C) 2000-2004 MPlayer Team
CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino 1533 MHz (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
MMX2 supported but disabled
SSE supported but disabled
CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX 3DNow 3DNowEx
Reading /home/theo/.mplayer/codecs.conf: Can't open '/home/theo/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/mencoder_codecs.conf: 64 audio & 174 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading config file /home/theo/.mplayer/mencoder: No such file or directory
font: can't open file: /home/theo/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
Reading from stdin...
success: format: 0  data: 0x0 - 0x0
AVI file format detected.
VIDEO:  [DX50]  640x352  24bpp  25,000 fps  1104,2 kbps (134,8 kbyte/s)
[V] filefmt:3  fourcc:0x30355844  size:640x352  fps:25,00  ftime:=0,0400
videocodec: framecopy (640x352 24bpp fourcc=30355844)
audiocodec: framecopy (format=2000 chans=2 rate=48000 bits=0 bps=28000 sample=1)
Writing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Pos:4327,3s 108182f (100%) 1278fps Trem:   0min 685mb  A-V:0,040 [1102:224]
Writing AVI index...
Fixing AVI header...
ODML: Aspect information not (yet?) available or unspecified, not writing vprp header.
Video stream: 1102,574 kbit/s  (137821 bps)  size: 596393509 bytes  4327,280 secs  108182 frames
Audio stream:  224,000 kbit/s  (28000 bps)  size: 121163840 bytes  4327,280 secs
=========================================================
PS: anche facendo quanto segue ottengo lo stesso risultato:
$ cat f1.avi f2.avi > input.avi
$ cat input.avi | mencoder -idx -ovc copy -oac copy -o output.avi -
PPS: anche seguendo alla lettera il manuale, stesso risultato:
$ mencoder -idx origin1.avi -ovc copy -oac copy -o f1.avi
$ mencoder -idx origin2.avi -ovc copy -oac copy -o f2.avi
$ cat f1.avi f2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -
Ciao e grazie,
  Void :-?

 
1.avi e 2.avi hanno le stesse caratteristiche?
Devo essere uguali! Usa l'opzione "identify" di mplayer per assicurartene!
Cmq,hai fatto quasi quanto ho fatto io: ho lo stesso problema! :(
Pero' io ero riuscito a ottenere un filmato completo!
Hai mica qualche "broken frame" all'interno dei filmati?
Ho giochicchiato anche con avidemux,ma con risultati abbastanza deludenti!
Io sto entrando adesso nel mondo "video con mille codec",mi sa che sara' 
una strada molto lunga.... :(
Ciao
Ale

 una strada molto lunga.... :(
Eh, anch'io sto timidamente entrando il questo mondo e sto procedendo a
testate... :-/ Perché, ad esempio, Cinelerra non può esportare
direttamente in XviD? Che mondo difficile... :-)
Ciao,
  Void :-)

 In effetti hanno bitrate video (e id_length) differenti (sono divx5)...
E no!! E no!! Dai,questi errori..... ;)
Dal manuale di Mencoder:
"This expects 1.avi and 2.avi to use the same codecs, resolution, stream 
rate etc, and at least 1.avi"
Ciao
Ale

 E no!! E no!! Dai,questi errori..... ;)
Ops... :-)
Ciao,
  Void :-)