ffprobe
关于我的意见:
Duration: 00:02:50.54, start: 0.000000, bitrate: 40 kb/s
Stream #0:0: Audio: vorbis, 22050 Hz, mono, fltp, 35 kb/s
文件大小:834千
我使用以下命令将此 vorbis 转换为 aac:
ffmpeg -i input.ogg -vbr 1 output.aac
我不是音频专家,听不出与原始 aac 的区别,好吧,质量很好。
文件大小:1584kB
嗯,比原始 ogg 大两倍。只是好奇 - 如果我设置最大可用质量会怎么样?
ffmpeg -i input.ogg -vbr 5 output.aac
文件大小:1584kB
嗯。。为什么最大和最小质量的文件大小相同?而 1.5 MB 是三分钟口语 AAC 的正确大小?我认为输出文件可以更轻。ffrobe
输出 aac 显示:
22050 Hz, mono, fltp, 56 kb/s
有关命令和设置的信息来源 -官方维基。
我从https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz. 每种编码的完整输出:
fmpeg version 3.3.4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.4.0 (Debian 6.4.0-4) 20170820
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
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
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, ogg, from 'merged_by_ffmpeg.ogg':
Duration: 00:02:50.54, start: 0.000000, bitrate: 40 kb/s
Stream #0:0: Audio: vorbis, 22050 Hz, mono, fltp, 35 kb/s
Metadata:
ENCODER : Lavf57.71.100
Codec AVOption vbr (Variable bit rate mode) specified for output file #0 (output_ffmpeg.aac) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 -> #0:0 (vorbis (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, adts, to 'output_ffmpeg.aac':
Metadata:
encoder : Lavf57.71.100
Stream #0:0: Audio: aac (LC), 22050 Hz, mono, fltp, 69 kb/s
Metadata:
encoder : Lavc57.89.100 aac
size= 1584kB time=00:02:50.58 bitrate= 76.1kbits/s speed=53.5x
video:0kB audio:1559kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.611874%
[aac @ 0x4321800] Qavg: 2788.377
谢谢你的帮助。
答案1
真丢脸——我读文档不准确。正确的命令是:
ffmpeg -i input.ogg -q:a 1 output.aac
但对于我的问题而言,正确的用户体验是向用户显示一些通知,告知这些参数不会产生任何影响。
现在文件大小为 1599kB,76.8kbits/s。耗时 2 分 50 秒。我以为文件大小会更小...