Ffmpeg,音频比特率太大

Ffmpeg,音频比特率太大

此命令生成一个具有1500k比特率的文件。

ffmpeg -i 480P_600K_128632031.mp4 -t 6 -map 0:a -c:a libopus -b:a 32k -vbr on -compression_level 10 -ac 1 -ar 48000 480P_600K_128632031.opus

-b:a 32k忽略了。

完整输出,以防万一:

ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
  configuration: --prefix=/mingw64 --target-os=mingw32 --arch=x86_64 --disable-debug --disable-static --enable-avresample --enable-dxva2 --enable-d3d11va --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libcaca --enable-libcelt --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libvpx --enable-libwebp --enable-openal --enable-libwavpack --enable-pic
--enable-postproc --enable-runtime-cpudetect --enable-shared --enable-static --enable-swresample --enable-version3 --enable-zlib --disable-doc
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '480P_600K_128632031.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.71.100
  Duration: 00:27:04.38, start: 0.000000, bitrate: 516 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], 379 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
File '480P_600K_128632031.opus' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:1 -> #0:0 (aac (native) -> opus (libopus))
Press [q] to stop, [?] for help
Output #0, opus, to '480P_600K_128632031.opus':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.71.100
    Stream #0:0(und): Audio: opus (libopus), 48000 Hz, mono, flt, 32 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc57.89.100 libopus
      major_brand     : isom
      minor_version   : 512
      compatible_brands: isomiso2avc1mp41
size=      17kB time=00:00:06.01 bitrate=  23.7kbits/s speed=46.5x
video:0kB audio:17kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.394640%

我的勺子太大了,呃,没关系。

答案1

您使用的是“-b:a 32k -vbr on”。您将恒定比特率请求与可变比特率请求混为一谈,并且无法识别“on”一词。

您可能需要“-b:a 32k”。

询问Mulvya 在 vi​​deo.stackexchange.com肯定会有帮助的。

答案2

您的输出比特率似乎是 23.7 kBit/s,而不是 1500 KB/s。MediaInfo 报告的任何内容都是错误的,因为 ffmpeg 告诉您编码过程的(运行平均)比特率。

-b:a 32k和都是-vbr on的有效设置libopusffmpeg -h encoder=libopus详情请参阅。当仅指定 时-b:a 32k,您将获得恒定比特率编码。

另外指定时-vbr on,您启用 VBR 编码使用OPUS_SET_VBR呼叫。 注意:

由于帧的长度必须是整数字节数,因此配置的比特率可能无法完全满足。

相关内容