【发布时间】:2018-07-02 05:51:41
【问题描述】:
我正在尝试在 node.js 中创建一个服务器,它接收 RTMP 数据包并将它们转换为 HLS 数据包,然后将数据包发回。我这样做是为了创建一个与 iOS 不支持 RTMP 的那一刻起与所有配置兼容的直播服务。这是我的代码,但我被困在我应该放入回调的内容中。很抱歉造成混乱,但我不是 JS 程序员,这是我进入 JS 项目的第一步。提前致谢!我的流客户端将是 OBS。
import { Server } from 'https';
var hls = require('hls-server')(8000);
var ffmpeg = require('fluent-ffmpeg')
// host, port and path to the RTMP stream
var host = 'localhost'
var port = '8000'
var path = '/live/test'
clients = [];
function callback(){
}
fmpeg('rtmp://'+host+':'+port+path, { timeout: 432000 }).addOptions([
'-c:v libx264',
'-c:a aac',
'-ac 1',
'-strict -2',
'-crf 18',
'-profile:v baseline',
'-maxrate 400k',
'-bufsize 1835k',
'-pix_fmt yuv420p',
'-hls_time 10',
'-hls_list_size 6',
'-hls_wrap 10',
'-start_number 1'
]).output('public/videos/output.m3u8').on('end', callback).run()
【问题讨论】: