【问题标题】:Convert PCM file decoded with opus_demo to WAV将使用 opus_demo 解码的 PCM 文件转换为 WAV
【发布时间】:2015-10-03 04:30:15
【问题描述】:

我从他们的 git repo 下载了 Opus 编解码器,运行 ./autogen.sh./configuremake,然后使用 ./opus_demo -e voip 48000 1 8000 -cbr -bandwidth NB -complexity 0 -forcemono speech_orig.wav speech_encoded.bitopus examples page 编码了一个示例文件。

然后我尝试使用./opus_demo -d 48000 1 speech_encoded.bit speech_48khz.wav 对其进行解码。当我尝试使用 VLC 播放它时,它不播放(它显示为播放不到一秒钟而没有声音/反馈)。

我在虚拟机 (VirtualBox) 上运行 Ubuntu 14.04 32 位。我发现与我的问题甚至远程相关的唯一链接是this,它与opus_demo 文件以外的其他内容有关。

这是 opus_demo shell 命令的输出:

$ ./opus_demo -e voip 48000 1 8000 -cbr -bandwidth NB -complexity 0 -forcemono speech_orig.wav speech_encoded.bit
libopus 1.1.1-beta-38-gfc0276f
Encoding 48000 Hz input at 8.000 kb/s in narrowband with 960-sample frames.
average bitrate:               8.000 kb/s
maximum bitrate:               8.000 kb/s
active bitrate:                8.000 kb/s
bitrate standard deviation:    0.000 kb/s
$ ./opus_demo -d 48000 1 speech_encoded.bit  speech_48khz.wav
libopus 1.1.1-beta-38-gfc0276f
Decoding with 48000 Hz output (1 channels)
average bitrate:               8.000 kb/s
maximum bitrate:               8.000 kb/s
bitrate standard deviation:    0.000 kb/s

提前感谢您的帮助!

【问题讨论】:

    标签: virtualbox ubuntu-14.04 vlc codec opus


    【解决方案1】:

    解决了!发布我为未来的读者所做的事情,以防有人遇到同样的问题。

    问题是我传递给编码器 (opus_demo -e) 的文件是 .wav 文件。编码器严格要求.pcm文件,解码器严格输出.pcm文件。为了将 .wav 文件转换为 .pcm 文件,我为 windows 下载了ffmpeg,并运行了以下命令:

    要将 .wav 文件转换为 .pcm 文件:

    ffmpeg -i input.wav -f s16le -acodec output.pcm

    要将 .pcm 文件转换为 .wav 文件:

    ffmpeg -f s16le -ar 48k -ac 1 -i input.pcm output.wav

    【讨论】:

    • 非常有帮助。对 opus_demo 的输出格式感到困惑
    • 非常感谢您发布修复它的方法!超级有帮助。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多