现在我在测试将ffmedia推流出的rtsp、gb28181接入海康dvr、cvr等设备时遇到了无法接入的问题,最近在测试gb28181接入,日志信息如下无报错
Firefly FFMedia: v2.4.0
ini =============rtsp://admin:admin12345@192.168.1.108:554/cam/realmonitor?channel=1&subtype=0
loadLabelName ../config/model/coco.txt
INFO: 16ModuleFileReader: initMediaInfo: Get Video Resolution( 640 x 480 ), codec 5
INFO: 16ModuleFileReader: initMediaInfo: Audio channels 2, sample rate 48000, codec 4105
Server:
server socket create success!
server bind failed: Address already in use
socket bind(name) success!
rga_api version 1.9.3_[2]
No DRM device found, skipping DRM initialization
INFO: rtsp_server: rtsp_new_demo: rtsp server demo starting on port 8554
INFO: ff_media: run_camera:
Start push stream: rtsp://LocalIpAddr:8554/live/1
loop[2] find 2 mac and 4 ip
INFO: ff_media: setModel: rknnrt version: 1.5.2 (c6b7b351a@2023-08-23T15:28:22), driver version: 0.9.2
INFO: 15ModuleInference: init: model input height=640, width=640, channel=3
INFO: 15ModuleInference: init: Input image crop x offset: 0, y offset: 0, width: 640, height: 480
INFO: 15ModuleInference: init: Output image crop x offset: 0, y offset: 0, width: 640, height: 480
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: 10MppDecoder: getTimeoutSample: 0x7fdc00fb60 frame info changed 1 error 0 discard 0
INFO: dump: size(640 x 480), stride(640 x 480), format(NV12)
Login failed, error code: 7
loginDevice failed, error code: 7
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
INFO: ff_media: eventHandle: Received sip event (type, did, cid) = (1, 0, 0)
关于gb28181部分的代码如下,使用easygbs gb28181服务器测试能取到视频流
[gb28181]
device_id = 34020000001320000001 # 20位国标设备ID(必需)
server_id = 34020000002000000001 # 海康DVR的服务器ID(必需)
server_ip = 192.168.1.203 # 海康DVR的IP地址(必需)
server_port = 5060 # DVR的SIP端口,默认5060
server_realm = 3402000000 # SIP服务器域,通常与server_id前10位相同
password = 12345678 # 认证密码(如果DVR需要)
local_port = 5060 # 本地SIP端口
device_name = AI智能相机 # 设备名称
manufacturer = FFMedia # 制造商
heartbeat_interval = 60 # 心跳间隔(秒)
expiry = 86400 # 注册有效期(秒)
auto gb28181 = make_shared<ModuleGB28181Client>(
gb28181_device_id, // 设备ID(20位国标编码)
"AI-Camera-GB28181", // User-Agent
TRANSPORT_TYPE_TCP, // 传输协议,TCP更可靠
gb28181_local_port // 本地SIP端口
);
ret = gb28181->setServerConfig(
gb28181_server_id, // 服务器ID
gb28181_server_realm, // 服务器域
gb28181_server_ip, // 服务器IP地址
gb28181_server_port, // 服务器端口
gb28181_expiry // 注册有效期(秒)
);
if (ret < 0) {
ff_error("设置GB28181服务器配置失败\n");
break;
}
ret = gb28181->setAuthenticationInfo(gb28181_device_id, gb28181_password);
if (ret < 0) {
ff_error("Failed to setAuthenticationInfo\n");
}
// 设置设备信息
std::string device_name = (strlen(gb28181_device_name) > 0) ?
gb28181_device_name : "AI智能相机";
std::string manufacturer = (strlen(gb28181_manufacturer) > 0) ?
gb28181_manufacturer : "FFMedia";
ret = gb28181->setDeviceInfo(device_name, manufacturer, gb28181_device_id);
if (ret < 0) {
ff_error("Failed to setDeviceInfo\n");
}
// 设置心跳间隔
if (gb28181_heartbeat > 0) {
ret = gb28181->setKeepaliveDuration(gb28181_heartbeat);
if (ret < 0) {
ff_error("Failed to gb28181_heartbeat\n");
}
}
// auto gb28181 = make_shared<ModuleGB28181Client>(gb28181_user_id, "camera_device");
// gb28181->setServerConfig(gb28181_server_id, gb28181_server_ip,
// gb28181_server_ip, gb28181_server_port);
gb28181->setProductor(enc); // 使用同一个编码器输出
ret = gb28181->init();
if (ret < 0) {
ff_error("Failed to init GB28181 client\n");
}
现在的问题是如何才能将rtsp视频流或gb28181的流接入到海康dvr、nvr设备中