Got a new digital camcorder, pretty cheap - Panasonic PV-GS80. I'm
filming in 16:9 mode, with 16 bit sound.
Capturing with dvgrab, transcoding to DVD-compatible MPEG2. Scripts are
here:
http://florin.myip.org/soft/conv-dvd/
Operating system is Ubuntu 7.04
The problem is, transcode seems to segfault at the end of a DV file. I
used initially transcode-1.0.2 and mjpegtools-1.8.0 provided with
Ubuntu, then I upgraded to transcode-1.0.4 and mjpegtools-1.9.0rc2, but
the segfault still happens.
I can't seem to figure out how to eliminate the segfault. Any help is
appreciated, I will work with anyone willing to fix the problem.
Please note that I wrote the scripts above some years ago and have been
using them with very good results for a long time, but on Fedora Core as
an OS and with an older Sony digital camcorder set to 4:3 image format.
Below are the outputs from two segfaults, one at the default verbosity
level and with default transcode and mjpegtools versions, the other at
-q 2 and with upgraded software:
#############################################
transcode v1.0.2 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
[transcode] auto-probing source dv/kids_new_home-2007.11.03_21-39-28.avi
(ok)
[transcode] V: import format | Digital Video RIFF data, AVI
(V=ffmpeg|A=avi)
[transcode] V: import frame | 720x480 1.50:1
[transcode] V: bits/pixel | 0.772
[transcode] V: decoding fps,frc | 29.970,4
[transcode] V: Y'CbCr | YV12/I420
[transcode] A: import format | 0x1 PCM [48000,16,2] 1536
kbps
[transcode] A: export format | 0x2000 AC3 [48000,16,2] 192
kbps
[transcode] V: encoding fps,frc | 29.970,4
[transcode] A: bytes per frame | 6408 (6406.400000)
[transcode] A: adjustment | [EMAIL PROTECTED]
[transcode] V: IA32/AMD64 accel | sse3 (sse3 sse2 sse 3dnowext 3dnow
mmxext mmx asm C)
tc_memcpy: using sse for memcpy
[transcode] V: video buffer | 10 @ 720x480
[import_avi.so] v0.4.2 (2002-05-24) (video) * | (audio) *
[import_ffmpeg.so] v0.1.12 (2004-05-07) (video) ffmpeg: MS
MPEG4v1-3/MPEG4/MJPEG
[export_raw.so] v0.3.12 (2003-08-04) (video) * | (audio) MPEG/AC3/PCM
[export_mpeg2enc.so] v1.1.10 (2003-10-30) (video) MPEG 1/2
[import_avi.so] format=0x1, rate=48000 Hz, bits=16, channels=2, bitrate=1536
[export_mpeg2enc.so] *** init-v *** !
[export_mpeg2enc.so] cmd=mpeg2enc -v 0 -I 1 -f 8 -b 8000 -F 4 -n n -a 3
-o "kids_new_home-2007.11.03_21-39-28.m2v" -c -q 5 -4 1 -2 1 -s -D 10 -K
file=matrix.txt -R 2
/usr/local/bin/conv-dvd: line 101: 21950 Segmentation fault (core
dumped) transcode -i dv/$inp -x ffmpeg -w $bitr --encode_fields b ${asr}
-F 8,"${flags}" -y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 -o $out
--print_status 10
#############################################
###########################################
transcode v1.0.4 (C) 2001-2003 Thomas Oestreich, 2003-2004 T.
Bitterberg, 2004-2007 Transcode Team
[tcprobe] RIFF data, AVI video
[transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms
(probe.c) V magic=0x17, A magic=0x17, V codec=0x1000, A codec=0x1
(probe.c) V magic=RIFF data, AVI, A magic=RIFF data, AVI, V
codec=Digital Video, A codec=PCM
[transcode] auto-probing source dv/kids_new_home-2007.11.03_21-39-28.avi
(ok)
[transcode] V: import format | Digital Video RIFF data, AVI
(V=ffmpeg|A=avi)
[transcode] V: import frame | 720x480 1.50:1
[transcode] V: bits/pixel | 0.772
[transcode] V: decoding fps,frc | 29.970,4
[transcode] V: Y'CbCr | YV12/I420
[transcode] A: import format | 0x1 PCM [48000,16,2] 1536
kbps
[transcode] A: export format | 0x2000 AC3 [48000,16,2] 192
kbps
[transcode] V: encoding fps,frc | 29.970,4
[transcode] A: bytes per frame | 6408 (6406.400000)
[transcode] A: adjustment | [EMAIL PROTECTED]
[transcode] V: IA32/AMD64 accel | sse3 (sse3 sse2 sse 3dnowext 3dnow
mmxext mmx asm C)
tc_memcpy: using sse for memcpy
[transcode] encoder delay = decode=40000 encode=40000 usec
[transcode] V: video buffer | 10 @ 720x480
[transcode] allocating 10 framebuffer (static)
loading audio import module /opt/transcode/lib/transcode/import_avi.so
loading video import module /opt/transcode/lib/transcode/import_ffmpeg.so
[import_avi.so] v0.4.2 (2002-05-24) (video) * | (audio) *
Audio capability flag 0x233 | 0x1
[import_ffmpeg.so] v0.1.12 (2004-05-07) (video) ffmpeg: MS
MPEG4v1-3/MPEG4/MJPEG
Video capability flag 0x2a | 0x2
loading audio export module /opt/transcode/lib/transcode/export_raw.so
loading video export module /opt/transcode/lib/transcode/export_mpeg2enc.so
[export_raw.so] v0.3.12 (2003-08-04) (video) * | (audio) MPEG/AC3/PCM
(encoder.c) audio capability flag 0x33f | 0x1
[export_mpeg2enc.so] v1.1.10 (2003-10-30) (video) MPEG 1/2
(encoder.c) video capability flag 0xa | 0x2
[transcode] starting 1 frame processing thread(s)
[transcode] starting 1 frame processing thread(s)
[import_avi.so] format=0x1, rate=48000 Hz, bits=16, channels=2, bitrate=1536
[export_mpeg2enc.so] *** init-v *** !
(aud_aux.c) Debug: Audio submodule in=0x1 out=0x2000
(aud_aux.c) Debug: PCM -> AC3
P1=8, P2=-c -q 5 -4 1 -2 1 -s -D 10 -K file=matrix.txt -R 2, P3=(null)
[export_mpeg2enc.so] cmd=mpeg2enc -v 2 -I 1 -f 8 -b 8000 -F 4 -n n -a 3
-o "kids_new_home-2007.11.03_21-39-28.m2v" -c -q 5 -4 1 -2 1 -s -D 10 -K
file=matrix.txt -R 2
(aud_aux.c) Debug: Sending audio output to
kids_new_home-2007.11.03_21-39-28.ac3
(decoder.c) audio thread id=-1273652336
(decoder.c) video thread id=-1282045040
INFO: [mpeg2enc] SETTING EXTENDED MMX for MOTION!
INFO: [mpeg2enc] SETTING SSE and MMX for TRANSFORM!
INFO: [mpeg2enc] SETTING EXTENDED MMX for PREDICTION!
INFO: [mpeg2enc] Selecting DVD with dummy navigation packets output
profile
INFO: [mpeg2enc] Encoding MPEG-2 video to
kids_new_home-2007.11.03_21-39-28.m2v
INFO: [mpeg2enc] Horizontal size: 720 pel
INFO: [mpeg2enc] Vertical size: 480 pel
INFO: [mpeg2enc] Aspect ratio code: 3 = 16:9 display
INFO: [mpeg2enc] Frame rate code: 4 = 30000.0/1001.0 (NTSC VIDEO)
INFO: [mpeg2enc] Bitrate: 8000 KBit/s
INFO: [mpeg2enc] Quality factor: 5 (Quantisation = 5) (1=best, 31=worst)
INFO: [mpeg2enc] Field order for input: bottom-field-first
INFO: [mpeg2enc] Sequence unlimited length
INFO: [mpeg2enc] Search radius: 16
INFO: [mpeg2enc] DualPrime: no
INFO: [mpeg2enc] Using one-pass rate controller
INFO: [mpeg2enc] GOP SIZE RANGE 9 TO 18 (all GOPs closed)
INFO: [mpeg2enc] Setting colour/gamma parameters to "NTSC"
INFO: [mpeg2enc] Progressive format frames = 0
INFO: [mpeg2enc] Loading custom matrices from user specified file
INFO: [mpeg2enc] SETTING MMX and MMX for QUANTIZER!
INFO: [mpeg2enc] PAR = 0
--DEBUG: [mpeg2enc] Split len = 0
INFO: [mpeg2enc] NEW GOP INIT length 18
--DEBUG: [mpeg2enc] FIRST GOP INIT
--DEBUG: [mpeg2enc] Frame I T=77350 A=600600 Xi=1.00 Xp=1.00 Xb=1.00
--DEBUG: [mpeg2enc] Start 0 I(prg) 0 0
--DEBUG: [mpeg2enc] Frame I A= 48638 1945520.00: I = 48638 P = nan B
= nan
INFO: [mpeg2enc] Enc1 0 0( 0) I q=5.00 [100% Intra]
--DEBUG: [mpeg2enc] Frame P T=40368 A=532870 Xi=1945520.00 Xp=1.00 Xb=1.00
--DEBUG: [mpeg2enc] Start 1 P(prg) 3 3
--DEBUG: [mpeg2enc] Frame P A= 21098 843920.00: I = 48638 P = 21098 B =
nan
INFO: [mpeg2enc] Enc1 1 3( 3) P q=5.00 [0% Intra]
--DEBUG: [mpeg2enc] Frame B T=22245 A=587282 Xi=1945520.00 Xp=843920.00
Xb=1.00
--DEBUG: [mpeg2enc] Start 2 B(prg) 1 1
--DEBUG: [mpeg2enc] Frame B A= 18037 721480.00: I = 48638 P = 21098 B =
18037
INFO: [mpeg2enc] Enc1 2 1( 1) B q=5.00 [0% Intra]
--DEBUG: [mpeg2enc] Frame B T=28993 A=600600 Xi=1945520.00 Xp=843920.00
Xb=721480.00
--DEBUG: [mpeg2enc] Start 3 B(prg) 2 2
--DEBUG: [mpeg2enc] Frame B A= 18213 728520.00: I = 48638 P = 21098 B =
18125
INFO: [mpeg2enc] Enc1 3 2( 2) B q=5.00 [0% Intra]
--DEBUG: [mpeg2enc] Frame P T=33879 A=600600 Xi=1945520.00 Xp=843920.00
Xb=722855.63
--DEBUG: [mpeg2enc] Start 4 P(prg) 6 6
--DEBUG: [mpeg2enc] Frame P A= 20926 837040.00: I = 48638 P = 21012 B =
18125
INFO: [mpeg2enc] Enc1 4 6( 6) P q=5.00 [0% Intra]
--DEBUG: [mpeg2enc] Frame B T=29048 A=600600 Xi=1945520.00 Xp=841431.49
Xb=722855.63
[............]
--DEBUG: [mpeg2enc] Retain 3803 B(prg) 4 3802
--DEBUG: [mpeg2enc] Frame B A= 19696 31513.60: I = 0 P = 0 B =
0
INFO: [mpeg2enc] Pass2 3803 3802( 4) B q=5.00 RETAINED
INFO: [mpeg2enc] RELS: 3803 3802
INFO: [mpeg2enc] SKIP: 3804 - reencode actual 146304 (5.0) target
146304 (5.0)
--DEBUG: [mpeg2enc] Retain 3804 B(prg) 5 3803
--DEBUG: [mpeg2enc] Frame B A= 18288 29260.80: I = 0 P = 0 B =
0
INFO: [mpeg2enc] Pass2 3804 3803( 5) B q=5.00 RETAINED
INFO: [mpeg2enc] RELS: 3804 3803
INFO: [mpeg2enc] SKIP: 3805 - reencode actual 165864 (5.0) target
165864 (5.0)
--DEBUG: [mpeg2enc] Retain 3805 P(prg) 9 3807
--DEBUG: [mpeg2enc] Frame P A= 20733 33172.80: I = 0 P = 0 B =
0
INFO: [mpeg2enc] Pass2 3805 3807( 9) P q=5.00 RETAINED
INFO: [mpeg2enc] RELS: 3805 3807
INFO: [mpeg2enc] SKIP: 3806 - reencode actual 145704 (5.0) target
145704 (5.0)
--DEBUG: [mpeg2enc] Retain 3806 B(prg) 7 3805
--DEBUG: [mpeg2enc] Frame B A= 18213 29140.80: I = 0 P = 0 B =
0
INFO: [mpeg2enc] Pass2 3806 3805( 7) B q=5.00 RETAINED
INFO: [mpeg2enc] RELS: 3806 3805
INFO: [mpeg2enc] SKIP: 3807 - reencode actual 149256 (5.0) target
149256 (5.0)
--DEBUG: [mpeg2enc] Retain 3807 B(prg) 8 3806
--DEBUG: [mpeg2enc] Frame B A= 18657 29851.20: I = 0 P = 0 B =
0
INFO: [mpeg2enc] Pass2 3807 3806( 8) B q=5.00 RETAINED
INFO: [mpeg2enc] RELS: 3807 3806
INFO: [mpeg2enc] Guesstimated final muxed size = 84619270
(encoder.c) encoder closed
(decoder.c) import stop requested by client=-1210267440
(main=-1210267440) import status=0
(decoder.c) video thread already terminated
(decoder.c) A/V import canceled (-1210267440) (-1210267440)
(decoder.c) video thread exit (ret_code=0) (status_code=13)
(decoder.c) audio thread exit (ret_code=0) (status_code=4294967295)
(decoder.c) vframe_list_lock=0
(decoder.c) aframe_list_lock=0
/usr/local/bin/conv-dvd: line 101: 29161 Segmentation fault (core
dumped) transcode -q 2 -i dv/$inp -x ffmpeg -w $bitr --encode_fields b
${asr} -F 8,"${flags}" -y mpeg2enc,raw -N 0x2000 -b 192 -m $out.ac3 -o
$out --print_status 10
###########################################
--
Florin Andrei
http://florin.myip.org/