获取到的每一帧数据哪部分是可以做处理的
已完成实验现象:
1. cam_emu.c中,原本是每次:读取视频文件中的一帧到dataBuf→加AUD信息→循环发送;我修改:dataBuf中的数据异或处理→加AUD信息→循环发送;结果:在MSDK端收到了花屏的视频。√
2. 在liveview.c的stratH264Stream的回调函数中,将获取到的一帧数据直接用SendVideoStream发送;结果:在MSDK端收到了直播流。√
3.基于2仿照1中对文件数据的异或处理,在stratH264Stream的回调函数中对一帧数据进行异或,然后发送;结果:在MSDK端显示为黑屏而不是花屏。×
4.在stratH264Stream的回调函数中,不论是对这一帧做异或还是对这一帧末尾补AUD,都会导致黑屏,只有完全不做处理可以显示。×
问题:
1.为什么对文件的一帧处理MSDK可以接收到花屏,对startH264Stream获取到的一帧异或就不行了呢?按理说不是一样的吗
2.读取文件发送的时候,AUD信息很重要,不补MSDK就黑屏,但是为什么对于startH264Stream获取到的一帧补上AUD反而黑屏了。
3.对startH264Stream获取到的一帧数据内部哪些部分是可以处理的,哪些部分处理了是会影响到MSDK识别的呢?
-
我要想要达到对帧内容做“加密”的效果,在遥控器这边接收到花屏or灰屏的的视频(即破坏原始画面),这种是应该处理哪个位置?
今天最新试验是对 StartH264Stream 获取到每一帧 bufData (第200字节 到 末尾部分)进行异或;我发现获取到的会有一些小帧,35字节的,于是我修改代码,只对大帧上万字节的bufData进行补AUD操作,35这种的就不补,然后目前在pilot2可以接收到花屏,但是又好像没有完全接收到。
说没有完全接受到的原因:1. MSDK示例程序接收不到;2.pilot2的花屏看起来不像是实时视频流被异或后的正常花屏,因为这个视频流异或后保存到本地播放出来时灰屏而不是花屏。
请先登录再写评论。
评论
4 条评论