arm mini2440 基于v4l2 ffmpeg x264的视频远程监控(4)

所有的源文件不做除了修改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,这个很简单,按顺序从头编译就好了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0020cc9bd3eb54a9e9b439aaaac58f07.html