流解析的代码长时间测试海康摄像时还不稳定,所以主要以学习为主,有知道的大佬欢迎指点下=。=
udp服务构建
import com.fengyulei.fylsipserver.config.ConfigInfo;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioDatagramChannel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class MediaUdpServer implements Runnable{
private static final Logger logger = LoggerFactory.getLogger(MediaUdpServer.class);
@Autowired
private ConfigInfo configInfo;
@Autowired
private MediaUdpHandler mediaUdpHandler;
private Bootstrap bootstrap = null;
private EventLoopGroup workerGroup = null;
private Integer port;
@PostConstruct
private void init(){
this.port=configInfo.getMediaUdpTcpServerPort();
Thread thread=new Thread(this);
thread.setDaemon(true);
thread.setName("media udp server");
thread.start();
}
@Override
public void run(){
workerGroup= new NioEventLoopGroup();
try {
bootstrap = new Bootstrap();
bootstrap.group(workerGroup)
.channel(NioDatagramChannel.class)
.option(ChannelOption.SO_RCVBUF,1024*1024)
.handler(new ChannelInitializer<NioDatagramChannel>() {
@Override
public void initChannel(NioDatagramChannel ch) throws Exception {
ch.pipeline().addLast(mediaUdpHandler);
}
});
logger.info("UDP服务启动成功port:{}", port);
bootstrap.bind(port).