【问题标题】:Can ffmpeg convert audio to raw PCM? If so, how? [closed]ffmpeg 可以将音频转换为原始 PCM 吗?如果是这样,怎么做? [关闭]
【发布时间】:2011-01-31 18:21:02
【问题描述】:

我目前正在使用ffmpegFLV/Speex 转换为WAV/pcm_s16le,成功。但是,我现在需要输出格式为 RAW,即 PCM 签名的 16 位小端序,没有 WAV 标头。我尝试了以下方法:

ffmpeg -y -i input.flv -vn -acodec pcm_s16le output.raw

但是 ffmpeg 的响应是:

Unable to find a suitable output format for 'output.raw'

我也尝试使用output.pcmoutput 作为输出文件名,结果相同。

我还尝试了 -f 标志来指定原始格式,但这给出了:

Unknown input or output format: raw

FFmpeg 可以做到这一点吗?如果有,怎么做?

【问题讨论】:

    标签: ffmpeg flv pcm


    【解决方案1】:

    试一试:

    ffmpeg -i input.flv -f s16le -acodec pcm_s16le output.raw
    

    你可以通过运行获得这些选项:

    ffmpeg -formats
    

    详情请见https://trac.ffmpeg.org/wiki/audio%20types

    【讨论】:

    • 对于关注者,ffmpeg -i lame1.mp3 -acodec pcm_s16le yo.wav 将其转换为 wav带有 WAV 标头。
    • 对于那些坚持Unable to find a suitable output format for 'output.raw'的人,请注意参数的顺序对于FFmpeg很重要,因此您必须将-i参数保留为第一个参数。
    • 对我来说把-f s16le放在编解码器之后是有效的。
    • 如果我添加-map 0:a 来对输入中的所有音频进行编码并将其更改为 mkv,则会出现错误......将所有音轨从输入编码到 pcm 的命令是什么?跨度>
    【解决方案2】:

    mp4文件转换为pcm

    ffmpeg -y  -i input.mp4  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 output.pcm
    

    你也可以用它把mp3转换成pcm

    ffmpeg -y  -i input.mp3  -acodec pcm_s16le -f s16le -ac 1 -ar 16000 output.pcm
    

    关键参数的意思是:

    -f s16le … PCM signed 16-bit little-endian samples
    
    -ac 1 … 1 channel (mono)
    
    -ar 16000 … sample rate 16000Hz
    

    【讨论】:

    • 感谢您花时间解释参数含义。它让我可以做我需要做的事情。
    猜你喜欢
    • 2012-08-12
    • 1970-01-01
    • 2012-04-08
    • 2021-06-30
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多