node.js - ffmpeg:实例中视频未开始流式传输
问题描述
我已经设置了使用ffmpeg
. 它在我的本地系统中运行良好。
本地版本
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
现场版
ffmpeg version 3.4.6 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (GCC)
GCC 版本
当地的
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
居住
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
在我的本地运行良好的代码
var args = [
'-y',
'-re',
'-i', `${filePath}`,
'-listen', '1',
'-s', '640x480',
'-codec:a', 'aac -strict experimental',
'-b:a', '44.1k',
'-preset', 'superfast',
'-r', '15',
'-b:v', '1000k',
'-tune', 'zerolatency',
'-c:a', 'aac',
'-ar', '44100',
'-c:v', 'libx264',
'-f', 'flv', streamURL
];
let ffmpeg = spawn(`ffmpeg`, args);
ffmpeg.on('exit', (statusCode) => {
console.log("statusCode ::::::::::::::::::::::::::::::::: ", statusCode);
if (statusCode === 0) {
console.log('conversion successful')
}
})
ffmpeg.stderr.on('data', (err) => {
console.log('err:', new String(err))
})
ffmpeg.on('close', function () {
console.log('finished');
});
错误 :
ffmpeg -re -i '{MyS3URL}' -c:v libx264 -preset superfast -tune zerolatency -c:a aac -ar 44100 -f flv rtmp://{{instanceIp}}/live/myStream
err: [String: 'ffmpeg version 3.4.6']
err: [String: ' Copyright (c) 2000-2019 the FFmpeg developers']
err: [String: '\n']
err: [String: ' built with gcc 7 (GCC)\n']
err: [String: ' configuration: \n']
err: [String: ' libavutil 55. 78.100 / 55. 78.100\n']
err: [String: ' libavcodec 57.107.100 / 57.107.100\n']
err: [String: ' libavformat 57. 83.100 / 57. 83.100\n libavdevice
57. 10.100 / 57. 10.100\n libavfilter 6.107.100 / 6.107.100\n
libswscale 4. 8.100 / 4. 8.100\n libswresample 2. 9.100 /
2. 9.100\nUnrecognized option \'tune\'.\nError splitting the argument
list: Option not found\n']
statusCode ::::::::::::::::::::::::::::::::: 1
finished
注意: 如您所见,我已经控制了我创建动态 URL 的 URL。
另外,我直接得到了statusCode = 1。当我在本地终端中粘贴相同的 URL 并按 Enter 键时,我的流式传输开始了。
所以问题是为什么它不能在现场工作?
解决方案
推荐阅读
- python - 通过 VBA 从不同的计算机运行 Python 脚本
- php - PHP - Preg 匹配所有 - Wordpress 多个带有多个参数的短代码
- postgresql - 如何将所有 autovacuum 设置恢复为其 postgres 默认值
- java - spring-cloud rabbit mq 现有队列
- xamarin.forms - .NET MAUI:MAUI 将如何影响 Xamarin Native 应用程序?
- selenium-grid - 线程“Thread-13”org.openqa.selenium.remote.UnreachableBrowserException 中的异常:无法启动新会话
- ruby-on-rails - CircleCI Docker - 构建路径 /home/circleci/myapp_api 不存在、不可访问或不是有效的 URL
- javascript - Vue.js 意外数据和方法行为
- corda - Corda - 通过 RPC 传递匿名实现
- awk - 如果 awk 中的空格长度不同,则无法匹配空格(解析期间)