当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 12:29 

注册: 2006-04-03 11:26
帖子: 551
送出感谢: 0 次
接收感谢: 1
想把一批wav格式的歌曲转换为mp3格式
按照wiki里面的说法
链接:http://wiki.ubuntu.org.cn/index.php?title=UbuntuSkills&variant=zh-cn#.E8.BD.AC.E6.8D.A2.E6.96.87.E4.BB.B6.E5.90.8D.E7.94.B1GBK.E4.B8.BAUTF8

原命令
for i in *; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$i" -aofile "$i.wav" ; lame -h -b 192 "$i.wav" "$i.mp3"; rm -f "$i.wav" ; done
提示错误如下:
-aofile has been removed. Use -ao pcm:file=<filename> instead.
Could not find "*.wav".

后来我把原命令改了一下:
for i in *; do mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$i" -aofile "$i" ; lame -h -b 192 "$i" "$i.mp3"; rm -f "$i" ; done

可以了,但是还有一个小问题,新生成的mp3名字全部变成:xxx.wav.mp3这样,要手动去一条一条去掉wav这个词

命令应该怎么样改才可以直接生成正确的xxx.mp3文件名?

其实是程序把xxx.wav当成完整的一个名字,应该正确识别wav为后缀,重新命名的时候忽略它

P.S:wiki的哪些skills错误没人检查吗?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 12:35 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
针对原代码: lame接受 - 的输入,mplayer应该也支持 - 的输出。不如作一个管道。省得rm
再说了,lame直接支持wav。为什么要启用mplayer呢。
lame xxx.wav xxx.mp3试试。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 13:55 

注册: 2006-04-03 11:26
帖子: 551
送出感谢: 0 次
接收感谢: 1
eexpress 写道:
针对原代码: lame接受 - 的输入,mplayer应该也支持 - 的输出。不如作一个管道。省得rm
再说了,lame直接支持wav。为什么要启用mplayer呢。
lame xxx.wav xxx.mp3试试。


终端命令(先cd到目标目录):

for i in *.wav; do lame -h -b 192 "$i" "${i%.wav}.mp3";rm -f "$i" ; done

也可以写成脚本:

#!/bin/bash
#
# wav转换为mp3
#
for i in *.wav; do

lame -h -b 192 "$i" "${i%.wav}.mp3";rm -f "$i" ;
done

复制以上内容,保存,属性里面改为可执行,把脚本扔到wav文件所在目录,点击-选择“运行”,如果要保留原wav文件,把脚本里面“rm -f "$i" ;”这部分删除,-b 192可以改为自己喜欢的,比如128等等

我以为wiki很权威的,有就懒得再去研究 :em02


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 16:00 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
我重新修正了脚本,包括文件名后缀问题,更新了wiki,在mp3压缩引入了vbr参数,你试试看

for i in *; do base=${i%.*}; mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file="$i.wav" "$i" ; lame -V0 -h -b 192 -vbr-new "$i.wav" "$base.mp3"; rm -f "$i.wav" ; done


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 16:39 

注册: 2006-04-03 11:26
帖子: 551
送出感谢: 0 次
接收感谢: 1
oneleaf 写道:
我重新修正了脚本,包括文件名后缀问题,更新了wiki,在mp3压缩引入了vbr参数,你试试看

for i in *; do base=${i%.*}; mplayer -quiet -vo null -vc dummy -af volume=0,resample=44100:0:1 -ao pcm:waveheader:file="$i.wav" "$i" ; lame -V0 -h -b 192 -vbr-new "$i.wav" "$base.mp3"; rm -f "$i.wav" ; done


1.这个我刚刚试了,转换为mp3没有问题,但是原文件(wav那些)没有删除;
2.像死ee说的,为什么要mplayer+lame,lame就可以了,请看三楼我的结果,那个是ee没头没脑扔过来一句话以后我研究半天使用的办法,很好,没什么问题阿!wiki照3楼改有什么问题吗?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 16:40 

注册: 2006-04-03 11:26
帖子: 551
送出感谢: 0 次
接收感谢: 1
就简单一句:
for i in *.wav; do lame -h -b 192 "$i" "${i%.wav}.mp3";rm -f "$i" ; done


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 论坛UbuntuSkills里面一条批量转为mp3格式的命令有错误?!
帖子发表于 : 2009-03-16 18:12 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
这个脚本不是专门给wav使用的,是给rmvb、mpeg等电影使用的,第一步将电影的音频导出为.wav文件,第二步压缩。

当然我测试压缩rmvb,mpeg的混合视频,保留原始视频,删除临时转换的wav文件,当然如果直接使用wav使用,自然不删除原始文件了。

就是一步从视频文件提取音频转为mp3,在演唱会提取音乐时用的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译