node.js - ffmpeg --help, node child_process spawn trigger stderr

标签 node.js typescript ffmpeg child-process

所以我只需运行 ffmpeg --help使用node.js,为什么会有stderr ?我觉得应该只有stdout .是 ffmpeg 还是 node.js 的问题?
代码:

import path from 'path';
import {spawn} from 'child_process';

const childProcess = spawn(path.join(__dirname, 'ffmpeg'), ['--help']);
childProcess.stderr.setEncoding('utf-8');
childProcess.stderr.on('data', data => {
  console.log('stderr:');
  console.log(data);
});
输出:
stderr:
ffmpeg version 4.4-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay

stderr:
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100

最佳答案

让我回答我自己的问题:ffmpeg 默认将正常输出重定向到 stderr。这很奇怪,但这就是它的设计方式

关于node.js - ffmpeg --help, node child_process spawn trigger stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69473753/

相关文章:

TypeScript 的 import() typeof json

android - 通过音轨在 Android 中播放音乐

javascript - 将数据传递到 Meteor 中的路由

javascript - Node.js - 如何生成时间戳 unix 纪元格式?

typescript - TS 枚举中的重复字符串值不会导致编译错误?

javascript - 通过 Angular 2 中的所有组件加载脚本

python - conda环境下,无法导入已安装的包

linux - Ffmpeg concat images 并没有完成所有图像

node.js - 如何在 Javascript (node.js) 开发人员模式下运行 Azure Application Insights

javascript - 在 NodeJS 中需要一个异步函数