使用 mkfifo 和传输流,这可能吗?

2024-05-11

我想执行一个 bash 脚本来执行以下操作:

应用程序“ffmpeg”生成实时传输流 (.ts) 文件。我需要处理这个实时流(执行解复用等)。

现在我知道这必须通过 FIFO 来完成;但这是我的任务。

我需要重定向 ffmpeg 的输出以写入 fifo,然后另一个应用程序将处理该 fifo 内容。这种情况会持续实时发生,直到我按下 Ctrl+C。

这可能吗? 我必须在两个终端上这样做吗?

我基本上是为上述操作(以及更多操作)编写一个 bash 脚本,所以我是否必须调用两个终端,或者可能是 fork?

好心提醒。

提前致谢!


FFmpeg 支持管道。 您所要做的一切都是按如下方式进行的:

  1. 做一个先进先出

    mkfifo first.ts  
    
  2. 使用管道运行 ffmpeg

    ffmpeg -i sample.ts -c copy -muxrate 5000000 pipe:1 > first.ts
    
  3. 运行任何其他可处理传输流文件的工具,例如OpenCaster 工具 tscbrmuxer 可以添加例如NIT表传输流文件

    tscbrmuxer b:3008 NIT.ts b:5000000 first.ts > second.ts
    
  4. 如果您想停止 2 个工具,只需杀死最后一个使用管道/fifo 的工具即可。在这种情况下,你必须杀死 tscbrmuxer。

    kill tscbrmuxer
    

    OR
    如果您没有在后台运行最后一个工具,只需使用 [ctrl+c] 将其终止

由于使用了这种方法(例如,作为 shell 脚本或 Python 脚本),所有使用管道/fifo 的工具都将因管道损坏而终止。

我希望这能帮到您。

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

使用 mkfifo 和传输流,这可能吗? 的相关文章

随机推荐

  • Google 地图上的自定义路线/路径/道路

    我需要能够使用 V2 或 V3 最好是 3 创建在某种意义上忽略建筑物的路径 我试图创建一个 kml 文件来自己绘制所有路径 然后找到某种方法根据需要打开 关闭它们 例如 用户想要从 A 点前往 B 点 这些点之间有许多建筑物 用户可以实际
  • 如何在多行 Flexbox 布局中指定换行符?

    有没有办法在多行弹性框中进行换行 例如 在每个第三项之后中断这个代码笔 https codepen io asvirskyi pen bdbLNz container background tomato display flex flex
  • 使用FFT算法计算

    给定在平面上的点 1 0 2 0 n 0 上发现的一组 n 个粒子电荷载流子 在 i 0 点发现的粒子电荷记为 Qi 作用在粒子上的力由以下公式给出 C is a Coulomb s constant 给出一个算法来计算 Fi 对于总复杂度
  • 从平面数组创建嵌套对象

    我目前有一个对象数组 我正在尝试将其重塑为嵌套对象ID作为对象键 并将其作为目标ID与parentid 如果不是 0 我尝试了几种方法 但我很挣扎 主要绊脚石for me是超过一两层深度的任何东西 理想情况下 我需要它是动态的 这样它就可以
  • 在 Eigen 中创建重塑函数

    这是 Eigen 中重塑函数的代码 有用 typedef MatrixXd mat typedef VectorXd vec Map
  • 将数据类型设置为 Kind * -> * 这不是函子

    布伦特 约尔吉类型分类百科全书 https www haskell org haskellwiki Typeclassopedia给出以下练习 举一个类型的例子 gt 不能将其制成 的实例Functor 不使用undefined 请告诉我什
  • 在 ApiController 操作中获取当前用户,而不将 userID 作为参数传递

    我们如何在安全的 ApiController 操作中获取当前用户 而不将 userName 或 userId 作为参数传递 我们假设这是可用的 因为我们处于安全操作范围内 处于安全操作意味着用户已经通过身份验证并且请求具有她的不记名令牌 鉴
  • 如何将 Hamcrest 匹配器应用于被测类的属性?

    有没有办法构建一个组合的 Hamcrest 匹配器来测试对象和该对象的属性 伪代码 both instanceof MultipleFailureException class and pseudo code starts adapt ne
  • 如何使用 spring-data-neo4j 配置 neo4j EmbeddedGraphDatabase (现已弃用)?

    我正在使用 spring data neo4j 3 1 1 Release 和 neo4j 2 1 2 我设法制作了一个运行良好的 spring 配置 但它使用了 org neo4j kernel EmbeddedGraphDatabase
  • UICollectionView 装饰和补充视图无法移动

    In UICollectionView装饰和补充意见似乎是一个很大的谜团 目前似乎几乎没有示例代码 我设法让这两种类型在自定义布局中工作 请参阅此post https stackoverflow com questions 12810628
  • ProcessBuilder 未正确执行 Java 类文件

    在一个java文件中 我调用命令行语句来执行另一个java文件 这就是我正在做的 List
  • 在承诺中运行同步函数

    我是 JS 和异步操作的新手 在使用express的nodeJS路由器中 我使用mongoose从mongo聚合了一些数据 该数据是每隔 15 分钟从不同站点收集的天气数据 我使用猫鼬聚合管道处理数据 以获取每小时数据并按每个站点进行分组
  • 错误:AVD 2.3 无效:/home/user/.android/avd/2.3.ini 中未知目标“android-10”。尝试通过AVD管理器修复

    尝试将名为 AVD 的 2 3 添加到运行配置时出现上述错误 但它的创建工作却完美无缺 尝试了多个目标 如下所示 效劳于 L 预览 4 4 不适用于 2 3 3 4 1 2 4 3 使用 Android Studio 0 8 1 时会发生这
  • 使用 chrome 扩展和 Django 进行身份验证

    对于那些熟悉 django 和 chrome 扩展的人 如何使用 cookie 进行身份验证 以便当您登录 django 制作的网站时 您的 chrome 扩展程序也会登录并激活 谢谢 您的 Chrome 扩展程序 通过 Javascrip
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • 在大型数据库上使用谓词?

    我有一个包含 50 000 000 个文档的数据库 我想将每个文档的 base uri 写入一个文件 运行整个 50 000 000 次运行时间太长 查询超时 所以 我想我应该使用谓词将数据库分成更易于管理的批次 因此 我尝试了以下方法来了
  • 访问 .js 文件中的 Nuxt 插件

    假设我有一个脚本文件 foo js function doStuff how to access store and other plugins here export default doStuff 如果不将调用组件作为参数传递 我如何访
  • 用惯用的 Scala 更新大型数据结构

    我已经尝试 Scala 一段时间了 并且经常遇到支持不可变数据结构的建议 但是当你有一个像这样的数据结构时3D 场景图 大型神经网络或任何具有大量需要频繁更新的对象的东西 对场景中的对象进行动画处理 训练神经网络 这似乎是 运行时效率极低
  • 为什么在按下 Tab 键之前​​不显示焦点矩形?

    我有一个奇怪的问题 可能只是为了理解 为什么在测试应用程序中 直到我按 Tab 键才显示焦点矩形 我想显示一个带有两个单选框和两个按钮的对话框 当我显示对话框时 我希望在第一个单选按钮周围看到一个焦点矩形 以便用户可以看到焦点在哪里 我对控
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo