Sye*_*yed 3 webcam ffmpeg video-streaming
我正在尝试在 Windows 中使用 ffplay 播放 USB 网络摄像头流(不确定它是哪种格式..)。我可以毫无问题地观看视频,但我一直在控制台中出现以下错误。
ffplay.exe -f dshow -i video="Logitech HD Webcam C615" -loglevel debug
[mjpeg @97a118cc80] 无法解码 APP 字段:处理输入检查日志时发现无效数据 以获取更多详细信息
我真的需要担心这个错误吗?或者我需要在命令中提供的任何过滤器来解决这个错误。
注意:我尝试使用 ffmpeg 将流保存到文件中,但遇到了同样的问题。
提前致谢。
Phi*_*l K 13
那些 APP 字段消息不是错误。您所看到的是罗技的专有运动 jpeg 格式,他们在许多网络摄像头中使用了该格式。例如,我在 C270 和较新的 c922 中看到过它。mjpeg 流包含一系列 jpeg 图像,有些是关键帧、完整图像,有些是其他帧,例如 delta 帧,描述帧之间的差异。罗技所做的是通过将 H264 数据作为 APP 附件附加到 jpeg 帧上来将 H264 流嵌入到 mjpeg 流中,即它是流中的流。当您从 mjpeg 流播放或转码数据时,ffmpeg 会遇到这些 APP 附件,并且不知道如何处理它们。我相信像 Skype 这样的程序能够读取外部的 mjpeg 流和内部的 H264 流。
如果你想自己看这个,你可以从你的cam的mjpeg流中编码一个小视频,然后提取jpeg图像,然后查看jpeg图像的结构,你会看到嵌入的视频。
# create a small mp4, copying mjpeg stream off the cam for a second or two
$ ffmpeg -f v4l2 -input_format mjpeg -i /dev/video0 -c:v copy test.mp4
# extract the unaltered jpeg files inside the stream
$ ffmpeg -i test.mp4 -vcodec copy %03d.jpg
# view any of the jpeg files for APP attachments
$ exiv2 -pS 001.jpg
STRUCTURE OF JPEG FILE: 001.jpg address | marker | length | data
0 | 0xffd8 SOI
2 | 0xffe0 APP0 | 33 | AVI1.....x.x....................
37 | 0xffdb DQT | 67
106 | 0xffdb DQT | 67
175 | 0xffdd DRI | 4
181 | 0xffe0 APP0 | 4 | ....
187 | 0xffc0 SOF0 | 17
206 | 0xffda SOS
Run Code Online (Sandbox Code Playgroud)
看到 jpeg 上的那些 APP0 附件了吗?这是解码器/播放器抱怨的嵌入式 H264 数据。
| 归档时间: |
|
| 查看次数: |
4901 次 |
| 最近记录: |