ultragrid中的RTSP服务器有问题。
我下载Ultragrid master,git源代码,运行autogen.sh
下一步我运行./configure --enable-rtsp-server
,现在我启用了rtsp服务器,其中包含所有依赖项liblivemedia-dev。但是当我生成文件时,出现了这个错误。
配置步骤
./configure --enable-portaudio --enable-rtsp-server
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for gcc option to accept ISO C99... -std=gnu99
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for an ANSI C-conforming const... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for size_t... yes
checking whether byte ordering is bigendian... no
checking whether char is unsigned... no
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking size of int *... 8
checking whether byte ordering is bigendian... (cached) no
checking size of size_t... 8
checking GIT presence... checking OS family... Linux
checking OS kernel version (major)... 3
checking OS kernel version (minor)... 19
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for if_nametoindex... yes
checking for strtok_r... yes
checking for drand48... yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for uint8_t in <stdint.h>... yes
checking for uint16_t in <stdint.h>... yes
checking for uint32_t in <stdint.h>... yes
checking for library containing socket... none required
checking for library containing inet_addr... none required
checking for timer_create in -lrt... yes
checking for sin... no
checking for main in -lieee... yes
checking for sched_setscheduler... yes
checking for pthread_create in -lpthread... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking whether X11 headers are broken... no
checking dvs_clib.h usability... no
checking dvs_clib.h presence... no
checking for dvs_clib.h... no
checking for sv_open in -ldvsoem... no
checking for ./DeckLink/Linux/DeckLinkAPI.h... no
checking for ./DeckLink/Linux/DeckLinkAPIDispatch.cpp... no
checking for main in -lDeckLinkAPI... no
checking how to run the C++ preprocessor... g++ -E
checking BlueVelvet.h usability... no
checking BlueVelvet.h presence... no
checking for BlueVelvet.h... no
checking for BlueVelvetFactory in -lBlueVelvet64... no
checking for hanc_decoder_ex in -lBlueANCUtils64... no
checking for VideoMasterHD_Core.h... no
checking for VideoMasterHD_Sdi.h... no
checking for VideoMasterHD_Sdi_Audio.h... no
checking SDL/SDL.h usability... no
checking SDL/SDL.h presence... no
checking for SDL/SDL.h... no
SDL.h not found.
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for RTSP... no
checking for /usr/include/liveMedia/liveMedia.hh... yes
checking for RESIZE... no
checking for BLANK... no
checking GL/glew.h usability... no
checking GL/glew.h presence... no
checking for GL/glew.h... no
checking for GL/gl.h... no
checking for GL/glx.h... no
configure: WARNING: OpenGL headers (gl.h, glx.h) not found or not usable.
checking for GL/glx.h... (cached) no
checking for GL/gl.h... (cached) no
checking for glBindTexture in -lGL... no
checking for glXCreateNewContext in -lGL... no
checking for XCreateWindow in -lX11... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking X11/Xutil.h usability... yes
checking X11/Xutil.h presence... yes
checking for X11/Xutil.h... yes
checking for XGetImage in -lX11... yes
checking for XFixesGetCursorImage in -lXfixes... no
checking X11/extensions/Xfixes.h usability... no
checking X11/extensions/Xfixes.h presence... no
checking for X11/extensions/Xfixes.h... no
checking for nvcc... no
checking for LIBGPUJPEG... no
checking for main in -lsail... no
checking for main in -lsail... (cached) no
checking for /usr/local/sage/include/sail.h... no
checking portaudio.h usability... yes
checking portaudio.h presence... yes
checking for portaudio.h... yes
checking for Pa_GetDeviceCount in -lportaudio... yes
checking jack/jack.h usability... yes
checking jack/jack.h presence... yes
checking for jack/jack.h... yes
checking for jack_client_new in -ljack... yes
checking alsa/asoundlib.h usability... yes
checking alsa/asoundlib.h presence... yes
checking for alsa/asoundlib.h... yes
checking for snd_pcm_open in -lasound... yes
checking for TEXT... no
checking for V4L2... no
checking for LIBAVCODEC... no
checking for LIBAVUTIL... no
checking for CURSES... no
checking for CURSES... no
checking for CRYPTO... yes
checking for AES_ctr128_encrypt... yes
checking for VIDEO_MIX... no
checking for LAVC_HWDEC... no
UltraGrid configuration summary:
Target ...................... x86_64-unknown-linux-gnu
Debug output ................ no
Profiling support ........... no
IPv6 support ................ yes
RT priority ................. no
Standalone modules .......... no
License ..................... GPLv2
iHDTV support ............... no
OpenSSL-libcrypto ........... yes
CUDA support ................ no (host code compiler: default)
Library live555 ............. yes
Syphon ...................... no
AJA ......................... no
AV Foundation ............... no
Bluefish444 ................. no (audio: no)
DeckLink .................... no
DirectShow .................. no
DELTACAST ................... no
DVS ......................... no
OpenGL ...................... no
Quicktime ................... no
SAGE ........................ no
SDL ......................... no
Screen Capture .............. yes
V4L2 ........................ no
RTSP Capturer Client ........ no
SW Video Mix ................ no
Portaudio ................... yes
ALSA ........................ yes
CoreAudio ................... no
JACK ....................... yes
JACK transport .............. no
Realtime DXT (OpenGL) ....... no
JPEG ........................ no
JPEG to DXT ................. no
CUDA DXT .................... no
UYVY dummy compression ...... no
Libavcodec .................. no
blank capture filter ........ no
resize capture filter ....... no
text postprocess and filter . no
RTSP Server ................. yes
scale postprocessor ......... no
testcard extras ............. no
GPU accelerated LDGM ........ no
MCU-like video mixer ........ no
Libavcodec hw decoding ...... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
步进误差
make
mkdir -p src src/audio src/audio/capture src/audio/codec src/audio/playback src/capture_filter src/compat src/crypto src/hd-rum-translator src/ihdtv src/rtp src/rtsp src/utils src/video_capture src/video_compress src/video_decompress src/video_display src/video_rxtx src/vo_postprocess ag_plugin bin cuda_dxt dxt_compress ldgm/src ldgm/matrix-gen lib lib/ultragrid
touch src/dir-stamp
gcc -std=gnu99 -g -O2 -I. -fPIC -msse4 -pipe -W -Wall -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/capture/alsa.c -o src/audio/capture/alsa.o
gcc -std=gnu99 -g -O2 -I. -fPIC -msse4 -pipe -W -Wall -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/capture/jack.c -o src/audio/capture/jack.o
gcc -std=gnu99 -g -O2 -I. -fPIC -msse4 -pipe -W -Wall -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/capture/portaudio.c -o src/audio/capture/portaudio.o
gcc -std=gnu99 -g -O2 -I. -fPIC -msse4 -pipe -W -Wall -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/playback/alsa.c -o src/audio/playback/alsa.o
gcc -std=gnu99 -g -O2 -I. -fPIC -msse4 -pipe -W -Wall -Wcast-qual -Wcast-align -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/playback/jack.c -o src/audio/playback/jack.o
g++ -g -O2 -I. -std=gnu++11 -fPIC -msse4 -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/audio/playback/portaudio.cpp -o src/audio/playback/portaudio.o
g++ -g -O2 -I. -std=gnu++11 -fPIC -msse4 -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/crypto/openssl_decrypt.cpp -o src/crypto/openssl_decrypt.o
g++ -g -O2 -I. -std=gnu++11 -fPIC -msse4 -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/crypto/openssl_encrypt.cpp -o src/crypto/openssl_encrypt.o
g++ -g -O2 -I. -std=gnu++11 -fPIC -msse4 -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/rtsp/BasicRTSPOnlyServer.cpp -o src/rtsp/BasicRTSPOnlyServer.o
g++ -g -O2 -I. -std=gnu++11 -fPIC -msse4 -I/usr/include/groupsock -I/usr/include/liveMedia -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment -g -DHAVE_CONFIG_H -DPATH_PREFIX='"/usr/local"' -DLIB_DIR='"/usr/local/lib"' -Wall -Wextra -Wpointer-arith -DGF_BITS=16 -D_GNU_SOURCE -Isrc -I. -I./src -I./test -Idxt_compress -I./speex-1.2rc1/include -c src/rtsp/BasicRTSPOnlySubsession.cpp -o src/rtsp/BasicRTSPOnlySubsession.o
src/rtsp/BasicRTSPOnlySubsession.cpp: In member function ‘virtual void BasicRTSPOnlySubsession::startStream(unsigned int, void*, void (*)(void*), void*, short unsigned int&, unsigned int&, void (*)(void*, u_int8_t), void*)’:
src/rtsp/BasicRTSPOnlySubsession.cpp:243:11: error: ‘struct msg_sender’ has no member named ‘port’
msgV1->port = ntohs(Vdestination->rtpPort.num());
^
src/rtsp/BasicRTSPOnlySubsession.cpp:272:11: error: ‘struct msg_sender’ has no member named ‘port’
msgA1->port = ntohs(Adestination->rtpPort.num());
^
src/rtsp/BasicRTSPOnlySubsession.cpp: In member function ‘virtual void BasicRTSPOnlySubsession::deleteStream(unsigned int, void*&)’:
src/rtsp/BasicRTSPOnlySubsession.cpp:304:11: error: ‘struct msg_sender’ has no member named ‘port’
msgV1->port = rtp_port;
^
src/rtsp/BasicRTSPOnlySubsession.cpp:334:11: error: ‘struct msg_sender’ has no member named ‘port’
msgA1->port = rtp_port_audio;
^
make: *** [src/rtsp/BasicRTSPOnlySubsession.o] Error 1
我在linux ubuntu中测试。
有人能帮我吗?
最佳答案
这是因为您正在使用的live555版本与ultragrid不兼容。
此未生成的代码在此提交中已更改,指示要使用的live555版本。
为了使用建议的live版本进行构建,您可以如下操作:
git clone https://github.com/xanview/live555
pushd live555
git checkout 35c375c
./genMakefile linux
make PREFIX=/tmp/live install
popd
./configure --enable-rtsp-server --with-live555=/tmp/live
make