没有数据从 ffmpeg 写入 stdin 或 stderr
No data written to stdin or stderr from ffmpeg
我有一个假设模拟录像机的虚拟客户端,我想在这个客户端上模拟视频流;到目前为止,我可以从我在代码中创建的位图图像创建视频。
虚拟客户端是 运行 上的一个 nodejs 应用程序 Raspberry Pi 3,具有最新版本的 raspian lite。
为了使用我创建的视频,我需要获取 ffmpeg 以将视频转储到 pipe: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
任何人都可以帮助解决我的问题吗?
--编辑
也许我应该再解释一下。
我正在创建的系统将以某种方式设置,而不是我的流服务器向录像机请求视频流,而是录像机告诉服务器有流。
我自己已经减缓了我的问题。 (-:
我现在有 2 个解决方案。
- 就是把我的
-f rawvideo
改成 -f data
反正对我有用。
- 我可以在代码中将我的位图编码为 jpeg,并将我的 jpeg 图像通过管道传输到标准输入。这还需要我将 ffmpeg 参数更改为
-r 4 -f mjpeg -i pipe:0 -r 4 -vcodec copy -f mjpeg pipe:1
,这是迄今为止我做过的最慢的事情。而且我不能使用 4k 输入
感谢@Mulvya 的帮助。
@eFox 感谢您编辑我愚蠢的拼写和语法错误
我有一个假设模拟录像机的虚拟客户端,我想在这个客户端上模拟视频流;到目前为止,我可以从我在代码中创建的位图图像创建视频。
虚拟客户端是 运行 上的一个 nodejs 应用程序 Raspberry Pi 3,具有最新版本的 raspian lite。
为了使用我创建的视频,我需要获取 ffmpeg 以将视频转储到 pipe: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
任何人都可以帮助解决我的问题吗?
--编辑
也许我应该再解释一下。 我正在创建的系统将以某种方式设置,而不是我的流服务器向录像机请求视频流,而是录像机告诉服务器有流。
我自己已经减缓了我的问题。 (-:
我现在有 2 个解决方案。
- 就是把我的
-f rawvideo
改成-f data
反正对我有用。 - 我可以在代码中将我的位图编码为 jpeg,并将我的 jpeg 图像通过管道传输到标准输入。这还需要我将 ffmpeg 参数更改为
-r 4 -f mjpeg -i pipe:0 -r 4 -vcodec copy -f mjpeg pipe:1
,这是迄今为止我做过的最慢的事情。而且我不能使用 4k 输入
感谢@Mulvya 的帮助。
@eFox 感谢您编辑我愚蠢的拼写和语法错误