【问题标题】:SoX doesn't work with Opus Audio filesSoX 不适用于 Opus 音频文件
【发布时间】:2014-04-14 20:48:25
【问题描述】:

我正在使用 WebRTC 从网页录制输入麦克风,并通过 SoX 进行处理。

问题是,Firefox 录音是 Opus Audio 格式(根据 VLC 媒体信息),在 Ogg 容器中,SoX 不喜欢它: /opt/local/bin/sox FAIL formats: can't open input file `/Users/[...]/public/audio/7a0d13a501.ogg': Input not an Ogg Vorbis audio stream

有没有办法让它与 SoX 一起工作? 还是应该使用其他命令行音频工具?

【问题讨论】:

    标签: audio type-conversion ogg sox opus


    【解决方案1】:

    我最终这样做了(两个都行,不知道哪个最快):

    opusdec --force-wav file.ogg - | sox - file.mp3

    sox "|opusdec --force-wav file.ogg -" file.mp3

    【讨论】:

    • 要使用 opusdec 选项 opus-tool 应该安装:sudo apt-get install opus-tools
    • 我还没有让管道正常工作,但是使用 opusdec 和 sox 也对我有用。在 OSX brew 上,您可以安装带有 opus 支持的 sox,因此不需要额外的步骤。我猜我们需要使用 opus 选项手动重新编译 sox 以获得该行为。
    【解决方案2】:

    你可以在运行 sox 时指定-t opus

        sox -t opus file.ogg out.wav
    

    【讨论】:

    • 我不知道你有什么包,但是 Debian 包失败了:sox FAIL formats: no handler for given file type 'opus'
    • 我用 brew 的最新 sox 在 mac OS(似乎和@ryancey 一样)上对其进行了测试
    猜你喜欢
    • 2019-08-02
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    • 2021-03-26
    • 2013-11-13
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多