如上所示,我通过UDP向FFmpeg (命令行)发送摄像头。在客户端,我使用Java OpenCV,捕获行;VideoCapture.open("udp://xx.xx.xx.xx:xx)。如果我以mpegts (ffmpeg -f mpegts)的形式发送该流,则可以显示该流;如果我将它作为rawvideo (ffmpeg -f rawvideo)发送,则不能。
是否有任何参数需要设置(如CvType)?
发布于 2020-03-28 16:33:06
Mpegts具有专门为单向有损传输(如UDP或数字电视)传输而设计的特性。它有每100 It重复一次的数据包来告诉读取器如何引导解码,它有帧标志的开始(有效负载单元开始指示符),它有一个数据包计数器来检测跳过和无序的数据包,以及其他一些重要的特性。
原始视频没有这些。只是一堆字节。如果单个分组丢失(包括第一个分组),解码器将不知道帧的开始和结束位置,并且无法重建流。
因此,在视频工具中通常不支持这样的特性。如果您需要发送原始视频,请使用TCP而不是UDP。
https://stackoverflow.com/questions/60902660
复制相似问题