使用 nodejs 将直播流数据包发送到 youtube?
Send live stream packets to youtube with nodejs?
所以我正在尝试创建一个能够将数据包作为实时流发送到 Youtube 的应用程序。所以基本上我在程序中输入 url (rtmp://a.rtmp.youtube.com/live2),然后它会开始流式传输并发送 youtube 图像的数据包。我到处都在寻找,但不确定 nodejs 是否可行。所以基本上,我将能够使用我的 nodejs 应用程序全天候 24/7 直播到 Youtube。如有任何问题,请随时发表评论。
我不知道图像。但是,如果您有视频,则可以使用 ffmpeg
.
将其流式传输到 youtube
方法:1
如果没有 nodejs,它可以像这样用 cli 来完成。打开存储视频文件的 cli。并且 运行 以下命令:
ffmpeg -re -i vieo_you_wanna_stream.mp4 -c copy -f flv rtmp://a.rtmp.youtube.com/live2/SECRET_STREAM_KEY
方法:2
如果你真的需要从 nodejs 服务器流式传输,那么你可以执行以下操作:
使用以下代码行创建一个名为 runCommand.js
的文件:
var spawn = require('child_process').spawn;
module.exports = (cmd, args, onData, onFinish) => {
var proc = spawn(cmd, args.split(' '));
proc.stdout.on('data', onData);
proc.stderr.setEncoding("utf8")
proc.stderr.on('data', err => console.log(err) );
proc.on('close', onFinish);
}
现在在您的 app.js
文件中放入这些代码行:
const runCommand = require('./runCommand')
runCommand(
'ffmpeg',
'-re -i vieo_you_wanna_stream.mp4 -c copy -f flv rtmp://a.rtmp.youtube.com/live2/SECRET_STREAM_KEY',
(data) => console.log(data),
() => console.log('finished')
)
现在从 cli 运行
node app.js
如果您的视频路径 ffmpeg
和您的 youtube rtmp link 是正确的,它将立即开始流。
注:
如果您真的只想使用此方法将图像流式传输到 YouTube,则可以使用任何类型的转换器将图像转换为视频。并使用此方法将视频流式传输到 youtube。
所以我正在尝试创建一个能够将数据包作为实时流发送到 Youtube 的应用程序。所以基本上我在程序中输入 url (rtmp://a.rtmp.youtube.com/live2),然后它会开始流式传输并发送 youtube 图像的数据包。我到处都在寻找,但不确定 nodejs 是否可行。所以基本上,我将能够使用我的 nodejs 应用程序全天候 24/7 直播到 Youtube。如有任何问题,请随时发表评论。
我不知道图像。但是,如果您有视频,则可以使用 ffmpeg
.
方法:1
如果没有 nodejs,它可以像这样用 cli 来完成。打开存储视频文件的 cli。并且 运行 以下命令:
ffmpeg -re -i vieo_you_wanna_stream.mp4 -c copy -f flv rtmp://a.rtmp.youtube.com/live2/SECRET_STREAM_KEY
方法:2
如果你真的需要从 nodejs 服务器流式传输,那么你可以执行以下操作:
使用以下代码行创建一个名为 runCommand.js
的文件:
var spawn = require('child_process').spawn;
module.exports = (cmd, args, onData, onFinish) => {
var proc = spawn(cmd, args.split(' '));
proc.stdout.on('data', onData);
proc.stderr.setEncoding("utf8")
proc.stderr.on('data', err => console.log(err) );
proc.on('close', onFinish);
}
现在在您的 app.js
文件中放入这些代码行:
const runCommand = require('./runCommand')
runCommand(
'ffmpeg',
'-re -i vieo_you_wanna_stream.mp4 -c copy -f flv rtmp://a.rtmp.youtube.com/live2/SECRET_STREAM_KEY',
(data) => console.log(data),
() => console.log('finished')
)
现在从 cli 运行
node app.js
如果您的视频路径 ffmpeg
和您的 youtube rtmp link 是正确的,它将立即开始流。
注:
如果您真的只想使用此方法将图像流式传输到 YouTube,则可以使用任何类型的转换器将图像转换为视频。并使用此方法将视频流式传输到 youtube。