Gstreamer 不会下沉到命名管道

2024-02-01

当 gst-launch 管道的接收器是命名管道与普通文件时,我会得到不同的行为。

我有一个 gst-launch 管道,它在 OMAP 嵌入式 (linux) 板上显示来自摄像机的视频,并通过 Tee 以 avi 形式提供视频。

gst-launch -v -e omx_camera device=0 do-timestamp=1 mode=0 name=cam cam.src ! "video/x-raw-yuv, format=(fourcc)NV12, width=240, height=320, framerate=30/1" ! tee name=t1 t1. ! queue ! ducatih264enc profile=100 level=50 rate-preset=low-delay bitrate=24000 ! h264parse ! queue ! avimux ! filesink location=/tmp/camerapipe t1. ! queue ! dri2videosink sync=false

如果我做

filesink location=/some/real/file t1.  

一切都很好

但我希望使用 Java/opencv 进程读取输出,当我这样做时,我没有得到任何 java 进程的信息。 gst-launch 进程确实宣布它已更改为 PLAY。

为了简化事情而不是java过程我tail -f命名管道

并且也看不到任何输出,尽管在这两种情况下 dri2videosink 都在显示视频

无论是 tail 还是 java 进程,杀死它也会停止 gst-launch 进程,所以显然它在某种意义上是“连接的”。

在 gst-launch 退出后,通过尾部运行终止 gst-launch 进程会得到看起来像几 K、可能是 1 帧的数据。

我尝试保存到普通文件并使用java进程读取,这有效,所以我知道这不是数据格式。


我正在尝试做同样的事情,我在 c 中使用 opencv 并在 ubuntu 中工作。

我确实做到了以下几点:

我使用 mkfifo 在 /dev/ 中创建了一个名为 video_stream 的命名管道,确保您有权读取/写入它,或者只使用 sudo。

在命名管道中播放测试视频

sudo gst-launch -e videotestsrc ! video/x-raw-yuv, framerate=20/1, width=640, height=480 ! ffenc_mpeg4 ! filesink location=/dev/video_stream

从网络摄像头播放到命名管道:

sudo gst-launch -e v4l2src device=/dev/video0 !  ffenc_mpeg4 ! filesink location=/dev/video_stream

然后我使用了人脸检测教程

http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier

测试一切,但将我的输入从网络摄像头 1 更改为命名管道。

  capture = cvCaptureFromCAM( -1 );

Becomes

 VideoCapture capture("/dev/video_stream");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gstreamer 不会下沉到命名管道 的相关文章

随机推荐

  • 如何在 Windows 中从 python 3.7 降级到 3.6

    我正在尝试安装tensorflow 但python 3 7不支持它 所以我想在不使用anaconda的情况下获得python 3 6 那么有什么建议吗 我已经这样做过很多次了 我的第一个技巧是使用虚拟环境 https realpython
  • 从命令列表中调用 shell 命令,直到所有命令都完成

    我有我想要调用的 shell 命令列表 最多可同时运行四个进程 我的基本想法是将命令发送到 shell 直到 4 个命令处于活动状态 然后 该脚本通过查找公共字符串 例如 不断检查所有进程的进程计数 nohup scrapy 抓取 urlM
  • 是否可以使 Node 不需要“.js”扩展名进行导入?

    Node 现在内置了对导入的支持 这非常棒 但该支持要求您指定文件扩展名 这很烦人 我确信这是有道理的 可能与他们对 mjs扩展 但是有什么方法可以解决它并使import 像平常一样 工作 你可以离开 js off 您可以通过设置来实现这一
  • Docker compose postgresql 服务 - 在构建过程中无法创建用户和数据库?

    我已经在这上面浪费了一整天的时间 并且说我对本应简单的任务的不必要的复杂性没有留下深刻的印象 这是一种严重的轻描淡写 好吧 说完之后 我正在使用 docker machine docker compose postgresql 和 redi
  • 如何在 Oracle 中转义 regexp_replace?

    我正在为字符串创建一个小的replaceParam函数 并且希望能够转义替换 例如 G select regexp replace ABC ABC ABC XXX from dual leads to XXX XXX 但我希望能够逃脱替换
  • 为什么 boostuniform_int_distribution 采用闭范围(而不是半开范围,遵循常见的 C++ 用法)?

    标题说明了一切 甚至还有一个warning http www boost org doc libs 1 55 0 doc html boost random tutorial html在文档页面中 警告 与常见的 C 用法相反uniform
  • 打开 AVD 管理器时出错

    在模拟器上运行代码时 我遇到了常见问题 控制台消息是 2013 01 05 19 39 15 Doodlz Android Launch 2013 01 05 19 39 15 Doodlz adb is running normally
  • 如何将动画 GIF 写入 iOS 相机胶卷?

    如何将动画 GIF 写入 iOS 相机胶卷 我知道照片库应用程序无法播放动画 但例如我应该能够在发送电子邮件等时导入它 我试过了 UIImageWriteToSavedPhotosAlbum UIImage imageWithData se
  • 更改列表项选择的视图属性

    我有一个包含自定义行的 ListView 此自定义行具有以下 UI 元素 图像视图图像视图1 图像视图2 文本视图文本视图1 文本视图2 文本视图3 要求是每当选择列表行时都会发生以下更改 imageView1背景 颜色改变 imageVi
  • 重置到 Git 中的第一个提交?

    有没有什么相当于 root标志在rebase命令为reset命令 git reset root 假设我想重置到当前分支中的第一个提交 我是否必须手动挖掘历史记录并找到该提交的哈希值 或者是否有一种简单的方法来重置到第一个可用的提交 根提交
  • Xcode 是否有更好的更新系统?

    Xcode 4 0 1 几天前发布了 这意味着我再次下载 4 5 GB 的野兽来更新 有谁知道苹果是否计划推出更好的更新系统 这些天我在等待洪流 不像下载到 80 却失去连接那么令人沮丧
  • Laravel Composer 安装出现错误“您的锁定文件不包含兼容的软件包集,请运行 Composer update”

    我编写 Laravel 代码已经有一段时间了 目前 我尝试从 github 克隆一个项目并在本地进行编辑 我在项目目录中安装了 Composer 但未包含供应商文件夹 我尝试运行composer install但我给了我这个错误 Your
  • gitlab - 使用 access_token 推送到存储库

    我实现了 oauth2 Web 流程 以便从我的应用程序的用户获取 access token 使用 access token 我想执行以下操作 获取用户信息 为该用户创建一个存储库 将代码推送到此存储库 使用 git push 我已经成功获
  • 变量中缀到前缀到后缀

    我在互联网上搜索了一个很好的实现 将变量表达式从中缀表示法转换为前缀和后缀 而不是数字表达式 我所做的所有搜索都没有成功 基本上我想看看 PHP 中是否有任何实现 这样我可以修改它以支持更多运算符 而不仅仅是 例如转换 a b c p c
  • java泛型通配符

    我对 Java 泛型类型中通配符的使用有疑问 它们之间的基本区别是什么 List
  • openCV 滤波器图像 - 用局部最大值替换内核

    关于我的问题的一些详细信息 我正在尝试在 openCV 中实现角点检测器 另一种内置算法 Canny Harris 等 我有一个充满响应值的矩阵 最大响应值为 检测到角点的最大概率为 我有一个问题 在一个点的附近检测到很少的角 但只有一个
  • 将所有列表值合并到地图中[重复]

    这个问题在这里已经有答案了 我想将地图转换为 Map
  • 注册表部分的脚本功能

    我们的软件支持一系列 70 文件关联 用户可以选择与我们的应用程序关联 直接在Registry安装程序部分并使用标志来控制卸载期间的行为以及Check标志来控制是否应将其写入注册表 用户可以通过自定义页面控制要设置的关联CheckListB
  • 如何解决Python中稀疏矩阵的“NaN或无穷大”问题?

    我对 python 完全陌生 我使用了一些在网上找到的代码 并尝试对其进行处理 因此 我正在创建一个文本文档矩阵 并且想在训练逻辑回归模型之前添加一些额外的功能 虽然我已经用 R 检查了我的数据并且没有收到错误 但是当我运行逻辑回归时 我收
  • Gstreamer 不会下沉到命名管道

    当 gst launch 管道的接收器是命名管道与普通文件时 我会得到不同的行为 我有一个 gst launch 管道 它在 OMAP 嵌入式 linux 板上显示来自摄像机的视频 并通过 Tee 以 avi 形式提供视频 gst laun