繁体   English   中英

ffmpeg 找不到选项`var_stream_map a:0 a:1`

[英]ffmpeg Option not found `var_stream_map a:0 a:1`

我正在使用 fluent ffmpeg 和 ffmpeg v4.1.3 进行 HLS mukti 比特率流式传输,但我无法使用 -var_stream_map 配置它说选项,未找到,但在 fluent-ffmpeg 之外运行此命令可以正常工作

这是我的代码

    const stream = ffmpeg(filePath);
        stream.outputOptions([
            '-preset slow',
            '-g 48',
            '-map 0:0',
            '-q:a:0 64k',
            '-q:a:1 128k',
            '-var_stream_map a:0 a:1',
            '-hls_time 6',
            '-f hls',
            '-hls_list_size 0',
            '-master_pl_name /tmp/master.m3u8',
            "-hls_segment_filename /tmp/v%v/fileSequence%d.t",
            "/tmp/v%v/prog_index.m3u8"
        ])
        .output('./master.m3u8')
        .on('progress', function(progress) {
            console.log('Processing: ' + progress.percent + '% done')
        })

这是 output

ffmpeg version 4.1.3-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.1 (clang-1001.0.46.3)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Unrecognized option 'var_stream_map a:0 a:1'.
Error splitting the argument list: Option not found

有人能告诉我如何正确通过吗?

在命令行上,建议将var_stream_map值放在引号之间。

'-var_stream_map', '"a:0 a:1"'

此外-map参数仅添加一个 stream (流0:0 )。 如果您想拥有两个音频流,您还必须添加两次-map参数:

-map 0:0 -map 0:0

这里同样的输入 stream 0:0为 output 处理添加了两次。

我也面临同样的问题,并通过将“var_stream_map”放在另一个 outputOption() 中来解决这个问题。

stream.outputOptions([
            '-preset slow',
            '-g 48',
            '-map 0:v', '-map 0:v',
            '-map 0:a', '-map 0:a',
            '-q:a:0 64k',
            '-q:a:1 128k',
            '-hls_time 6',
            '-f hls',
            '-hls_list_size 0',
            '-master_pl_name /tmp/master.m3u8',
            "-hls_segment_filename /tmp/v%v/fileSequence%d.t",
            "/tmp/v%v/prog_index.m3u8"
        ])
        .outputOption('-var_stream_map', 'v:0,a:0 v:1,a:1')
        .output('./master.m3u8')
        .on('progress', function(progress) {
            console.log('Processing: ' + progress.percent + '% done')
        })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM