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

Android 采用Lame编码器编码mp3文件

翻译成中文就是:LAME是一个高质量的MPEG音频层III (MP3)编码器,在LGPL下授权。 好了,现在我们知道Lame就是个开源的编码器,而且是专门用来编码mp3文件的。...这里贴下MediaRecord目前支持的录音格式,可以看到目前是不支持mp3的。那这时我们想要编码mp3文件,就得借助lame来实现了。...整体的思路就是,应用层通过调用JNI提供的native方法,然后调用到 libmp3lame.so 库里面的方法,实现编码mp3文件。...这里给出的一个例子是将pcm格式的文件编码mp3格式的文件。...应用代码调用的时候,就是传入对应的pcm源文件和需要生成的mp3文件路径,还有pcm源文件的格式信息(采用率、通道数、编码数据位数)。

88330

Android 采用Lame编码器编码mp3文件

翻译成中文就是:LAME是一个高质量的MPEG音频层III (MP3)编码器,在LGPL下授权。 好了,现在我们知道Lame就是个开源的编码器,而且是专门用来编码mp3文件的。...这里贴下MediaRecord目前支持的录音格式,可以看到目前是不支持mp3的。那这时我们想要编码mp3文件,就得借助lame来实现了。...整体的思路就是,应用层通过调用JNI提供的native方法,然后调用到 libmp3lame.so 库里面的方法,实现编码mp3文件。...这里给出的一个例子是将pcm格式的文件编码mp3格式的文件。...应用代码调用的时候,就是传入对应的pcm源文件和需要生成的mp3文件路径,还有pcm源文件的格式信息(采用率、通道数、编码数据位数)。

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

Android中使用LAME库生成MP3文件

前言 Android中内置的MediaCodeC提供了很多音视频编解码器,但由于MP3是有版权的,所以原生MediaCodeC只提供了MP3的解码能力,对于MP3编码就需要借助外部库了。...LAME库由开源社区开发,当前是公认有损质量MP3中压缩效果最好的编码器。本文的主要工作为将LAME源码编译为so库,并在Android中使用。...将源码中lame-3.100/libmp3lame目录复制到app/src/main/cpp目录中,仅保留.h和.c文件,另外还需复制lame-3.100/includes/lame.h文件到项目cpp...修改部分文件 1) 删除fft.c文件的vector引用include "vector/lame_intrin.h" 2) 将set_get.h中的 #include 修改为 #include...编译项目,可在屏幕上看到lame的版本号 使用LAME生成MP3lame-lib.cpp中添加以下代码,lame初始化时采样率等参数的要求可在lame源码中看到。

3.8K180

FFmpeg从入门到精通笔记之四

FFmmpeg硬编解码 当使用FFmpeg进行软编码时,常见的基于CPU进行H.264或H.265编码其相对成本会比较高,CPU编码时的性能也很低,所以出于编码效率及成本考虑,很多时候都会考虑采用编码...- Intel QSV H.264参数说明   - 树莓派硬编码 FFmpeg输出MP3 FFmpeg使用第三方库libmp3lame即可编码MP3格式。...在FFmpeg中进行MP3编码采用的是第三方库libmp3lame,所以进行编码时,需要设置编码参数acodec为libmp3lame, 平均码率编码参数ABR.是VBR与CBR的混合产物,表示平均码率编码...FFmpeg输出AAC AAC是一种编码效率更高、编码音质更好的音频编码格式,常见的使用AAC编码后的文件存储格式为m4a。...FFmpeg可以支持AAC的三种编码器:1).aac:FFmpeg本身的AAC编码实现;2).libfaac:第三方的AAC编码器;3).libfdk_aac:第三方的AAC编码器 FFmpeg中的AAC

2.1K20

Android开发笔记(一百八十九)利用LAME录制MP3音频

若想让录音文件放之四海而皆能播放,就得事先将其转为通用的MP3格式,虽然Android官方的开发包不支持MP3转换,不过借助第三方的LAME库,能够将原始音频转存为MP3文件。...LAME是一个高质量的MP3编码器,它采用C/C++代码开发,需要通过JNI技术引入到App工程。...把源码包里面的libmp3lame目录整个复制到App模块的jni目录下; 2、把include目录下的lame.h头文件复制到jni\libmp3lame目录下; 3、打开jni\libmp3lame...MP3的转换过程又有两种形式,一种是把PCM文件转成MP3文件,另一种是在录音时将原始数据直接转存为MP3文件,也就是边录边转。...由于PCM保存着原始音频数据,该格式的文件较大,一次性转成MP3较费时间,因此通常采取边录边转以便提高转换效率。

1.5K10

音频知识点(9)- MP3 到底是编码格式还是封装格式?

目录 问题 正文 MP3 是封装格式 MP3编码格式 结论 问题 MP3 是我们在日常生活中最常见的音频格式之一,但是作为音视频相关的开发人员有没有这样的疑问:MP3 到底是音频编码格式还是音频封装格式...正文 MP3 是封装格式 mp3 是一种音频封装格式,可以从两方面验证我们的说法。首先,日常生活中,我们经常可以看到 *.mp3 的音频文件,就像视频封装格式 mp4、flv 一样。...MP3编码格式 mp3 是一种音频编码格式,同样,我们可以利用 ffmpeg 验证。我们都知道可以使用如下命令查看 ffmpeg 支持的编码格式列表。...注意:我们直接使用 mp3 设置音频编码类型时,ffmpeg 是不识别的,我们需要使用 libmp3lame。 接下来,我们再从另外一个方面验证一下 mp3 是音频编码格式的结论。...我们都知道,任何编码器和解码器都是成对儿存在的,对于 mp3 音频格式也一样,如果存在 mp3 编码器,那么也一定存在 mp3 解码器。

2.3K30

Android录音mp3格式实例详解

那么问题来了,如果我们读取完数据后接着将数据传给Lame进行MP3编码Lame编码时间是不确定的,是不是有可能造成数据的丢失呢? 答案当然是有可能,所以我们不能巧合编程。...我们需要另外一个线程,即数据编码线程来专门进行MP3编码,而当前的录音读取线程只负责读取录音PCM数据。 有了两条线程,我们还需要确认一点,什么时候编码线程开始处理数据?...,我们来仔细看看帮助我们实现MP3编码的功臣:Lame Lame的获取与编译 Lame在线下载地址 步骤 解压libmp3lame 到jni目录....这个size同样需要传入到Lame编码器中用于编码mp3的buffer:官方规定了计算公式:7200 + (1.25 * buffer_l.length)。...(可以在lame.h文件中看到) flush 将MP3结尾信息写入buffer中。 传入参数:mp3buf至少7200字节。这里还是用以前定义的mp3buf来传入,避免创建过多的数组。

2.1K20

【FFmpeg】ffmpeg 命令行参数 ③ ( ffmpeg 音频参数解析 | 设置音频帧数 | 设置音频码率 | 设置音频采样率 | 设置音频通道数 | 设置音频编解码器 | 设置音频过滤器 )

的算法 , 使用 不同的 编解码器 获得的 音频文件 的 音质 / 文件大小 / 兼容性 不同 ; -acodec 后面的 参数值 是 编解码器的名称 ; 常见的 音频编解码器 包括 libmp3lame...: 用于 MP3 格式的音频编码 ; aac : 用于 AAC 音频格式的编码 ; copy : 用于直接复制原始音频流而不进行重新编码 ; 在 【FFmpeg】ffmpeg 命令行参数 ② ( Windows...libmp3lame MP3 (MPEG audio layer 3) (codec mp3) A....D mp3_mf MP3 via MediaFoundation...编码器 执行 ffmpeg -i input.mp4 -acodec libmp3lame output.mp3 命令 , 将 input.mp4 视频中 的 音频 输出到 output.mp3 音频文件中..., 使用 libmp3lame 编码器将 aac 格式的音频转为 mp3 格式的音频 ; 转换前的 input.mp4 视频 中的 音频 通道数为 2 是 立体声 , 转换后的 output.mp3

1K10

【Android FFMPEG 开发】Android 中使用 FFMPEG 将 PCM 音频采样转为 MP3 格式

MP3目标文件 -y : 表示允许覆盖 ; -f : 表示文件格式 , 一般是 s16le , 其中 s 表示样本是有符号整型 , 16 表示是 16 位样本 2 字节 , l 表示小端格式 , 如果是...无符号 16 位整型小端格式排列 -ac : 声道个数 , 单声道设置 1 , 立体声设置 2 ; -ar : 采样率 , 48000 表示 48000 Hz 采样率 ; -acodec : 指定编码器...; -i : 指定源文件 ; 最后跟着是转换完成的 MP3 文件路径 ; Android 中的完整命令 : ffmpeg -y -f s16be -ac 2 -ar 48000 -acodec pcm_s16le...ac 2 // 立体声 -ar 48000 // 48000 Hz 采样率 -acodec pcm_s16le // 指定编码器 -i /data/user/0/com.example.ffmpeg_pcm...: ffmpeg 是可执行文件 , audio.pcm 是 PCM 格式的源文件 , audio.mp3 是转换后的 mp3 文件 ; 四、博客源码 ---- 博客源码 : GitHub : https

1.8K20

FFmpeg常用命令行讲解及实战一

视频编码器使用了 libx264,这意味着输出视频将使用 x264 编码器进行压缩,以提供高质量的视频编码。...然后使用 libmp3lame 编码器将截取的音频压缩为 MP3 格式。输出音频是立体声,采样率为 48000Hz。最后,将处理后的音频保存为 FLV 格式的文件。...这可以用来将 AAC 格式的音频转换为 MP3 格式,而无需对音频进行重新编码。请注意,如果输入文件的音频编码不支持 MP3 格式,或者输出文件的扩展名不适用于 MP3 格式,那么该命令可能会失败。...编码器进行重新编码MP3 格式。...通过使用 -c copy选项,输入文件编码格式将直接复制到输出文件中,而不进行重新编码。使用 -f mp3 选项指定输出文件的格式为 MP3

73650

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

texi2html theora wget x264 x265 xvid nasm pkg-config yasm freetype openssl automake : 将 Makefile.am文件...转为 Makefile.in 文件的工具 ; git : 分布式版本控制工具 ; libtool : 用于 创建 / 修改 / 管理 动态链接库 , 可以自动化库的 编译 和 安装过程 , 并处理库的依赖关系...; fdk-aac : AAC音频编解码器 ; lame : MP3 编码器 , 将 PCM 音频数据 转码为 MP3 格式 ; libpng : 处理 PNG 图像文件的开源库,可 读取和写入 PNG..., 用于 VP8 / VP9 视频编码 ; opus : 开源的音频编码格式及其相关的编解码库 , 用于 交互式语音和音乐传输 , 有利于在网上传输 ; sdl : Simple DirectMedia...Layer , 跨平台 图形和音频处理库 , 常用于游戏和多媒体应用的开发 ; shtool : 处理 shell 脚本的工具 , 如 : 文件操作 , 文本处理 等操作 ; texi2html :

17410

《FFmpeg从入门到精通》读书笔记(三)

写在前面 2019.06.20 第四章 FFmpeg转码 ---- FFmpeg转码 FFmpeg软编码H.264与H.265 FFmpeg本身不支持H.264的编码器,是由FFmpeg的第三方模块对其进行支持...(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码 ● B帧即Bidirectionallypredicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图...---- FFmpeg输出MP3 FFmpeg使用第三方库libmp3lame即可编码MP3格式 ffmpeg -i INPUT -acodec libmp3lame OUTPUT.mp3 控制质量需要通过...FFmpeg输出AAC 与MP3相比,AAC编码效率更高、编码音质更好,使用AAC编码后的文件存储格式为m4a FFmpeg支持AAC的三种编码器:aac、libfaac、libfdk_aac ffmpeg...知识点:AAC与MP3相比 将一个无损的因为文件(.ape)转为AAC和MP3,AAC文件与APE文件的频谱非常接近,在高频20K没有丢失,而MP3的在高频端上就严重丢失。

95720

linux命令实现音频格式转换和拼接的方法

命令 压缩成MP3 ##使用lame命令:使用VBR动态码率压缩,0表示质量最高,9表示质量最低,默认为4 eric@ray:~/Music$ lame -v Gracie-Theme.wav ##...或者使用faac编码得到m4a(mp4)、mp3格式文件:100表示质量最高 100% eric@ray:~/Music$ faac -w -q 100 Gracie-Theme.wav -o Gracie-Theme.mp4.../bin/bash for FILE in *.ape; do ffmpeg -i "$FILE" temp.wav; lame -b 320 temp.wav "${FILE%.*}.mp3"; rm...temp.wav done 对于一个ape/flac文件包含多首歌曲 这种情况,通常会有一个cue文件,这个文件中包含这个ape/flac文件的专辑名称、演唱者名称、还有每首歌曲的名称、时间范围。...可以先用上面的方法将整个文件转化为Mp3格式之后,再用mp3splt工具进行分割。 将cue文件分割为mp3: eric@ray:~/Music$mp3splt -c song.cue -o @n.

2.1K31

FFmpeg从入门到精通笔记之一库介绍

FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种色彩格式转换、多种采样率转换、多种码率转换等;FFmpeg框架提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等...* 文件封装格式:MP4、FLV、KV、TS等    * 网络协议封装格式:RTMP、RTSP、MMS、HLS等。 FFmpeg是否支持某种媒体封装格式,取决于编译时是否包含了该格式的封装库。...* 支持MPEG4、AAC、MJPEG等自带的媒体编解码格式等    * 支持第三方的编解码器:H.264(AVC)编码,需要使用x264编码器;H.265(HEVC)编码,需要使用x265编码器MP3...(mp3lame)编码,需要使用libmp3lame编码器 如果希望增加自己的编码格式,或者硬件编解码,则需要在AVCodec中增加相应的编解码模块。...ffprobe是一个非常强大的多媒体分析工具,可以从媒体文件或者媒体流中获得你想要了解的媒体信息,比如音频的参数、视频的参数、媒体容器的参数信息等。

49820

Python Moviepy 视频编辑踩坑实录01:谁动了我的音频比特率

, # 通道数 audio_nbytes=4, # 音频编码器...音频通道数:从1通道,变成了2通道; 二、异常原因: 部分参数采用了默认值,包括音频比特率,通道类型。...ogv, .mp4, .mpeg, .avi, .mov等都可以  fps:帧率,每秒编码的帧数  codec:用于图像编码的编解码器,可以是ffmpeg支持的任何编解码器。...所以如果赶时间而文件大小不是很重要可以设置为ultrafast  audio_nbytes:音频的采用的位数,对应基于字节为单位就是声道数;  audio_codec:音频解码器,例如’.mp3’的’libmp3lame...默认值为“libmp3lame”,除非视频扩展名为“ogv”或“webm”,在这2种情况下,默认值为“libvorbis”。

9500

ffmpeg的正确打开方式(三剑客之一)

目录 前言 实战 一、编码器 二、解码器 三、滤镜 四、封装格式 五、常用命令 5.1 抽取纯音频文件 5.2 抽取纯视频文件 5.3 合并音频和视频文件 结尾 ---- 前言 FFmpeg是一个完整的跨平台音视频解决方案...---- 实战 一、编码器 使用 ffmpeg -encoders 命令可以查看当前ffmpeg版本支持的编码器都有哪些。...如果你正在使用ffmpeg编码,报错了,你可以使用这个命令查看一下当前的编码器是否支持。这里你可能会问,ffmpeg没有统一的版本吗?为什么支持的编码器还不一样?...从中可以看出ffmpeg支持的视频编码器中,常见的有flv,h263,mpeg等;音频编码器有pcm,ac3,aac,g722等。...#0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s Metadata: encoder : LAME3.99r

2.9K31
领券