我从摄像头接收到了一个MJPEG流。当我使用十六进制编辑器查看视频数据时,似乎没有包含任何流信息。我只看到一个原始的JPEG紧跟着另一个,但没有关于帧速率等的任何信息。
缺乏任何元信息对于MJPEG来说是正常的吗?还是只与我使用的相机有关?如果没有关于流的信息,播放器如何知道以多快的速度播放视频?
缺少元数据是正常的。IP摄像机通常将MJPEG作为一个流发送,每个图像都作为一个JPEG文件发送。这是最基本的有效MJPEG文件。如果你将一堆JPEG文件连接起来成为一个大文件,并将其输入给ffmpeg,它会将其视为有效的mjpeg格式文件。一些摄像机会添加额外的头部以包含音频数据,但不需要被视为有效的动态JPEG。
许多摄像机在流最初发送时将在HTTP头中包含诸如X-Framerate之类的头文件,或者您可以将其设置为摄像机配置的一部分。然而,当摄像机仅发送JPEG文件时,无法从流本身中了解帧速率。