所有的源文件不做除了修改udp上传用的ip地址和makefile文件外,不做任何修改,源码存放位置/opt/webcam
1、修改server.cpp ip
将#define TARGET_IP "192.168.1.220" 后面的ip改成你的pc linux的ip,依旧是客户端webcam_shower所在的pc的ip地址
2、修改shower.cpp中的
inet_addr("192.168.1.220"); 将ip修改为pc linux的ip,就是自己的ip,socket绑定端口用
3、修改makefile,以便交叉编译webcam_server,注意,之前编译zlib x264 ffmpeg都在放在webcam/ffmpeg中了
all: webcam_server
#webcam_shower
CC=arm-linux-g++
LD=arm-linux-ld
CXXFLAGS= -c -g -O0 -fPIC -I./ffmpeg/include -L./ffmpeg/lib
OBJS_SERVER= capture.o vcompress.o sender.o server.o
OBJS_SHOWER= vshow.o recver.o shower.o
LIBS_SERVER= -lavcodec -lswscale -lavutil -lx264 -lpthread -lz
LIBS_SHOWER= -lavcodec -lswscale -lavutil
.cpp.o:
$(CC) $(CXXFLAGS) $<
webcam_server: $(OBJS_SERVER)
$(CC) -o $@ $^ -L./ffmpeg/lib $(LIBS_SERVER)
webcam_shower: $(OBJS_SHOWER)
$(CC) -o $@ $^ $(LIBS_SHOWER)
clean:
rm -f *.o
rm -f webcam_server
rm -f webcam_shower
#make
这一步会出错,报c与c++兼容问题,在include/libavutil/common.h中添加如下,即可
#ifndef UINT64_C
#define UINT64_C(value)__CONCAT(value,ULL)
#endif
最后就得到了编译好的web_server了,将web_server复制到mini2440中,并且将之前编译的第三方编解码库/lib下的所有.so文件复制到mini2440的 /usr/lib中
插上usb摄像头,webcam_server就可以再mini2440中运行了
最后是编译pc端的webcam_shower,这个很简单,按顺序从头编译就好了