没有数据从ffmpeg写入stdin或stderr

时间:2017-12-13 10:04:42

标签: node.js ffmpeg video-streaming

我有一个虚拟客户端,假设模拟录像机,在这个客户端我想模拟视频流;到目前为止,我已经可以使用代码创建的位图图像创建视频。

虚拟客户端是在带有最新版本的raspian lite的Raspberry Pi 3上运行的nodejs应用程序。

为了使用我创建的视频,我需要让ffmpeg将视频转储到管道:1。问题是我需要-f rawvideo作为输入参数,否则ffmpeg无法理解我的视频,但是当我有参数设置时ffmpeg拒绝向stdio写任何内容

ffmpeg正在运行这些参数

ffmpeg -r 15 -f rawvideo -s 3840x2160 -pixel_format rgba -i pipe:0 -r 15 -vcodec h264 pipe:1

任何人都可以帮我解决问题吗?

- 编辑

也许我可以解释一下。 我正在创建的系统将以某种方式进行设置,而不是我的流服务器向录像机询问视频流,而是记录器告诉服务器有流。

1 个答案:

答案 0 :(得分:0)

我已经放慢了自己的问题。 ( - :

我现在有2个解决方案。

  1. 无论如何都要将我的-f rawvideo更改为-f data
  2. 我可以在代码中将我的位图编码为jpeg并将我的jpeg图像传输到stdin。这也要求我将ffmpeg参数更改为-r 4 -f mjpeg -i pipe:0 -r 4 -vcodec copy -f mjpeg pipe:1,这是迄今为止我做过的最慢的事情。我不能使用4k输入
  3. 感谢@Mulvya试图提供帮助。

    @eFox感谢您编辑我的愚蠢拼写和语法错误