I have an old VHS-originated vcd video file, which seems to have incorrect
field interlacing, ie. movement produces "spikes" on edges. Are there other
encoding faults that can cause effects like this?

What is the correct procedure for re-encoding this, nothing I've tried so far
even tries to do anything but fails with all kinds of rather cryptic error
messages? The online resources I've found explaining procedure and command
line switches seem quite outdated, including
        http://www.transcoding.org/cgi-bin/transcode?Command_Examples
which was given on the man page. Last edited in 2005. Even the man page seems
outdated as it uses "-V" in an example about vcd encoding, which produces a
warning from the current transcode!

(I'm working here with a small clip extracted from the hour-long video)

% uname -a
Linux tigger.otto.net 2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 14:56:37 EDT 2007
x86_64 x86_64 x86_64 GNU/Linux
% rpm -q transcode ffmpeg mpgtx
transcode-1.0.3-1.fc7
ffmpeg-0.4.9-0.8.20070530.fc7
mpgtx-1.3.1-1.fc7
% ls -l interlaces.mpg
-rw-rw-r-- 1 otto otto 1941351 2007-07-26 17:05 interlaces.mpg
% tcprobe -i interlaces.mpg
[tcprobe] MPEG program stream (PS)
[tcprobe] summary for interlaces.mpg, (*) = not default, 0 = not detected
import frame size: -g 352x288 [720x576] (*)
     aspect ratio: 4:3 (*)
       frame rate: -f 25.000 [25.000] frc=3
                   PTS=95443.7164, frame_time=40 ms, bitrate=1150 kbps
      audio track: -a 0 [0] -e 44100,16,2 [48000,16,2] -n 0x50 [0x2000] (*)
                   PTS=148.8008, bitrate=224 kbps
                   -D 2382372 --av_fine_ms 35 (frames & ms) [0] [0]
% mpginfo interlaces.mpg
interlaces.mpg
  Mpeg 1 System File [Video/Audio]
  Muxrate : 1.41 Mbps
  Estimated Duration: 11.00s
  Checking all time stamps (This may take a while.) ...
  Time line seems to be ok.
  Size [352 x 288]     25.00 fps    1.15 Mbps
  Audio : Mpeg 1 layer 2
  224 kbps  44100 Hz
  Stereo,  No emphasis

% transcode -i interlaces.mpg -J fields=flip --export_prof vcd-pal -o test
transcode v1.0.3 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
[transcode] (probe) suggested AV correction -D 2382372 (-76503811 ms) | AV
95294915 ms | 35 ms
[transcode] auto-probing source interlaces.mpg (ok)
[transcode] V: import format    | MPEG    (V=mpeg2|A=mp3)
[transcode] V: AV demux/sync    | (0) sync AV at PTS start - demuxer disabled
[transcode] V: import frame     | 352x288  1.22:1  encoded @ 4:3
XXX: zoom=no pre_clip=yes
[transcode] V: pre clip frame   | 352x062 (114,0,112,0)
[transcode] V: bits/pixel       | 3.299
[transcode] V: decoding fps,frc | 25.000,3
[transcode] V: Y'CbCr           | YV12/I420
[transcode] A: import format    | 0x50    MPEG layer-2 [44100,16,2]  224 kbps
[transcode] A: export format    | 0x50    MPEG layer-2 [44100,16,2]  128 kbps
[transcode] V: encoding fps,frc | 25.000,3
[transcode] A: bytes per frame  | 7056 (7056.000000)
[transcode] A: adjustment       | [EMAIL PROTECTED]
[transcode] A: AV shift         | 95294915 ms [ 2382372 (A) | 35 ms ]
[transcode] V: IA32/AMD64 accel | sse2 (sse2 sse mmxext mmx asm C)
tc_memcpy: using amd64 for memcpy
[transcode] V: video buffer     | 10 @ 352x288
[import_mp3.so] v0.1.4 (2003-08-04) (audio) MPEG
[import_mpeg2.so] v0.4.0 (2003-10-02) (video) MPEG2
[filter_fields.so] v0.1.1 (2003-01-21) Field adjustment plugin
[filter_fields.so] Transposing input fields  (flip)
[export_mp2enc.so] v1.0.10 (2004-09-27) (audio) MPEG 1/2
[export_mpeg2enc.so] v1.1.10 (2003-10-30) (video) MPEG 1/2
[import_mp3.so] MP3->PCM
[import_mp3.so] tcextract -a 0 -i "interlaces.mpg" -x mp2 -d 0 | tcdecode -x
mp2 -d 0 -z 0
[import_mpeg2.so] tcextract -x mpeg2 -i "interlaces.mpg" -d 0 | tcdecode -x
mpeg2 -d 0 -y yv12
[export_mpeg2enc.so] *** init-v *** !
[export_mp2enc.so] *** init-v *** !
[export_mpeg2enc.so] cmd=mpeg2enc -v 0 -I 0 -f 1 -F 3 -n p  -a 2  -o "test.m1v"
tc_memcpy: using amd64 for memcpy
[export_mp2enc.so] export profile changed bitrate: 128 -> 224 kbps.
[export_mp2enc.so] (45/4096) cmd=mp2enc -v 0 -r 44100 -b 224 -s -o "test.mpa"
[decode_mpeg2.c] libmpeg2 acceleration: none (plain C)tc_memcpy: using amd64
for memcpy
**ERROR: [mp2enc] Error reading wave data

clean up | frame threads | unload modules | cancel signal | internal threads |
done
[transcode] encoded 0 frames (0 dropped, 0 cloned), clip length   0.00 s

-- 
   /* * * Otto J. Makela <[EMAIL PROTECTED]> * * * * * * * * * * * * * * * */
  /* Phone: +358 40 765 5772, FAX: +358 42 7655772, ICBM: 60N 25E */
 /* Mail: Mechelininkatu  26 B 27,  FI-00100  Helsinki,  FINLAND */
/* * * Computers Rule 01001111 01001011 * * * * * * * * * * * * */

Reply via email to