首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MP3 编码解码 附完整c代码

近期一直不间断学习音频处理,一直也没想着要去碰音频编解码相关。 主要是觉得没什么实际的作用和意义。 不管视频编解码,图像编解码,音频编解码,都有很多组织基金在推动。...当然,在一些特定的情景下,需要用起来编解码库, 而一般这些库都会有编译困难,使用困难等等困难综合症。 图像方面,已经有stb_image,spot,freeimage等编解码库系列,做得特别赞。...https://github.com/mackron/dr_libs 可惜的是,他做了wav的编解码库,mp3解码库,就是没有mp3的编码库。...而一般mp3 的编码库,大众使用最多的是lame http://lame.sourceforge.net/ 在一阵寻寻觅觅之后,俺找到了一个mp3的编码库。 其原官网已经成为历史资源了。...也不多做解释,当然了,这份代码是学习mp3解码的不二之选。

2K40
您找到你想要的搜索结果了吗?
是的
没有找到

linux下使用ffmpeg将amr转成mp3

接到需求要在Linux环境下将amr转换为mp3,windows下直接使用第三方jar包封装的exe方法即可,但不支持Linux,上网爬完资料说是用ffmpeg加上amr插件可以实现,根据教程尝试了一下...首先安装系统编译环境  yum install -y automake autoconf libtool gcc gcc-c++  #CentOS 2..../configure make make install #lame:Mp3音频解码 wget http://jaist.dl.sourceforge.net/project/lame/lame...#AMR转换MP3 附录: 附录1. ffmpeg默认安装目录为“/usr/local/lib”,有些64位系统下软件目录则为“/usr/lib64”,编译过程中可能会出现 “ffmpeg: error...它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。其官方网址为:http://www.ffmpeg.org

2.8K70

使用libavcodec将mp3音频文件解码为pcm音频采样数据【 Header missing】

一.打开和关闭输入文件和输出文件   想要解决上面提到的问题,我们需要对mp3文件的格式有个大致了解,为了方便讲解,我这里画了个示意图: ID3V2 包含了作者,作曲,专辑等信息,长度不固定,扩展了 ID3V1...个数由文件大小和帧长决定 ID3V1 包含了作者,作曲,专辑等信息,长度为 128BYTE   由于av_parser_parse2()这个方法的输入必须是只包含音频编码数据的“裸流”,所以,我们在读取mp3...int32_t init_audio_decoder(const char* audio_codec){ if(strcasecmp(audio_codec,"MP3")==0){...audio_codec_id=AV_CODEC_ID_MP3; cout<<"Select codec id:MP3"<<endl; } else if(strcasecmp...  解码循环体至少需要实现以下三个功能:     1.从输入源中循环获取码流包     2.将当前帧传入解码器,获取输出的音频采样数据     3.输出解码获取的音频采样数据到输出文件   从输入源中读取音频数据到缓存

23240

PHP 将amr音频文件转换为mp3格式

说下整体思路 1、服务器安装ffmpeg 2、使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可) 3、在网页端使用HTML5的audio标签来播放...mp3文件 下面是操作细节: 一、服务器安装ffmpeg以cenos为例 此处参考:http://my.oschina.NET/ethan09/blog/372435 需要特别注意的是,在下面的方法中,...amrnb和amrwb的安装到make环节会请求3gp的一个网址,一般是请求不到的,可以用crtl+c取消他的进程,并且这两个不需要也是可以转换格式的 接到需求要在Linux环境下将amr转换为mp3,.../configure make make install #lame:Mp3音频解码 wget http://jaist.dl.sourceforge.net/project/lame/lame...它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

1.9K40

android SDL系列讲解(十三) 播放音乐库 SDL_mixer教程

SDL系列讲解(一) 简介 SDL系列讲解(二) 环境搭建 SDL系列讲解(三) 工具安装 SDL是什么,能干什么,为什么我们要学习它?...可以看到,这里是解包的大小引起,本身三方库就是解决编解码的问题,然而编解码出现问题,可以去修复,同时也可以使用其他替代,这里我们用SDL提供的第二个库libmad进行解码mp3格式。...安装Git 主界面: 我们只需要一直下一步即可,不用管其他的操作,使用默认的即可。...= false 去掉smpeg的默认解码mp3,使用mad库进行解码。...延伸flac无损解码库编译 不做更详细的讲解,这里将我的操作过程展示一下。因为我们一般使用的mp3 wav格式,当前已经完美支持,所以flac放在有兴趣研究的人,这里作为抛砖一下。

2.1K100

whatsns商业版微信语音Linux-centos下ffmpeg安装如何amr转mp3播放

p=1 咱们程序语音存放目录在 data/weixinrecord目录下 早期如果没有安装ffmpeg不会自动转化微信语音格式,按照上面教程安装成功后,程序会自动转化微信微信格式,是否转化成功可以在上面...weixinrecord目录下查看是否有mp3文件生成,mp3支持pc和wap播放。...安装成功后记得在系统设置--全局设置里,启用微信语音本地化 附录:附录1.....0 (0x00002ab7c100b000)         libc.so.6 => /lib64/libc.so.6 (0x00002ab7c1125000)         /lib64/ld-linux-x86...它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

1.5K30

Linux下播放器开发-交叉编译Mplayer

移植libmad库 默认情况下Mplayer采用自带的mp3lib库来进行mp3解码,但是ARM系列的cpu,一般都没浮点运算单元,而mplayer的mp3解码默认使用的mp3lib是浮点运算库,arm...libmad是一个开源的高精度 MPEG 音频解码库。LIBMAD提供24-bit的PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。...使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3数据解码工作。在libmad 的源代码文件目录下的 mad.h文件中,可以看到绝大部分该库的数据结构和 API 等。...prefix=$(pwd)/_install --prefix=$(pwd)/_ install 指定最终生成的库文件的安装路径。...make install 编译安装成功之后,会得到一个mplayer可执行文件,这个就是播放器的命令行程序,运行即可播放视频。

5.6K30

rpm linux安装(linux安装mysql)

linux下,如何安装rpm命令? 更新时间:2019-05-20 07:50 最满意答案 rpm默认就安装在了发行版本里,比如RedHat和centos。...RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。与Dpkg类似。 RPM文件在Linux系统中的安装最为简便。...RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。与Dpkg类似。 RPM文件在Linux系统中的安装最为简便。...RPM是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。与Dpkg类似。 RPM文件在Linux系统中的安装最为简便。...rpm软件包的信息 2 查询rpm软件包安装文件的信息 3 安装rpm软件包到当前linux系统 4 从linux系统中卸载已安装的rpm软件包 5 升级当前linux系统的rpm软件包 (1)#rpm

31.1K40

Ubuntu系统中居然存在任天堂红白游戏机的漏洞

这个漏洞的根源实际上在于音频解码器libgstnsf.so,这个解码器原本是用于支持gstreamer 0.10播放NSF格式文件的——而红白机的音乐文件就是.NSF格式——Ubuntu系统在播放这种文件的时候...Evans表示:“该漏洞一定程度上依赖于默认安装过程。”因为在Ubuntu安装过程中,系统会询问“你是否期望系统能正确播放mp3文件? 用户当然会选择“是”。...这样一来,系统就会安装包括streamer-1.0-pliugins-bad(包含libgstnsf.so)在内的各种包。...Evans说,这个漏洞利用NES处理存储寄存器之间的切换,在Linux用户桌面上运行代码。详情可移步Evans的博客。 ?...不过需要注意,要把文件扩展名从.nsf改为.mp3,因为绝大部分Linux桌面系统并不识别NSF文件——但要肯定会用播放器去播放MP3文件。

1K80

【FFmpeg】在 Mac OS 中编译 FFmpeg 源码 ① ( homebrew 安装 | 通过 gitee 源安装 homebrew | 安装 FFmpeg 编译所需的软件包 )

homebrew 是 Mac OS 中 开发必备的 软件包管理工具 , 其 简化了 Mac 中的软件管理流程 , 提升了 Mac OS 系统的 工作效率 和 软件使用体验 ; 除了 Mac OS 平台之外 , Linux...系统中也可以使用 homebrew , 不过在 Linux 上该软件包管理工具不是主流 ; Linux 中的软件包管理工具 : CentOS 中使用 yum , RedHat 中使用 rpm , Debian..., 并处理库的依赖关系 ; fdk-aac : AAC音频编解码器 ; lame : MP3 编码器 , 将 PCM 音频数据 转码为 MP3 格式 ; libpng : 处理 PNG 图像文件的开源库...,可 读取和写入 PNG 图像 ; libass : 字幕渲染库 , 支持多种字幕格式 , 用于在视频播放软件中 显示字幕 ; libvorbis : 开源的音频压缩格式及其相关的解码库 , 一般用于...ogg 格式的编解码 ; libvpx: 开源的视频编码库 , 用于 VP8 / VP9 视频编码 ; opus : 开源的音频编码格式及其相关的编解码库 , 用于 交互式语音和音乐传输 , 有利于在网上传输

10710

Tina_Linux_各平台多媒体格式_支持列表_new

Tina Linux 各平台多媒体格式支持列表 1 概述 1.1 编写目的 本文档将介绍Allwinner Tina Linux 系统各个芯片平台支持的多媒体格式,旨在帮助软件开发工程师、技术支持工程师查找各芯片平台支持哪些多媒体格式...1.2 适用范围 Tina Linux v3.5 及以上版本。 1.3 相关人员 本文档适用于Tina 系统软件开发工程师、Tina 系统技术支持工程师。...aac、mp3、ape、ogg、flac、wav、opus、alac、amr 2.1.4 音频编码格式支持列表 aac、mp3 2.1.5 封装格式支持列表 录像支持的封装格式(muxer):ts、mp4...aac、mp3、ape、ogg、flac、wav、opus、alac、amr 2.2.4 音频编码格式支持列表 aac、mp3 2.2.5 封装格式支持列表 录像支持的封装格式(muxer):ts、mp4...平台多媒体支持列表 2.7.1 音频解码格式支持列表 aac、mp3、ape、ogg、flac、wav、opus、alac、amr 2.7.2 音频编码格式支持列表 aac、mp3 2.7.3 流媒体协议

1.1K20

Linux安装jdk步骤_jdk linux安装

Linux的使用相信大家都要用到java吧!...在使用java前我们得先安装jdk以及配置环境变量等工作;下面小编给大家分享关于Linux安装jdk的详细步骤: 一、登录虚拟机进入终端切换到root用户,输入:su 接着输入密码 再输入:cd … 回到...root用户 二、查看Linux系统是否有自带的jdk: 1、输入:java -version 2、发现有输入:rpm -qa | grep java 检测jdk的安装包,(注意:rpm命令符没有时记得下载一个输入...六、下载完后用FileZilla文件传输器,把jdk安装包传到虚拟机对应的文件夹当中;或者直接在Linux下载即可 七、在终端进入对应的文件的目录,进一步解压,输入tar -zxvf...、输入:javac 3、输入:java 到此Linux安装jdk就完成啦!

38.1K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券