[mythtv-users] nuv2avi question

Eyal Lebedinsky eyal at eyal.emu.id.au
Sat Apr 16 09:28:19 UTC 2005


I want to extract the streams from a nuv file without any
recoding. It was suggested that I try nuv2avi.

After some searching I located and fetched
	http://mythtv.beirdo.ca/files/nuvtools-0.0.3.tar.gz
which looks reasonably current.

Building as
	./configure
	make install
fails with:

gcc -o nuv2avi main.o reader.o writer.o decode.o encode.o resync.o vidReencode.o audReencode.o -L./../ffmpeg/libavformat -lavformat -L./../ffmpeg/libavcodec -lavcodec -L./../libnuvread -lnuvread -lm -lz -lmp3lame -lpthread -L./../libnuvtools -lnuvtools -L./../librtjpeg -lrtjpeg -L./../libminilzo -lminilzo
/usr/lib/gcc-lib/i486-linux/3.3.5/../../../libmp3lame.a(interface.o)(.text+0xfb6): In function `decodeMP3':
: multiple definition of `decodeMP3'
decode.o(.text+0x460):/data2/download/mythtv/nuvtools-0.0.3/nuv2avi/decode.c:180: first defined here
/usr/bin/ld: Warning: size of symbol `decodeMP3' changed from 15 in decode.o to 140 in /usr/lib/gcc-lib/i486-linux/3.3.5/../../../libmp3lame.a(interface.o)

This conflict I do not know how to resolve. Assuming that it was
a random name clash I renamed decodeMP3 to MYdecodeMP3 and the
install completed.

Runinng though gives a Segmentation fault right away:

$ nuv2avi -i 2002_20050411203200_20050411211500.nuv -o /tmp/vioxx.avi
nuv2avi  (c) 2004 Gavin Hurlbut
Starting, $Revision: 1.9 $
Filename: 2002_20050411203200_20050411211500.nuv
   Frame Size: 720x576  FPS: 25.000  Keyframe Distance: 30

Extend: Version: 1  Video 4CC: DIVX Audio 4CC: LAME
    Audio: Rate: 48000  Bits: 16  Channels: 2  Compr. Ratio: 11  Quality: 7
    RTJPEG: Quality: 0  Luma Filter: 0  Chroma Filter: 0
    LAVC: Bitrate: 2970000  Qmin: 2  Qmax: 15  Max Qdiff: 3
    Offsets: seektable: 1059781636  KFA: 0

LAME version 3.96  (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 20323 Hz - 20903 Hz
Output #0, avi, to '/tmp/vioxx.avi':
   Stream #0.0: Video: mpeg4, 720x576, 25.00 fps, q=2-31, 2970 kb/s
   Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s

Frame         1  Elapsed Time 00:00:00.000506  Offset     0.000  FPS   1976.28Segmentation fault


gdb says:

Starting program: /data2/usr/local/bin/nuv2avi -i 2002_20050411203200_20050411211500.nuv -o /tmp/vioxx.avi
[Thread debugging using libthread_db enabled]
[New Thread -1209679744 (LWP 22002)]
nuv2avi  (c) 2004 Gavin Hurlbut
Starting, $Revision: 1.9 $
[New Thread -1209680976 (LWP 22005)]
Filename: 2002_20050411203200_20050411211500.nuv
   Frame Size: 720x576  FPS: 25.000  Keyframe Distance: 30

Extend: Version: 1  Video 4CC: DIVX Audio 4CC: LAME
    Audio: Rate: 48000  Bits: 16  Channels: 2  Compr. Ratio: 11  Quality: 7
    RTJPEG: Quality: 0  Luma Filter: 0  Chroma Filter: 0
    LAVC: Bitrate: 2970000  Qmin: 2  Qmax: 15  Max Qdiff: 3
    Offsets: seektable: 1059781636  KFA: 0

[New Thread -1218069584 (LWP 22006)]
[New Thread -1226458192 (LWP 22007)]
[New Thread -1234846800 (LWP 22008)]
[New Thread -1243858000 (LWP 22009)]
LAME version 3.96  (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 20323 Hz - 20903 Hz
Output #0, avi, to '/tmp/vioxx.avi':
   Stream #0.0: Video: mpeg4, 720x576, 25.00 fps, q=2-31, 2970 kb/s
   Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s

Frame         1  Elapsed Time 00:00:00.000085  Offset 10894.247  FPS  11764.71
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1243858000 (LWP 22009)]
0xb7ecea09 in free () from /lib/tls/libc.so.6
(gdb) where full
#0  0xb7ecea09 in free () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x0824d78d in nuv_free_frame (frame=0xb7f8dc60) at nuvread.c:222
No locals.
#2  0x0804aa68 in WriterThread (arg=0x835c038) at writer.c:286
         i = 0
         oc = (AVFormatContext *) 0x8485700
         fmt = (AVOutputFormat *) 0x1f
         pkt = {pts = 27, dts = 27,
   data = 0x8426ea8 " A\bP\217A\b\004b`aL0\214\201\\P\201\002\004!\023\034)\0258\203\a\234\201", size = 19099, stream_index = 0, flags = 0,
   duration = 1, destruct = 0x804f2d0 <av_destruct_packet_nofree>, priv = 0x0}
         codec = (AVCodec *) 0x18
         syncFrame = 1
         nv = (nuvFile *) 0x8485688
         frame = (nuvFrame *) 0x20
         done = 0
         frameCount = 30
         hrs = 0
         min = 0
         sec = 0
         usec = 85
         fps = 0
         Offset = 10894247
         tvStart = {tv_sec = 1113642064, tv_usec = 798549}
         tvNow = {tv_sec = 1113642064, tv_usec = 799515}
         tv = {tv_sec = 0, tv_usec = 85}
         tvLastDisp = {tv_sec = 1113642064, tv_usec = 798634}
#3  0xb7f95b63 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#4  0xb7f34c4a in clone () from /lib/tls/libc.so.6
No symbol table info available.

Before I dig too deeply into the sources, am I building it
properly? How should I resolve the symbol conflict?

I am on Debian/testing.

--
Eyal Lebedinsky (eyal at eyal.emu.id.au) <http://samba.org/eyal/>
	attach .zip as .dat


More information about the mythtv-users mailing list