gpt4 book ai didi

linux - 将/dev/video0 的输出转储到 fifo 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:49 26 4
gpt4 key购买 nike

我正在尝试将/dev/video0 通过管道传输到 out.raw,然后立即读入omx播放器。但是我在 omxplayer 中没有得到任何图片(我尝试了同样的方法mplayer out.raw -> 播放 out.raw 但没有显示图片)

我的命令:

mkfifo out.raw
mplayer tv:///dev/video0 -dumpstream -dumpfile out.raw &
omxplayer out.raw

知道为什么我没有得到照片吗?

最佳答案

在这种情况下,不清楚您的 video0 设备是什么,这会有所不同,因为 mplayer 会以不同的方式初始化它。

其次,在许多情况下,您会发现即使将 out.raw 更改为普通文件,mplayer 也不会写入任何内容。

对于我的笔记本电脑网络摄像头,使用以下内容将正确地将数据发送到 FIFO:mencoder tv://-tv driver=v4l2:width=960:height=720:fps=15:outfmt=mjpeg -nosound -ovc copy -o out.fifo

但是,这指定 MEncoder 应该以 MJPEG 格式从 INPUT 设备读取,并简单地将帧复制到 fifo。

读取 FIFO 的播放器不会为截断的 MJPEG 做好准备,因此您应该尝试对其进行转码:-ovc x264 -of avi

无论如何,除非播放器在处理截断帧的方式上非常小心,并且您的输出包含大量关键帧,否则您将不止一次地遇到问题。

如果没有从 FIFO 读取任何内容,写入它最终会阻塞。

如果您弄清楚为什么要使用 FIFO,也许会有更好的解决方案。

关于linux - 将/dev/video0 的输出转储到 fifo 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37720612/

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