【发布时间】:2018-05-27 04:18:28
【问题描述】:
我有一个虚拟客户端,它应该模拟一个录像机,在这个客户端上我想模拟一个视频流;到目前为止,我已经可以从我在代码中创建的位图图像创建视频。
虚拟客户端是一个 nodejs 应用程序,运行在具有最新版本 raspian lite 的 Raspberry Pi 3 上。
为了使用我创建的视频,我需要让 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
谁能帮忙解决我的问题?
--编辑
也许我应该多解释一下。 我正在创建的系统将以某种方式设置,而不是我的流服务器向录像机询问视频流,而是由录像机告诉服务器有一个流。
【问题讨论】:
-
你还没有设置输出格式! ffmpeg 中的 stdout 会消耗什么,它理解哪些格式?
-
对不起;我复制了错误的 ffmpeg 命令,我也将强制 mp4 (
-f mp4) 作为输出参数。我把它取下来看看是不是我的 tcp 客户端没有正确读取,但甚至没有来自 ffmpeg 的错误消息。 -
我在 TCP Socket 另一端的 Stream 服务器理解 mp4/h264 和 MJPEG
-
通常 ffmpeg 不会将 mp4 写入管道,因为它不可搜索。但这是可以克服的。分享完整的日志。
-
@Mulvya 正如我在消息中所说,ffmpeg 不会写任何东西。这适用于日志、错误消息或任何其他信息。即使我将 loglevel 设置为调试也没有,所以很遗憾我不能给你一个日志。我知道我可以将 mp4 写入管道:1 如果我使用文件输入它就可以工作,所以这不是我的问题。我的问题是力量 rawvideo 以某种方式阻止标准输出和标准错误
标签: node.js ffmpeg video-streaming