怎么通过ffmpeg 音频格式转换将音频文件转换成Mp3 转

教你如何从原版音频中轻松提取音乐
作者:佚名
字体:[ ] 来源:互联网 时间:05-20 15:36:26
而现在声卡又没有录音功能,怎么将其音频提取出来?
为了学习英语,我收集了一些英语视频,但有时不方便看视频,所以我想把视频中的伴音提取出来放在手机上边听边学。不过很多视频并没有音轨文件(视频和伴音是一体的),而现在声卡又没有录音功能,怎么将其音频提取出来?
【解题思路】
如果视频没有伴音的音轨文件可以提取,常规的方法是使用声卡内录的方法去录制音频文件。不过现在的声卡大多取消了内录功能,好在现在很多播放软件可以实现音频的提取或转换,因此可借用这些软件来实现音频的提取。
【解题方法】
方法1:使用KMPlayer直接提取()
首先启动KMPlayer播放视频文件,在播放窗口右击选择&捕获&音频&,接着在弹出的窗口:输出设置保存音频的位置,编码器选择&MP3编码器&,单击浏览设置编码器的具体参数。然后勾选&当开始播放时自动捕获&,单击&开始&,这样一边用KMPlayer欣赏电影,程序在后台一边就提取出音频并转化为MP3格式,完成后就可以拷入随身听中作为听力素材了(图1)。
图1 直接使用Kmplayer提取视频的伴音文件
方法2:使用Muvid Converter转换()
KMPlayer需要打开视频文件才能提取,Muvid Converter则可以直接将常见的视频文件转化为音频。
启动程序后点击&浏览&,导入需要转换的视频文件,接着在格式中选择&MP3&,质量选择&最佳&,然后点击&Convert&,这样即可在视频文件保存目录下生成一个同名的.MP3音频文件(图2)。它即是你想要的伴音文件,拷贝到随身听中就可以随时随地欣赏了。
图2 使用Muvid Converter将视频转换为音频
Muvid Converter实际上是利用开源的Ffmpeg将视频伴音转换为音频,它支持常见的FLV、MP4等格式。对于软件暂不支持的格式,大家可以使用&格式工厂&进行转换后再使用。此外对于FLV视频,实际上只是一种视频和音频的压缩格式,大家开源使用7ZIP等软件直接打开,将其中的&*.Audio.flv&文件解压出来,即可直接得到音频文件了(图3)。
图3 使用7zip直接提取其中音频文件
大家感兴趣的内容
12345678910
最近更新的内容怎么通过ffmpeg将音频文件转换成Mp3 转
怎么通过ffmpeg将音频文件转换成Mp3 转
如何通过ffmpeg将音频文件转换成Mp3 转
/thread-.html安装完成ffmpeg后,就可以使用ffmpeg进行音频文件格式转换。比如 ./ffmpeg -i /media/1.mp3 /media/1.wav, 通过该命令行可以将/media文件夹下1.mp3文件转换成WAV格式的。&&& 但是反过来 ./ffmpeg -i /media/1.WAV /media/1.MP3 却不能转换成Mp3格式,提示如下错误(找不到编码器):&&& Stream mapping:&&& Stream #0:0 -& #0:0 (wav -& ?)&&& Encoder (codec none) not found for output stream #0:0&&& 如果强行指定编码器 ./ffmpeg -i /media/1.wav -acodec mp3 /media/1.mp3, 仍提示找不到编码器错误:&&& Unknown encoder 'mp3'&&&
这是因为,ffmpeg虽然是个开源软件,但因为具体格式的版权原因,它并没有包含所有的编解码格式,或者有个格式只有对应的解码器,但没有编码器,比如
Mp3就只有解码器,能播放Mp3文件,但却没有Mp3的编码器,无法将其它格式转换成Mp3。可以通过命令行 ./ffmpeg -codecs
查询编解码配置,第一个D表示Decoder,该格式能够解码;E表示Encoder,该格式可以编码。从中可以看出Mp3不能编码,Mp2倒是即可解码
也可编码。如何解决这个问题呢?&&& D A D& mp1&&&&&&&&&&&& MP1 (MPEG audio layer 1)D A D& mp1float&&&&&&& MP1 (MPEG audio layer 1)DEA D& mp2&&&&&&&&&&&& MP2 (MPEG audio layer 2)D A D& mp2float&&&&&&& MP2 (MPEG audio layer 2)D A D& mp3&&&&&&&&&&&& MP3 (MPEG audio layer 3)D A D& mp3adu&&&&&&&&& ADU (Application Data Unit) MP3 (MPEG audio layer 3)D A D& mp3adufloat&&&& ADU (Application Data Unit) MP3 (MPEG audio layer 3)&&& 我的第一个方法是自己写代码来完成。源码文件中,Allcodecs.c中对各个格式进行注册,先修改Mp3的注册行,改为同时注册解码器和编码器:&&& REGISTER_ENCDEC& (MP2, mp2);&&& REGISTER_DECODER (MP2FLOAT, mp2float);&&& REGISTER_DECODER (MP3, mp3)& // 此行修改为 REGISTER_ENCDEC& (MP3, mp3)&&& 然后新增Mp3编码器的实现Struct,里面Init函数、encode函数、close函数使用Mp2的函数,因为我也不知道如何去实现Mp3的函数,或者说到代码实现级我也不知道Mp3和Mp2的区别在哪。&&& AVCodec ff_mp3_encoder = {&&& .name&&&&&&&&&& = "mp3",&&& .type&&&&&&&&&& = AVMEDIA_TYPE_AUDIO,&&& .id&&&&&&&&&&&& = CODEC_ID_MP3,&&& .priv_data_size = sizeof(MpegAudioContext),&&& .init&&&&&&&&&& = MPA_encode_init,&&& .encode&&&&&&&& = MPA_encode_frame,&&& .close&&&&&&&&& = MPA_encode_close,&&& .sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},&&& .supported_samplerates= (const int[]){4,& 3, 2, 0},&&& .long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),&&& .defaults&&&&&& = mp3_defaults,};&&&
重新编译上线。 用命令行./ffmpeg -i /media/1.WAV /media/1.MP3
试了一下,能成功生成1.mp3文件,文件也能播放。似乎没有问题了,单用 file /media/1.mp3
查看了一下,发现文件不是Mp3格式的,而是Mp2格式的:&&& /media/1.mp3: MPEG ADTS, layer II, v1, 128 kbps, 44.1 kHz, Stereo&&& 很遗憾,自行修改代码的方式行不通,因为不是每个编解码格式协议的专家,自行修改代码失败的风险很大,不仅是Mp3,还有一些其他格式比如AMR OGG H.263是没有编码器的。所以,第二个方案,使用成熟的第三方编码器和ffmpeg结合。&&& Mp3比较好的开源第三方库是libmp3lame(简称Lame)。我下了一个最新版本(3.99.4)的Lame源码,编译它:&&& 首先配置: ./configure --prefix=/shared --enable-shared --enable-static&&& 然后编译:& make&&&&&&&&&&&&&& make install&&&
生成文件: 动态链接库 /shared/lib/libmp3lame.so 和 静态链接库
/shared/lib/libmp3lame.a。这里只需要使用动态链接库,将.so文件拷贝到/lib中,这个文件夹是动态链接库的默认搜索路径,
让ffmpeg运行时可以找到。&&& 然后对ffmpeg配置libmp3lame: ./configure --enable-libmp3lame&&& 重新编译ffmpeg,运行转化命令,看看效果如何。&&& 首先执行 ./ffmpeg -codecs 查看可用编解码的变化,可以看到多出了libmp3lame编码器,带E的:&&& D V D& lagarith&&&&&&& Lagarith lossless&&& EA&&& libmp3lame&&&&& libmp3lame MP3 (MPEG audio layer 3)&&& EV&&& ljpeg&&&&&&&&&& Lossless JPEG&&& D V D& loco&&&&&&&&&&& LOCO&&& 然后执行 ./ffmpeg -i /media/1.WAV /media/1.MP3, 生成1.mp3,用File命令查看,确实是Mp3文件。&&& /media/1.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, Stereo&&& 大功告成,问题解决。&&& 也可在命令行中指定编解码生成Mp3文件:./ffmpeg -i /media/1.WAV -acodec libmp3lame /media/1.MP3.
发表评论:
TA的最新馆藏[转]&[转]&[转]&博客访问: 935428
博文数量: 141
博客积分: 3552
博客等级: 中校
技术积分: 3848
注册时间:
认证徽章:
熟悉Linux下程序设计及各种应用程序
熟悉C Language
熟悉Glusterfs、FFmpeg、CDN 系统设计,计算机图形系统设计、分布式程序设计
目前主要研究方向:流媒体
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
使用ffmpeg实现合并多个音频为一个音频的方法
可以使用ffmpeg的filter功能来进行这个操作,而且效果很好
amerge也可以实现,但是这里就介绍一下使用amix来做的方法
ffmpeg的filter功能强大的功能能够满足几乎所有的音视频操作,包括合并音频
ffmpeg可以支持多输入通道,也可以支持多输出通道,合并多音频的功能就使用多输入通道,单输出通道,所以大概的形式如下:
ffmpeg -i INPUT -i INPUT -i INPUT output
如果想用amix,这个参数是-filter_complex中的参数,可以这么用
-filter_complex amix=inputs=2:duration=first:dropout_transition=2
整条合并多音频的的命令行即如下
ffmpeg -i ~/Music/iTunes/iTunes\ Media/Music/久石/热门单曲-天空之城/天空之城.mp3& -i /Users/StevenLiu/Music/iTunes/iTunes\ Media/Music/Linda\ Ronstadt/Brokeback\ Mountain\ Soundtrack/It\'S\ So\ Easy.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 a.mp3
上面的命令为将天空之城与It’s So Easy合并成一个a.mp3文件,整个过程如下:
合并完成之后,可以查看一下a.mp3文件的文件信息:
如此,多音频合并为一个音频文件的操作即成功,可以使用播放器播放一下试试
可惜了,音频是听的,图看不出来,我听到的是两个音频合并成了一个mp3,现在播得有点乱,如果是一个放背景音乐,一个放录音的话效果可能好些
Reference:&
阅读(15716) | 评论(1) | 转发(3) |
相关热门文章
给主人留下些什么吧!~~
ffmpeg的新版用的是filter,老版的话涉及到resample&,稍新版的有swr_convert,不过比较坑的是音频解码再重采样的话需要用到fifo,否则取不到正确的数据。目前的新版用filter没有研究过,看起来ffmpeg.c里面用的是它转的,应该很强大
请登录后评论。>> 音频文件转换
音频文件转换
所属分类:
下载地址:
jave-1.0.2.rar文件大小:5.69 MB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
java实现的全能音频转换通是一款音视频文件格式转换开源项目。它支持目前所有流行的媒体文件格式(MP3/MP2/OGG/APE/WAV/WMA/AVI/RM/RMVB/ASF/MPEG/DAT),并能批量转换。更为强大的是,该软件能从视频文件中分离出音频流,转换成完整的音频文件。典型的应用如WAV转MP3,MP3转WMA,WAV转WMA,RM(RMVB)转MP3,AVI转MP3, RM(RMVB)转WMA等。您也可以从整个媒体中截取出部分时间段,转成一个音频文件,或者将几个不同格式的媒体转换并连接成一个音频文件。自定义的各种质量参数,可以满足您各种不同的需要。有了它,您就能封装实现新的功能,操作简单方便。
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
171.00 B15-04-09 15:50
2.40 kB01-05-08 03:11
2.14 kB01-05-08 03:11
6.87 kB01-05-08 03:11
5.00 kB01-05-08 03:11
9.33 kB01-05-08 03:11
6.78 kB01-05-08 03:11
7.54 kB01-05-08 03:11
7.33 kB01-05-08 03:11
7.27 kB01-05-08 03:11
8.74 kB01-05-08 03:11
6.45 kB01-05-08 03:11
12.87 kB01-05-08 03:11
6.21 kB01-05-08 03:11
6.71 kB01-05-08 03:11
6.11 kB01-05-08 03:11
11.40 kB01-05-08 03:11
1.24 kB01-05-08 03:11
16.09 kB01-05-08 03:11
12.42 kB01-05-08 03:11
7.15 kB01-05-08 03:11
6.92 kB01-05-08 03:11
5.68 kB01-05-08 03:11
5.55 kB01-05-08 03:11
12.33 kB01-05-08 03:11
7.48 kB01-05-08 03:11
8.03 kB01-05-08 03:11
7.96 kB01-05-08 03:11
8.62 kB01-05-08 03:11
8.18 kB01-05-08 03:11
7.15 kB01-05-08 03:11
6.92 kB01-05-08 03:11
7.87 kB01-05-08 03:11
11.33 kB01-05-08 03:11
26.29 kB01-05-08 03:11
8.77 kB01-05-08 03:11
10.28 kB01-05-08 03:11
15.43 kB01-05-08 03:11
10.47 kB01-05-08 03:11
8.99 kB01-05-08 03:11
12.91 kB01-05-08 03:11
2.65 kB01-05-08 03:11
9.93 kB01-05-08 03:11
7.73 kB01-05-08 03:11
9.24 kB01-05-08 03:11
16.29 kB01-05-08 03:11
12.43 kB01-05-08 03:11
11.08 kB01-05-08 03:11
7.50 kB01-05-08 03:11
package-list24.00 B01-05-08 03:11
inherit.gif57.00 B01-05-08 03:11
13.46 kB01-05-08 03:11
1.39 kB01-05-08 03:11
jave-1.0.2.jar5.60 MB15-04-09 15:54
34.32 kB02-01-08 15:29
&class-use&0.00 B15-04-09 15:48
&jave&0.00 B15-04-09 15:48
&sauronsoftware&0.00 B15-04-09 15:48
&index-files&0.00 B15-04-09 15:48
&it&0.00 B15-04-09 15:48
&resources&0.00 B15-04-09 15:48
&doc&0.00 B15-04-09 15:48
&jave-1.0.2&0.00 B06-12-14 19:26
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
23 篇源代码 21 篇源代码 18 篇源代码 13 篇源代码 9 篇源代码
285 篇源代码 173 篇源代码 48 篇源代码 42 篇源代码 36 篇源代码
评价成功,多谢!
下载jave-1.0.2.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-2 runtime:Elapsed:34.806ms - init:1.0;find:4.9;t:0.9;tags:0.9;related:19.3;comment:0.5; .206
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧

我要回帖

更多关于 mp3音频转换文字软件 的文章

 

随机推荐