Ffmpeg 将PCM音频混入WMA可显著增加文件大小
当我尝试将wav文件转换为wma文件时,文件大小变得比原始源文件大得多:Ffmpeg 将PCM音频混入WMA可显著增加文件大小,ffmpeg,Ffmpeg,当我尝试将wav文件转换为wma文件时,文件大小变得比原始源文件大得多: input.wav-11M output.wma-16M 有没有办法减少输出文件的文件大小 命令和输出: $ ffmpeg -i input.wav -c copy output.wma ffmpeg version N-80797-g8b4d6cc Copyright (c) 2000-2016 the FFmpeg developers built with gcc 6.1.1 (GCC) 20160501
-11Minput.wav
-16Moutput.wma
$ ffmpeg -i input.wav -c copy output.wma
ffmpeg version N-80797-g8b4d6cc Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 6.1.1 (GCC) 20160501
configuration: --enable-gpl
libavutil 55. 27.100 / 55. 27.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 40.101 / 57. 40.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 46.102 / 6. 46.102
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'input.wav':
Metadata:
encoder : Lavf57.40.101
Duration: 00:01:00.00, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
Output #0, asf, to 'output.wma':
Metadata:
WM/EncodingSettings: Lavf57.40.101
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, 1411 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 16150kB time=00:01:00.00 bitrate=2205.1kbits/s speed=1.9e+03x
video:0kB audio:10336kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 56.255745%
WMA很糟糕。尝试更改数据包大小。发件人:
-数据包大小
设置muxer数据包的大小。通过调整此设置,您可以 可能会减少数据碎片或多路复用器开销,具体取决于您的 来源。默认值为3200,最小值为100,最大值为64k 例如:
ffmpeg -i input.wav -c copy -packet_size 65536 output_64k.wma
文件大小:
-11Minput.wav
-11M输出\u 64k.wma
-16M输出\u默认值.wma
- WMA很差劲。尝试更改数据包大小。发件人:
-数据包大小
设置muxer数据包的大小。通过调整此设置,您可以 可能会减少数据碎片或多路复用器开销,具体取决于您的 来源。默认值为3200,最小值为100,最大值为64k 例如:
ffmpeg -i input.wav -c copy -packet_size 65536 output_64k.wma
文件大小:
-11Minput.wav
-11M输出\u 64k.wma
-16M输出\u默认值.wma
ffmpeg
命令,是否会出现此问题?显示来自ffmpeg
命令的完整控制台输出。@LordNeckbeard,希望现在您可以调试我的代码。.“ffmpeg.exe”是获取命令行界面的可执行解决方案。请参阅以下问题:您没有回答我的问题,因此我无法帮助。@LordNeckbeard,我不是手动运行ffmpeg命令,我有一个.exe文件,我们如何复制这个问题?如果在命令行界面中手动运行ffmpeg
命令,是否会出现此问题?显示来自ffmpeg
命令的完整控制台输出。@LordNeckbeard,希望现在您可以调试我的代码。.“ffmpeg.exe”是获取命令行界面的可执行解决方案。请参阅此问题:您没有回答我的问题,因此我无法帮助。@LordNeckbeard,,我不是手动运行ffmpeg命令,我有一个.exe文件,使用大的数据包有什么坏处吗?为什么这不是默认值?(我关心的用例是从磁盘或NFS或其他可搜索媒体播放的文件,而不是流媒体。)它是否增加了搜索到包含视频+音频的WMV中某个位置所需的解组/解码量?@PeterCordes用于本地(-ish)播放我认为这不重要,我没有意识到任何负面影响,我不认为这会打乱你的寻找。我猜默认值是一个对蒸汽使用的加权平衡。你可能想问ffmpeg用户:我不使用WMA/ASF,所以可能我错了。使用大的数据包大小有什么不利之处吗?为什么这不是默认值?(我关心的用例是从磁盘或NFS或其他可搜索媒体播放的文件,而不是流媒体。)它是否增加了搜索到包含视频+音频的WMV中某个位置所需的解组/解码量?@PeterCordes用于本地(-ish)播放我认为这不重要,我没有意识到任何负面影响,我不认为这会打乱你的寻找。我猜默认值是一个对蒸汽使用的加权平衡。你可能想问ffmpeg用户:我不使用WMA/ASF,所以可能我错了。