| | |
| | | public H264Encoder() { |
| | | this.usbCamera = new UsbCamera(); |
| | | this.protocolHelper = new JT1076ProtocolHelper(); |
| | | protocolHelper.setProtocolType(JT1076ProtocolHelper.PROTOCOL_TYPE_TCP); |
| | | } |
| | | |
| | | /** |
| | |
| | | // 3. 初始化H264编码器 |
| | | initEncoder(); |
| | | |
| | | // 4. 初始化UDP Socket |
| | | if (!protocolHelper.initializeUdpSocket()) { |
| | | // 4. 初始化Socket(UDP或TCP,根据协议类型自动选择) |
| | | if (!protocolHelper.initializeSocket()) { |
| | | return false; |
| | | } |
| | | |
| | |
| | | packetData, timestamp, dataType, packetMark, |
| | | lastIFrameInterval, lastFrameInterval); |
| | | |
| | | // 发送UDP包 |
| | | protocolHelper.sendUdpPacket(rtpPacket); |
| | | // 发送RTP包(UDP或TCP,根据协议类型自动选择) |
| | | protocolHelper.sendPacket(rtpPacket); |
| | | |
| | | offset += packetDataSize; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | // 关闭UDP Socket |
| | | // 关闭Socket(UDP或TCP,根据协议类型自动选择) |
| | | if (protocolHelper != null) { |
| | | protocolHelper.closeUdpSocket(); |
| | | protocolHelper.closeSocket(); |
| | | } |
| | | |
| | | // 关闭文件输出 |