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

 更新时间:2019年08月08日 10:18:09   作者:EricRae  
今天小编就为大家分享一篇linux命令实现音频格式转换和拼接的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

安装FFmpeg flac

eric@ray:~$ sudo apt install FFmpeg flac

安装lame faac

eric@ray:~$ sudo apt install lame faac

将一个后缀为.ape格式的视频转换成m4a(mp4)格式

1、首先用ffmpeg命令或者flac 命令将它转换成mav格式,再用lame将wav转换成mp4格式

eric@ray:~/Music$ ffmpeg -i Gracie-Theme.ape Gracie-Theme.wav

##或者

eric@ray:~/Music$ flac -d Gracie-Theme.flac Gracie-Theme.wav

2、再使用lame命令 压缩成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

3、也可以使用ffmpeg压缩得到m4a格式:

#这里使用的是ffmpeg内置的aac编码起,设置码率为固定的320k

eric@ray:~/Music$ ffmpeg -i Gracie-Theme.wav -strict experimental -c:a aac -b:a 320k Gracie-Theme.m4a

#还可以使用ffmpeg将解压和压缩为一条命令:-map_metadata 表示保留歌曲元数据,即名称、演唱者等

eric@ray:~/Music$ ffmpeg -i Gracie-Theme.flac -ab 320k -map_metadata 0 Gracie-Theme.m4a

4、批量脚本

#!/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.@t song.mp3

常用参数:

@a:歌手名称

@b:专辑名称

@t:歌曲标题

@n:音轨序号

音频合并

#音频合并(两个音频重叠)

eric@ray:~/Music$ffmpeg -i first.mp3 -i second.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 third.mp3

#两个音频拼接

eric@ray:~/Music$ffmpeg -i d1.mp3 -i d2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] j5.mp3

#三个音频拼接

eric@ray:~/Music$ffmpeg -i 片头.wav -i 内容.WAV -i 片尾.wav -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=0:a=1 [a]' -map [a] 合成.wav

参考资料

FFmpeg and AAC Encoding Guide trac.ffmpeg.org/wiki/Encode/AAC

以上这篇linux命令实现音频格式转换和拼接的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持华域联盟。

相关文章

  • linux nand flash驱动编写

    linux nand flash驱动编写

    这篇文章主要介绍了linux nand flash驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    2018-04-04

  • Nginx虚拟主机多server_name的顺序问题

    Nginx虚拟主机多server_name的顺序问题

    今天在配置Nginx + PHP + MediaWiki中,发现一个问题:MediaWiki所在的Nginx虚拟主机绑定了多个域名,但是不管通过什么域名访问MediaWiki首页,都会被跳转到其中的一个域名上。

    2008-12-12

  • linux网络配置工具的使用

    linux网络配置工具的使用

    这篇文章主要介绍了linux网络配置工具的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-01-01

  • linux下制作ISO文件

    linux下制作ISO文件

    本文给大家分享的是在linux系统中制作ISO文件的2种方法,非常简单实用,有需要的小伙伴可以参考下

    2018-04-04

  • ubuntu环境下的php相关路径与修改方法

    ubuntu环境下的php相关路径与修改方法

    这篇文章主要介绍了ubuntu环境下的php相关的路径,需要的朋友可以参考下

    2020-12-12

  • CentOS7中MariaDB修改datadir后无法启动的解决方法

    CentOS7中MariaDB修改datadir后无法启动的解决方法

    这篇文章主要给大家介绍的是在CentOS 7系统中,MariaDB修改datadir后无法启动的解决方法,文中给出了详细解决方法,相信会对大家的理解很有帮助,有需要的朋友们下面来一起看看吧。

    2016-10-10

  • windows apache多端口虚拟主机配置方法

    windows apache多端口虚拟主机配置方法

    有很多朋友喜欢在windows下使用apache作为web服务器,有时候想用非80端口提供服务,因为未备案域名都是封了80端口,提供下载的时候可以用别的端口了,这里简单分享下,方便需要的朋友

    2013-03-03

  • 如何重置 RHEL7/CentOS7 系统的root密码

    如何重置 RHEL7/CentOS7 系统的root密码

    这篇文章主要介绍了如何重置 RHEL7/CentOS7 系统的root密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    2017-02-02

  • VScode Remote SSH通过远程编辑与调试代码

    VScode Remote SSH通过远程编辑与调试代码

    这篇文章主要介绍了VScode Remote SSH通过远程编辑与调试代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-05-05

  • linux 下配置LAMP环境

    linux 下配置LAMP环境

    本文给大家介绍的是如何在linux 下配置LAMP环境,学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP、WAMP、MAMP等。这里我介绍一下LAMP环境的搭建,即Linux、Apache、MySQL、PHP环境。

    2015-03-03

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。