使用ffmpeg将裸码文件转成wav文件

简介: 使用ffmpeg将裸码文件转成wav文件

昨天江苏现场交付的同事老徐联系我,局方需要将交换上播放的语音改由我们的媒体服务器播放。但交换播放的语音文件没有携带wav头,需要我帮助将交换上的语音转出我们媒体服务器上的wav格式的语音。


      a0d3d1e55f0a4092bbcdde4e13dcf366.png


拿到陌生的语音后格式后,我先用盲猜的方式用cool edit试着用8k 8bit pcma试一下。因为这种格式比较常见。居然成功打开了。

    1c3efab475cb4721aafd8bd252d23dba.png

63862b2ddad34263a15764108227a4ba.png

7dbde119751c4c4bbdc27966a434a63f.png


盲猜成功后,我显示用cool edit工具转了几条。但cool edit转换稍显麻烦,于是又想到了老朋友ffmpeg。


采用命令


ffmpeg -f alaw -ar 8000 -ac 1 -i 86800205.001 -map_metadata -1 -fflags +bitexact -acodec pcm_alaw -ac 1 -ar 8000 86800205.wav -y


成功将裸码语音转为了wav格式语音。


下面将这个参数的意义列一下:


-f alaw :pcm a law
-ac 1:  1 channel
-ar 8000: sample rate 8000
-i 86800205.001:input file
86800205.wav -y:output file


-map_metadata -1 -fflags +bitexact 是将ffmpeg转码默认携带的LIST的数据(artist,genre等)去掉,变成标准的44字节的wav文件头。


-acodec pcm_alaw:转码为pcm_alaw


我发现网上对于ffmpeg裸码转换的介绍比较少,所以在此分享下,希望对网友有所帮助。

相关文章
|
网络协议 应用服务中间件 Linux
【音视频 ffmpeg 学习】 RTMP推流 mp4文件
【音视频 ffmpeg 学习】 RTMP推流 mp4文件
|
Windows
WINDOWS编译ffmpeg:LINK : fatal error LNK1104: 无法打开文件“LIBCMT.lib”
WINDOWS编译ffmpeg:LINK : fatal error LNK1104: 无法打开文件“LIBCMT.lib”
830 0
|
容器
FFmpeg读取文件内容AVPacket
FFmpeg读取文件内容AVPacket
393 0
|
网络协议 API 开发者
FFmpeg打开输入文件
本文介绍如何使用 FFmpeg 的 API 函数 avformat_open_input,avformat_find_stream_info 来打开跟获取一个输入文件的信息 (AVFormatContext )。
376 0
编译ffmpeg:libavdevice/xcbgrab.c:28:10: fatal error: xcb/xfixes.h: 没有那个文件或目录
编译ffmpeg:libavdevice/xcbgrab.c:28:10: fatal error: xcb/xfixes.h: 没有那个文件或目录
207 0
|
Ubuntu 编译器 开发工具
Ubuntu编译ffmpeg需要下载的文件
Ubuntu编译ffmpeg需要下载的文件
223 0
|
Linux 开发工具 Android开发
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
ijkplayer是由Bilibili基于FFmpeg3.4研发并开源的播放器,适用于Android和iOS,支持本地视频及网络流媒体播放。本文详细介绍如何在新版Android Studio中导入并使用ijkplayer库,包括Gradle版本及配置更新、导入编译好的so文件以及添加直播链接播放代码等步骤,帮助开发者顺利进行App调试与开发。更多FFmpeg开发知识可参考《FFmpeg开发实战:从零基础到短视频上线》。
1780 2
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
773 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
编解码 语音技术 内存技术
FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频
《FFmpeg开发实战:从零基础到短视频上线》一书中的“5.1.2 把音频流保存为PCM文件”章节介绍了将媒体文件中的音频流转换为原始PCM音频的方法。示例代码直接保存解码后的PCM数据,保留了原始音频的采样频率、声道数量和采样位数。但在实际应用中,有时需要特定规格的PCM音频。例如,某些语音识别引擎仅接受16位PCM数据,而标准MP3音频通常采用32位采样,因此需将32位MP3音频转换为16位PCM音频。
526 0
FFmpeg开发笔记(五十八)把32位采样的MP3转换为16位的PCM音频

热门文章

最新文章

下一篇
开通oss服务