【问题标题】:how to choose ffmpeg video mp3 audio version id?如何选择ffmpeg视频mp3音频版本id?
【发布时间】:2023-03-13 18:33:01
【问题描述】:

我在使用 ffmpeg 编码的视频文件音轨时遇到问题。我的编码视频包含从 mediainfo 中提取的音轨 ID:

我在guess_format "mov" 容器中使用CODEC_ID_MP3 来进行quicktime

Audio
ID                                       : 2
Format                                   : MPEG Audio
Format version                           : Version 2
Format profile                           : Layer 3
Codec ID                                 : .mp3
Duration                                 : 2s 916ms
Bit rate mode                            : Constant
Bit rate                                 : 128 Kbps
Channel(s)                               : 1 channel
Sampling rate                            : 16.0 KHz
Compression mode                         : Lossy
Stream size                              : 45.3 KiB (2%)
Language                                 : English

这在 windows 7 的 vanilla 无编解码器安装中无法识别,仅由 k-lite 编解码器 libmad 播放

我注意到,另一个测试文件包含类似的 mp3 曲目并且可以通过媒体播放器播放:

Audio
ID                                       : 2
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 6B
Duration                                 : 1mn 9s
Bit rate mode                            : Constant
Bit rate                                 : 320 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 44.1 KHz
Compression mode                         : Lossy
Stream size                              : 2.67 MiB (38%)
Writing library                          : LAME3.98

我注意到的区别在于格式版本号和编解码器 ID,这是来自 ffmpeg 输出的版本 2 - 我无法在 ffmpeg 源文件中找到此版本设置,所以我的问题是 - 有没有办法影响此格式版本标识符并像上面的可播放视频一样设置编解码器ID?

【问题讨论】:

    标签: ffmpeg mp3


    【解决方案1】:

    我必须破解 ffmpeg 源才能将编解码器 ID 更改为我需要的 ID

    【讨论】:

      【解决方案2】:

      版本 1 仅支持 32 kHz、44.1 kHz 和 48 kHz 的采样频率。对于 16 kHz,您需要版本 2,或者如果您需要版本 1,您可以重新采样到 32 kHz (-ar 32k)。

      如有必要,您可以使用 -atag id 覆盖编解码器 id(如果您正在执行与标准相反的操作并希望 ffmpeg 不被打扰,则使用 -strict unofficial)。

      【讨论】:

        猜你喜欢
        • 2020-08-25
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 2012-03-09
        • 1970-01-01
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多