mobile CCTV,mobile surveillance,police body worn cameras

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

视频流通过网络转发

[copyURL]

1

主题

7

帖子

29

积分

newBie

Rank: 1

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

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
sofa
poston 2016-2-23 10:38 | authorOnly
SDK 接口可以实现的。调用BVCU_Dialog_Open()接口时,填写BVCU_DialogParam结构体的afterRecv()回调。afterRecv()会在收到音视频帧时回调给你。
如果不需要SDK内部解码播放,可以将BVCU_DialogControlParam.BVCU_DialogControlParam_Render.hWnd = NULL
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
bench
 Owner| poston 2016-2-23 15:20 | authorOnly
我已通过回调函数afterRecv()中的结构体参数SAV_Packet.pData获得了视频流数据,并且转发到网络上。但是接收端不能正确播放这些视频流数据,请问收到的视频流是什么编码格式,是否需要解码后再传送。
reply agree Against

使用道具 report

1

主题

589

帖子

2045

积分

vipMem

Rank: 6Rank: 6

积分
2045
ground
poston 2016-2-23 16:00 | authorOnly
SAV_Packet.pData的编码格式在pCodec.eCodecID值中,SAV_Packet.pData为视频、音频 的帧数据,可以根据pCodec信息解码播放的。如果需要传输,还要看你们的数据传输协议,例如RTP协议,对数据进行分片,打包,传输...
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
5#
 Owner| poston 2016-2-24 13:46 | authorOnly
我查看了pCodec.eCodecID的值为H.264格式,请问是标准的H.264封装吗?我收到数据后通过UDP转发出去,然后使用VLC播放器不能正常播放。我使用VLC播放器播放单独的H.264文件是可以播放的。我使用UDP方式转发TS流也是可以在VLC播放器中正常播放的。
reply agree Against

使用道具 report

1

主题

7

帖子

29

积分

newBie

Rank: 1

积分
29
6#
 Owner| poston 2016-2-24 13:46 | authorOnly
fanghj90 发表于 2016-2-23 16:00
SAV_Packet.pData的编码格式在pCodec.eCodecID值中,SAV_Packet.pData为视频、音频 的帧数据,可以根据pCod ...

我查看了pCodec.eCodecID的值为H.264格式,请问是标准的H.264封装吗?我收到数据后通过UDP转发出去,然后使用VLC播放器不能正常播放。我使用VLC播放器播放单独的H.264文件是可以播放的。我使用UDP方式转发TS流也是可以在VLC播放器中正常播放的。
reply agree Against

使用道具 report

60

主题

1428

帖子

5953

积分

Moderator

Rank: 7Rank: 7Rank: 7

积分
5953
7#
poston 2016-2-24 15:12 | authorOnly
是标准H.264
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

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

主题

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

creditRule

QQ|wireless surveillance

GMT+8, 2024-12-24 07:26 , Processed in 0.059573 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

QuickReply backToTop BackToList