【问题标题】:NodeJS Server Start FFMPEG capture of UDP stream without blockingNodeJS服务器开始FFMPEG捕获UDP流而不阻塞
【发布时间】:2016-03-02 00:47:20
【问题描述】:

我有一个在 localhost 上运行的 nodejs 服务器,它检查传入的 URL,如果它看到 .m3u8 扩展名,则将 HLS 流文件提供给客户端进行播放。我还让服务器启动一个 FFMPEG 子进程以将 UDP 流转换为 HLS。

传递给服务器的示例 URL 可能是 http://localhost:7070/udphelp/239.255.1.1:59001/out.m3u8

现在我的服务器提取该 UDP 地址,启动 FFMPEG 将该 UDP 流转换为 HLS。但是,我发现由于 UDP 流“永无止境”,这导致服务器上的块无法提供 .m3u8 和 .ts 文件进行播放。

有没有办法让 FFMPEG 在服务器运行时不阻塞服务器?或者有没有比nodejs更好的服务器?

【问题讨论】:

标签: node.js ffmpeg


【解决方案1】:

所以由于我不关心我使用的 FFMPEG 进程的 IO

ffmpegProc = process.spawn('../start-ffmpeg', [udpAddress], stdio: 'ignore', detached: true}).unref()

start-ffmpeg 是一个 bash 脚本,它调用 ffmpeg 并设置了一些参数,并且我传入了 udp 地址。这允许我的 nodejs 服务器在我启动 FFMPEG 进程后继续提供 HLS 内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2018-03-11
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多