繁体   English   中英

如何在opencv videocapture中从ios解码videoData

[英]How to decode videoData from ios in opencv videocapture

我有一个 Objective-C 应用程序,我将它作为unit8_t.bytes和长度输入到函数视频数据中。

    -(void)videoFeed:(DJIVideoFeed *)videoFeed didUpdateVideoData: 
   (NSData *)videoData {
        [[DJIVideoPreviewer instance] push:(uint8_t *)videoData.bytes length:(int)videoData.length];
        [_videoExtractor parseVideo:(uint8_t *)videoData.bytes 
    length:(int)videoData.length withFrame:^(VideoFrameH264Raw *frame) { 

我在应用程序中实现了SocketIO ,并将这些数据发送到带有OpenCV的 python 服务器。

我有两个问题:

  1. 我不知道如何获取这些数据并将其制作成视频
  2. 我希望发送h264抛出套接字,但类型( VideoFrameH264Raw )不是 Objective-C 所期望的

    [self.socket emit:@"streaming" with:@[frame]];

我试图在 OpenCV 中获取视频捕获中的信息,但并不缺乏,我也有点困惑我得到单帧抛出套接字并在 python 中将它们显示为视频的情况。

Emm 取决于它的编码方式。

如果它使用内部编码器 (.mov),那么您现在无能为力。 它是一种专有的压缩算法。 苹果不会在乎一个研究人员

如果是 DJI 内部数据馈送,则使用类似 FFMPEG 的方法。 使用UDP服务器捕获方式设置应该不会有太多问题。

要确认这一点,您可以直接尝试使用 H264。 或者您可以尝试查看原始视频数据? 对于 mp4,有几个位/字节的键控制序列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM