gpt4 book ai didi

ffmpeg - 如何在 C 中解码来自这个无名的几乎 UVC 灰度相机的流

转载 作者:行者123 更新时间:2023-12-04 23:24:32 26 4
gpt4 key购买 nike

编辑:我找到了原因。流总是以非 JPEG 格式开始。只有在它之后才有正常的 MJPEG 流。有趣的是,并非所有使用 V4L2/MJPEG 解码器的小例子都能将相机生成的内容正确划分为帧。叫做 capturev4l2.c 的东西是一个罕见的正确做事的例子。可能有一些细节决定了相机的问题是否得到解决。

我有一个几乎符合 UVC 标准的无名相机(它未通过多项兼容性测试)。这是一个相对便宜的全局快门相机,因此我想使用它而不是正确记录的东西。它输出 mplayer 报告(并正确播放)的内容作为

Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.107.100 (external)
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
ffprobe显示以下内容:
[mjpeg @ 0x55c086dcc080] Format mjpeg detected only with low score of 25, misdetection possible!
Input #0, mjpeg, from '/home/sc/Desktop/a.raw':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 25 tbr, 1200k tbn, 25 tbc

但与 mplayer 不同,无法播放。

我试过 decode_jpeg_raw来自 mjpegtools ,它提示标题,似乎随着每个捕获的流而变化。所以看起来不像是展开的 JPEG 图像流。

我因此尝试了 0_hello_world.c来自 libavcodec/libavformat,但停在 avformat_open_input()出现错误 Invalid data found when processing input .这里有一个 100 帧的示例文件 a.raw .您知道如何确定将 C 语言解码为任何普通位图的方法吗?

该文件是灰度文件,不以常数值开头, guvcviewmplayer是我认识的唯一可以在没有文物的情况下对其进行解码的玩家...

最佳答案

由于您有原始流,我认为您需要的是带有解析器的解码器。
检查此decode_video.c ffmpeg 上的示例:
https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/decode_video.c

相应地更改必要的部分,例如 avcodec_find_decoder(...) .

希望有帮助。

关于ffmpeg - 如何在 C 中解码来自这个无名的几乎 UVC 灰度相机的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54203397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com