[英]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 服务器。
我有两个问题:
我希望发送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.