C 包含png信息的假目录

C 包含png信息的假目录,c,unix,directory,C,Unix,Directory,众所周知,我们可以将/dev/video0作为接收网络摄像头输出的目录 例如,是否可以通过C程序创建一个假的/dev/something目录,并在那里连续输出一些创建的png文件的内容,以便创建一个假的网络摄像头 然后,我将读取另一个应用程序的live流 谢谢 如果您所需要的只是文件系统中某个应用程序可以读取某些特定数据的位置,请使用mkfifo创建它 然后,您可以编写一个生产者,它以任意比特率写入您需要的内容,并让消费者从中读取。如果您输出消费者期望的内容,您可能会获得类似于伪造数据“实时流”

众所周知,我们可以将
/dev/video0
作为接收网络摄像头输出的目录

例如,是否可以通过
C
程序创建一个假的
/dev/something
目录,并在那里连续输出一些创建的png文件的内容,以便创建一个
假的网络摄像头

然后,我将读取另一个应用程序的
live


谢谢

如果您所需要的只是文件系统中某个应用程序可以读取某些特定数据的位置,请使用
mkfifo
创建它


然后,您可以编写一个生产者,它以任意比特率写入您需要的内容,并让消费者从中读取。如果您输出消费者期望的内容,您可能会获得类似于伪造数据“实时流”的内容。

这取决于;这并不像将解码后的PNG转储到文件中那么简单。如果你想让它充当一个假冒的网络摄像头,你可能最终会编写一个设备驱动程序,来响应ioctls等等。好的一面是,您不必处理实际的硬件,因此它将比常规设备驱动程序简单得多。如果我只想转储文件中的所有内容,然后读取所有内容,还是只想
cat
内容?这可能吗?如果您的“其他应用程序”足够笨,它只读取帧数据,那么可能。如果它试图在阅读之前配置/启动一个真正的网络摄像头,不要这样认为。此外,来自网络摄像头的流可能是原始YUV,或者充其量是一些与电影相关的编解码器预压缩的内容,而不是png。我已经很久没有接触过video4linux了,所以我恐怕不能说得更具体了。希望最近有经验的人能来解释清楚。只是为了更清楚地了解细节:
/dev/video0
不是目录,而是设备节点。这是文件系统中的一个特殊实体,用于处理@Torp提到的特定操作。