View previous topic :: View next topic |
Author |
Message |
Chewi Developer
Joined: 01 Sep 2003 Posts: 886 Location: Edinburgh, Scotland
|
Posted: Thu Jan 22, 2004 1:40 am Post subject: Transcode and Quicktime support |
|
|
Please help, this has been doing my head in all day and I'm fed up. Transcode is supposed to support Quicktime. Traditionally it's done this through openquicktime but I gather that it's now possible to use the much newer quicktime4linux as well. Gentoo offers these as well as libquicktime but only one of these can be installed at any one time.
I don't know how many times I've tried to compile Transcode today. If you let emerge do its own thing then regardless of the quicktime USE flag, it always seems to say no for Quicktime support at the end of the configure process. Specifying --with-qt or --with-openqt doesn't seem to make any difference and neither does telling the script where the files are located. This seems to be because it's looking in strange places. I've mucked around with the configure script and tricked it into saying yes. The make process always fails because it cannot find quicktime.h but then I run make again like this...
make CC="gcc -I/usr/include/quicktime -L/usr/lib"
...and it carries on okay unless I use openquicktime, which doesn't seem to have quicktime.h. But after it's done installing, if I try to use the Quicktime functionality, it crashes out complaining about an unresolved symbol, quicktime_open to be exact. Interestingly, there's a step during the configure process that says...
checking for quicktime_open in -lquicktime... no
...and the only time this ever says yes is when I use openquicktime but as I said above, the make process always fails due to quicktime.h being missing. Help!! |
|
Back to top |
|
|
Chewi Developer
Joined: 01 Sep 2003 Posts: 886 Location: Edinburgh, Scotland
|
|
Back to top |
|
|
Chewi Developer
Joined: 01 Sep 2003 Posts: 886 Location: Edinburgh, Scotland
|
Posted: Thu Jan 22, 2004 5:39 pm Post subject: |
|
|
I've made a tiny bit of progress. If I emerged libquicktime followed by openquicktime using the --nodeps option to allow them to be both installed at the same time, Transcode actually compiled using just 'make' and...
./configure --prefix=/usr --with-qt --with-qt-includes=/usr --with-qt-libs=/usr --with-openqt --with-openqt-includes=/usr --with-openqt-libs=/usr
...though I think the configure script may still have had to have been altered. I didn't try changing it back to what it was before. And so I run Transcode like this and it successfully converted an AVI to a MOV but when I played it back in Cinelerra, the movie was upside down and slightly yellowish. I'm not sure what went wrong there. This really needs sorting out, especially if I can only get it to work by merging two packages that aren't supposed to live together!! |
|
Back to top |
|
|
ekmf n00b
Joined: 24 Dec 2003 Posts: 1
|
Posted: Sat Jan 24, 2004 10:42 pm Post subject: |
|
|
Hrm, so are you trying to build the quick time lib and failing? Or is this a problem that is directly connotative to the Transcode libs?
I can gather that the libs are failing to compile based on the a bad header perhaps? Or lack of one. However, I'm not quite understanding what you are asking ... is this quicktime lib a dependancy for the transcode codeweavers quicktime plugin for mozilla/ns? Or another dependancy for a video player? _________________ 6c 6f 73 74 |
|
Back to top |
|
|
Chewi Developer
Joined: 01 Sep 2003 Posts: 886 Location: Edinburgh, Scotland
|
Posted: Sun Jan 25, 2004 12:39 am Post subject: |
|
|
Heh this is really confusing. This is not a problem with any of the Quicktime libs compiling. Individually, openquicktime, libquicktime and quicktime4linux all compile just fine.
This has nothing to do with web browser plugins, perhaps you're confusing Transcode with something else. Transcode is a command-line tool that can be used to convert video file to and from various different formats. It can be found here...
http://zebra.fh-weingarten.de/~transcode/
Without changing anything, it compiles support for just about every format it knows about, excluding Quicktime. If I attempt to use Quicktime support afterwards, it complains that the necessary library is not present. That's because it wasn't compiled.
However, it should have been compiled. I had the quicktime USE flag turned on. But no matter which of the three possible Quicktime libraries, I have installed, once the configuration process has completed, it ALWAYS says that it will not be including Quicktime support. In order to get it to do this, I have to manually edit the configure script to trick it into including Quicktime.
But even if I do this, I still run up against problems. Sometimes the Transcode build fails half way because it cannot find the include files even when I tell it where to find them beforehand. This is probably due to problems in the configure script. I can force the build to continue by then using this command...
make CC="gcc -I/usr/include/quicktime -L/usr/lib"
But this does not work if I am compiling against openquicktime because the necessary include files are simply not there. But in the cases of libquicktime and quicktime4linux, Transcode finishes compiling and the Quicktime library is present but does it work? Nope. It usually about an unresolved symbol, quicktime_open.
This is made yet more complicated by the fact that the configure script seems to differentiate openquicktime from the other two. It has both the options --with-qt and --with-openqt. The docs only seem to mention libquicktime.
The configure process also performs some tests that are of interest. This is what I get in config.log when compiling against quicktime4linux-2.0.0. I also tried it against quicktime4linux-1.6.2 and the list which much shorter but there were still unresolved symbols. Another interesting thing to note is that the ebuild for quicktime4linux-2.0.0 only installs the static libraries and not the shared ones. It doesn't use a configure script and I couldn't work out how to get it to compile the shared ones.
Code: | cktime.a(wma.o)(.text+0x3fb): In function `decode':
: undefined reference to `avcodec_decode_audio'
/usr/lib/libquicktime.a(wma.o)(.text+0x758): In function `init_decode':
: undefined reference to `avcodec_find_decoder'
/usr/lib/libquicktime.a(wma.o)(.text+0x781): In function `init_decode':
: undefined reference to `avcodec_alloc_context'
/usr/lib/libquicktime.a(wma.o)(.text+0x7b8): In function `init_decode':
: undefined reference to `avcodec_open'
/usr/lib/libquicktime.a(wma.o)(.text+0x807): In function `init_decode':
: undefined reference to `avcodec_init'
/usr/lib/libquicktime.a(wma.o)(.text+0x80c): In function `init_decode':
: undefined reference to `avcodec_register_all'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x61): In function `mjpeg_new_compressor':
: undefined reference to `jpeg_std_error'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x77): In function `mjpeg_new_compressor':
: undefined reference to `jpeg_CreateCompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0xa7): In function `mjpeg_new_compressor':
: undefined reference to `jpeg_set_defaults'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0xca): In function `mjpeg_new_compressor':
: undefined reference to `jpeg_set_quality'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x6d2): In function `mjpeg_decompress':
: undefined reference to `jpeg_std_error'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x6f2): In function `mjpeg_decompress':
: undefined reference to `jpeg_CreateDecompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0xe21): In function `jpeg_buffer_src':
: undefined reference to `jpeg_resync_to_restart'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0xf6c): In function `mjpeg_new_decompressor':
: undefined reference to `jpeg_std_error'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0xf8c): In function `mjpeg_new_decompressor':
: undefined reference to `jpeg_CreateDecompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x10be): In function `mjpeg_delete_decompressor':
: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1191): In function `mjpeg_delete_compressor':
: undefined reference to `jpeg_destroy'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1486): In function `mjpeg_delete':
: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1541): In function `mjpeg_delete':
: undefined reference to `jpeg_destroy'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1ebf): In function `decompress_field':
: undefined reference to `jpeg_resync_to_restart'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1ed6): In function `decompress_field':
: undefined reference to `jpeg_read_header'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1ee8): In function `decompress_field':
: undefined reference to `jpeg_start_decompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x1fe6): In function `decompress_field':
: undefined reference to `jpeg_read_raw_data'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x200d): In function `decompress_field':
: undefined reference to `jpeg_finish_decompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x2081): In function `decompress_field':
: undefined reference to `jpeg_destroy_decompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x2092): In function `decompress_field':
: undefined reference to `jpeg_std_error'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x20b2): In function `decompress_field':
: undefined reference to `jpeg_CreateDecompress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x2151): In function `compress_field':
: undefined reference to `jpeg_start_compress'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x21f2): In function `compress_field':
: undefined reference to `jpeg_write_raw_data'
/usr/lib/libquicktime.a(libmjpeg.o)(.text+0x221c): In function `compress_field':
: undefined reference to `jpeg_finish_compress'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x16ca): In function `decode':
: undefined reference to `avcodec_find_decoder'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1b90): In function `decode':
: undefined reference to `avcodec_alloc_context'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1bb1): In function `decode':
: undefined reference to `avcodec_open'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1bd8): In function `decode':
: undefined reference to `avcodec_init'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1bdd): In function `decode':
: undefined reference to `avcodec_register_all'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1d4f): In function `encode':
: undefined reference to `avcodec_find_encoder'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1d91): In function `encode':
: undefined reference to `avcodec_alloc_context'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x1ee0): In function `encode':
: undefined reference to `avcodec_open'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x2276): In function `encode':
: undefined reference to `avcodec_encode_video'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x235b): In function `encode':
: undefined reference to `avcodec_init'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x2360): In function `encode':
: undefined reference to `avcodec_register_all'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x27e6): In function `delete_codec':
: undefined reference to `avcodec_close'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x285e): In function `delete_codec':
: undefined reference to `avcodec_close'
/usr/lib/libquicktime.a(mpeg4.o)(.text+0x294a): In function `decode_wrapper':
: undefined reference to `avcodec_decode_video' |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|