mobile CCTV,mobile surveillance,police body worn cameras

 forgetPW
 registerNow
search
12NextPage
backToList newPost
view: 3273|reply: 15
打印 prevThread nextThread

视频流通过网络转发

[copyURL]

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
jumpTo
owner
poston 2016-2-22 16:41 | authorOnly 回帖奖励 |viewing |阅读模式
查看了SDK的文档以及DEMO,并且自己写了代码实现。发现对于PU的音视频流,只能调用SDK里的API进行存储和在界面播放。能不能直接获取视频流,然后利用网络TCP转发出去呢?有提供这样的接口吗,或者其他实现的方法?
reply

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
16#
poston 2016-3-23 16:08 | authorOnly
fsx92 发表于 2016-3-23 15:52
经过测试,iPercent的值不论在数据正常或异常的情况下,都为99。但确实发现了,数据是分两批发过来的,每 ...

不会一直99的,最后会有一个100的回调,数据负载长度为0。
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
15#
 Owner| poston 2016-3-23 15:52 | authorOnly
fanghj90 发表于 2016-3-23 14:48
目前只有BVCU_SUBMETHOD_PU_LIST可能会由于回复数据大,服务器分段发送,客户端会多次回调通知。你测试下 ...

经过测试,iPercent的值不论在数据正常或异常的情况下,都为99。但确实发现了,数据是分两批发过来的,每批7个终端。请问我怎么区分数据只有一批还是多批?
2016-03-23 15:44:34[INFO] -> Pu Count: 7 > Has Next: false > Percent: 99
2016-03-23 15:44:34[INFO] -> Send Message To Unisky Server:
<?xml version="1.0" encoding="UTF-8"?>
<Push>
    <Pu id="PU_21120895" name="????4G??-S1" status="0"/>
    <Pu id="PU_21122794" name="????4G??-S1" status="0"/>
    <Pu id="PU_21124028" name="????4G??-S1" status="0"/>
    <Pu id="PU_21122676" name="????4G??-S1" status="1"/>
    <Pu id="PU_21121634" name="????4G??-S1" status="0"/>
    <Pu id="PU_21124057" name="????4G??-S1" status="0"/>
    <Pu id="PU_21123986" name="????4G??-S1" status="0"/>
</Push>

2016-03-23 15:44:34[INFO] -> Pu Count: 7 > Has Next: false > Percent: 99
2016-03-23 15:44:34[INFO] -> Send Message To Unisky Server:
<?xml version="1.0" encoding="UTF-8"?>
<Push>
    <Pu id="PU_21124061" name="????4G??-S1" status="0"/>
    <Pu id="PU_21123969" name="????4G??-S1" status="0"/>
    <Pu id="PU_21122786" name="????4G??-S1" status="0"/>
    <Pu id="PU_21122498" name="????4G??-S1" status="0"/>
    <Pu id="PU_21120279" name="????4G??-S1" status="0"/>
    <Pu id="PU_21120314" name="????4G??-S1" status="0"/>
    <Pu id="PU_21123742" name="?????4G??-S1" status="0"/>
</Push>
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
14#
poston 2016-3-23 14:48 | authorOnly
fsx92 发表于 2016-3-23 14:36
通过Session向服务器发送BVCU_SUBMETHOD_PU_LIST命令后,从_BVCU_Command的回调函数函数void (*OnEvent)(BV ...

目前只有BVCU_SUBMETHOD_PU_LIST可能会由于回复数据大,服务器分段发送,客户端会多次回调通知。你测试下,看看是不是 多次回复了
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
13#
poston 2016-3-23 14:44 | authorOnly
fsx92 发表于 2016-3-23 14:36
通过Session向服务器发送BVCU_SUBMETHOD_PU_LIST命令后,从_BVCU_Command的回调函数函数void (*OnEvent)(BV ...

您好,命令的回复可能是分段的,BVCU_Event_SessionCmd.iPercent 表示命令完成进度。BVCU_SUBMETHOD_PU_LIST命令设备多时可能会多次回调void (*OnEvent)(), 可以参考BVCU SDK MFC Demo里的命令回调处理。
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
12#
 Owner| poston 2016-3-23 14:36 | authorOnly
通过Session向服务器发送BVCU_SUBMETHOD_PU_LIST命令后,从_BVCU_Command的回调函数函数void (*OnEvent)(BVCU_HSession hSession, BVCU_Command* pCommand, int iEventCode, void* pParam)收到异步消息。然后从BVCU_CmdMsgContent获取信息,BVCU_CmdMsgContent.iDataCount的值为7,而我的实际设备个数为14。同时BVCU_CmdMsgContent.pNext为NULL。
求解。。。
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
11#
poston 2016-2-25 11:54 | authorOnly
fsx92 发表于 2016-2-25 11:46
我已经尝试过你说的方法,在关键帧前面加pCodec.pExtraData,存入文件等都不能播放。同时还测试了在每包 ...

afterRecv()接口做过测试的,同时有客户通过该接口,使用他们自己的解码器做解码播放。您的服务器地址和设备是什么? 我们登录上去,测试下该接口数据。
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
10#
 Owner| poston 2016-2-25 11:46 | authorOnly
fanghj90 发表于 2016-2-24 15:26
在每个关键帧发送前,发送下pCodec.pExtraData(H264帧)试试能不能播放, 部分设备因为SDP中上报了sps\p ...

我已经尝试过你说的方法,在关键帧前面加pCodec.pExtraData,存入文件等都不能播放。同时还测试了在每包数据前加0x00 0x00 0x00 0x01也不能播放。请问你们对SDK中afterRecv()接收到的数据做过类似的测试吗?需要对数据如何处理才能正常播放呢?
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
9#
poston 2016-2-24 15:26 | authorOnly
fsx92 发表于 2016-2-24 13:46
我查看了pCodec.eCodecID的值为H.264格式,请问是标准的H.264封装吗?我收到数据后通过UDP转发出去,然后 ...

在每个关键帧发送前,发送下pCodec.pExtraData(H264帧)试试能不能播放, 部分设备因为SDP中上报了sps\pps,将流中sps、pps帧就去掉了。
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
8#
poston 2016-2-24 15:20 | authorOnly
fsx92 发表于 2016-2-24 13:46
我查看了pCodec.eCodecID的值为H.264格式,请问是标准的H.264封装吗?我收到数据后通过UDP转发出去,然后 ...

是标准的h.264封装。您保存到.h264文件中,试试能不能播放,但流中不一定有 sps 和 pps, 因为pCodec.pExtraData中有 sps和pps帧
reply agree Against

使用道具 report

QQ|wireless surveillance

GMT+8, 2024-12-24 01:20 , Processed in 0.056643 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList