Hallo zusammen , ich möchte gerne xxv-1.2 nutzen , dazu ist ja vdr2jpeg erforderlich.
Leider bricht er mir beim kompilieren ab.
Ich vermute mal es hängt mit meiner ffmpeg Version zusammen die ich selber gebaut habe.
Folge Fehlermeldung bekomme ich bei Versuch vdr2jpeg-0.1.1 zu kompilieren:
Package 'libswscale' requires 'libavutil = 49.4.0' but version of libavutil is 49.12.0
g++ -O2 -fPIC -Wall -Woverloaded-virtual -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS vdr2jpeg.cpp
Package 'libswscale' requires 'libavutil = 49.4.0' but version of libavutil is 49.12.0
g++ -O2 -fPIC -Wall -Woverloaded-virtual -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS tools.cpp
Package 'libswscale' requires 'libavutil = 49.4.0' but version of libavutil is 49.12.0
g++ -O2 -fPIC -Wall -Woverloaded-virtual -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS gop.cpp
Package 'libswscale' requires 'libavutil = 49.4.0' but version of libavutil is 49.12.0
g++ -O2 -fPIC -Wall -Woverloaded-virtual -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS ffm.cpp
ffm.cpp:26:32: error: libswscale/swscale.h: Datei oder Verzeichnis nicht gefunden
ffm.cpp: In function ‘bool do_video_out(AVFormatContext*, AVOutputStream*, AVInputStream*, AVFrame*, int*)’:
ffm.cpp:204: error: ‘sws_scale’ was not declared in this scope
ffm.cpp: In function ‘bool av_encode(AVFormatContext**, unsigned int, AVFormatContext**, unsigned int)’:
ffm.cpp:675: error: ‘SWS_FAST_BILINEAR’ was not declared in this scope
ffm.cpp:675: error: ‘sws_getContext’ was not declared in this scope
ffm.cpp:912: error: ‘sws_freeContext’ was not declared in this scope
make: *** [ffm.o] Fehler 1
Alles anzeigen
locate swscale.h ergibt:
/usr/include/ffmpeg/swscale.h
/usr/src/ffmpeg/libswscale/.svn/prop-base/swscale.h.svn-base
/usr/src/ffmpeg/libswscale/.svn/text-base/swscale.h.svn-base
/usr/src/ffmpeg/libswscale/swscale.h
/usr/src/mplayer/libswscale/.svn/prop-base/swscale.h.svn-base
/usr/src/mplayer/libswscale/.svn/text-base/swscale.h.svn-base
/usr/src/mplayer/libswscale/swscale.h
Wenn ich jetzt im Makefile von vdr2jpeg-0.1.1 "FFMDIR = /usr/src/ffmpeg" angebe, dann bekomme ich folgenden Fehler:
g++ -O2 -fPIC -Wall -Woverloaded-virtual -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -I/usr/src/ffmpeg ffm.cpp
g++ -O2 -fPIC -Wall -Woverloaded-virtual vdr2jpeg.o tools.o gop.o ffm.o -L/usr/src/ffmpeg/libavformat -L/usr/src/ffmpeg/libavcodec -L/usr/src/ffmpeg/libavutil -L/usr/src/ffmpeg/libswscale -o vdr2jpeg
ffm.o: In function `ffm_initalize()':
ffm.cpp:(.text+0x15a): undefined reference to `av_log_set_level'
ffm.cpp:(.text+0x15f): undefined reference to `av_register_all'
ffm.cpp:(.text+0x164): undefined reference to `avcodec_alloc_context'
ffm.o: In function `output_packet(AVInputStream*, int, AVOutputStream**, int, AVPacket const*)':
ffm.cpp:(.text+0x260): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x369): undefined reference to `av_init_packet'
ffm.cpp:(.text+0x371): undefined reference to `avcodec_get_frame_defaults'
ffm.cpp:(.text+0x46a): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x4ae): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x538): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x594): undefined reference to `av_parser_change'
ffm.cpp:(.text+0x59e): undefined reference to `av_destruct_packet'
ffm.cpp:(.text+0x5b9): undefined reference to `av_interleaved_write_frame'
ffm.cpp:(.text+0x62a): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x735): undefined reference to `av_rescale'
ffm.cpp:(.text+0x73e): undefined reference to `av_gettime'
ffm.cpp:(.text+0x78c): undefined reference to `avcodec_get_frame_defaults'
ffm.cpp:(.text+0x79a): undefined reference to `avcodec_get_frame_defaults'
ffm.cpp:(.text+0x8db): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x914): undefined reference to `av_interleaved_write_frame'
ffm.cpp:(.text+0x950): undefined reference to `av_init_packet'
ffm.cpp:(.text+0xa1d): undefined reference to `avcodec_encode_video'
ffm.cpp:(.text+0xaf3): undefined reference to `av_init_packet'
ffm.cpp:(.text+0xb31): undefined reference to `avcodec_encode_video'
ffm.cpp:(.text+0xbd0): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0xbee): undefined reference to `av_interleaved_write_frame'
ffm.cpp:(.text+0xca1): undefined reference to `sws_scale'
ffm.cpp:(.text+0xce3): undefined reference to `avcodec_get_frame_defaults'
ffm.cpp:(.text+0xd10): undefined reference to `avcodec_decode_video'
ffm.o: In function `decode(char const*, char const*, int, int)':
ffm.cpp:(.text+0xe2e): undefined reference to `av_alloc_format_context'
ffm.cpp:(.text+0xeb9): undefined reference to `av_open_input_file'
ffm.cpp:(.text+0xed4): undefined reference to `av_find_stream_info'
ffm.cpp:(.text+0x10ef): undefined reference to `av_alloc_format_context'
ffm.cpp:(.text+0x11dd): undefined reference to `av_filename_number_test'
ffm.cpp:(.text+0x120d): undefined reference to `av_set_parameters'
ffm.cpp:(.text+0x1285): undefined reference to `av_mallocz'
ffm.cpp:(.text+0x12f6): undefined reference to `av_mallocz'
ffm.cpp:(.text+0x1338): undefined reference to `av_mallocz'
ffm.cpp:(.text+0x1361): undefined reference to `av_freep'
ffm.cpp:(.text+0x136f): undefined reference to `av_free'
ffm.cpp:(.text+0x138f): undefined reference to `av_free'
ffm.cpp:(.text+0x13a5): undefined reference to `av_free'
ffm.cpp:(.text+0x13cd): undefined reference to `av_free'
ffm.cpp:(.text+0x13f2): undefined reference to `av_free'
ffm.cpp:(.text+0x1407): undefined reference to `sws_freeContext'
ffm.cpp:(.text+0x14a3): undefined reference to `av_new_stream'
ffm.cpp:(.text+0x14c8): undefined reference to `avcodec_get_context_defaults2'
ffm.cpp:(.text+0x14fe): undefined reference to `av_guess_codec'
ffm.cpp:(.text+0x150c): undefined reference to `avcodec_find_encoder'
ffm.cpp:(.text+0x157b): undefined reference to `av_d2q'
ffm.cpp:(.text+0x1752): undefined reference to `guess_format'
ffm.cpp:(.text+0x179f): undefined reference to `av_free'
ffm.cpp:(.text+0x17f9): undefined reference to `av_free'
ffm.cpp:(.text+0x1806): undefined reference to `av_free'
ffm.cpp:(.text+0x184a): undefined reference to `av_close_input_file'
ffm.cpp:(.text+0x1869): undefined reference to `url_fclose'
ffm.cpp:(.text+0x1912): undefined reference to `av_gettime'
ffm.cpp:(.text+0x19a8): undefined reference to `av_mallocz'
ffm.cpp:(.text+0x19e6): undefined reference to `av_mallocz'
ffm.cpp:(.text+0x19f8): undefined reference to `av_freep'
ffm.cpp:(.text+0x1a06): undefined reference to `av_free'
ffm.cpp:(.text+0x1a4a): undefined reference to `av_freep'
ffm.cpp:(.text+0x1a58): undefined reference to `av_free'
ffm.cpp:(.text+0x1e7c): undefined reference to `avcodec_get_frame_defaults'
ffm.cpp:(.text+0x1e99): undefined reference to `avpicture_alloc'
ffm.cpp:(.text+0x1ef0): undefined reference to `sws_getContext'
ffm.cpp:(.text+0x1fab): undefined reference to `dump_format'
ffm.cpp:(.text+0x206f): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x20d9): undefined reference to `av_write_header'
ffm.cpp:(.text+0x224d): undefined reference to `av_read_frame'
ffm.cpp:(.text+0x2333): undefined reference to `av_rescale_q'
ffm.cpp:(.text+0x24bb): undefined reference to `av_malloc'
ffm.cpp:(.text+0x24e2): undefined reference to `avcodec_find_encoder'
ffm.cpp:(.text+0x24f8): undefined reference to `avcodec_open'
ffm.cpp:(.text+0x2544): undefined reference to `avcodec_find_decoder'
ffm.cpp:(.text+0x255a): undefined reference to `avcodec_open'
ffm.cpp:(.text+0x263b): undefined reference to `av_write_trailer'
ffm.cpp:(.text+0x2672): undefined reference to `av_freep'
ffm.cpp:(.text+0x2680): undefined reference to `avcodec_close'
ffm.cpp:(.text+0x26b3): undefined reference to `avcodec_close'
ffm.cpp:(.text+0x26dd): undefined reference to `av_freep'
ffm.cpp:(.text+0x26eb): undefined reference to `av_free'
ffm.cpp:(.text+0x26f9): undefined reference to `av_free'
collect2: ld returned 1 exit status
make: *** [vdr2jpeg] Fehler 1
Alles anzeigen
Kann es daran liegen das ich ffmpeg so übersetzt habe?
./configure --prefix=/tmp/build/usr/local \
--enable-shared \
--enable-gpl \
--enable-postproc \
--enable-x11grab \
--enable-libfaac \
--enable-libfaad \
--enable-libmp3lame \
--enable-libtheora \
--enable-libvorbis \
--enable-libxvid \
--enable-pthreads \
--enable-libgsm \
--extra-cflags=-Wall --cc=ccache cc
Alles anzeigen
Lasst euch nicht von prefix iritieren, da ich den Pfad benutzt habe ein deb zu bauen ala http://zyrusthc.homeip.net/include.php?path=forumsthread&threadid=300
Ich brauche ffmpeg in dieser zusammenstellung wegen dem vdr-image Plugin. Ich glaube vorhandene swscale support war genau der Grund warum ich es selber backen musste.
Hoffe auf hilfreiche Tips....