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 https://trac.ffmpeg.org/wiki/Encode/AAC

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

(0)

相关推荐

  • 详解Linux文本文件与WIN文本文件换行格式转换命令

    详解Linux文本文件与WIN文本文件换行格式转换命令 前言: 有 时在WIN下编辑好的脚本文件上传到LINUX服务器中不能正常执行,开始误认为是LINUX配置问题,后来发现,是WIN与LINUX存储文件时的换行 符标志不同造成的.在DOS使用的换行符为 ^M$,我们称为CR与LF两个符号.而在Linux中,则仅有LF ($) 这个换行符. 可以用如下命令完成格式转换:$dos2unix,$unix2dos.但这两个命令在UBUNTU发行版本中不存在,可通过: $sudo apt-get ins

  • 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 #

  • Python基于pandas实现json格式转换成dataframe的方法

    本文实例讲述了Python基于pandas实现json格式转换成dataframe的方法.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 import re import json from bs4 import BeautifulSoup import pandas as pd import requests import os from pandas.io.json import json_normalize class image_str

  • 在Linux命令行终端中使用python的简单方法(推荐)

    Linux终端中的操作均是使用命令行来进行的.因此,对于小白来说,熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来. 打开命令行窗口 打开命令行窗口的快捷键如下: Ctrl + Alt + t 关闭名命令行窗口 关闭命令行窗口的快捷键如下: Ctrl + d 进入python环境 在命令行中直接输入python即进入了python的编辑环境.进入环境后最明显的提示是:光标由-$变成>>>. 退出python环境 使用ctrl +d的方式退出python

  • iOS的音频文件的格式转换示例

    背景 因为我的公司需要设计到app与硬件的通信,所以去年深入的研究了一下音频各种格式的转换,曾写过一篇简书,现在搬过来丰富下自己的blog. 首先介绍一下常用的音频文件格式 .amr:体积很小,1秒到约为1kb,所以音质缩水也很厉害,一般用于手机铃声或彩信 .mp3:比较流行的,有损音频,某些部分失真,,音质随码率的提高,越高越好 .wav:为无损音频 .pcm:无损的wav文件中音频数据的一种编码方式 由于App是通过AVAudioRecorder录制音频,默认格式为pcm,文件比较大,所以不

  • 11个有用的Linux命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有价值的宝藏.有些Linux命令很少人知道,但不管你是新手还是高级用户,它们都非常方便有用.1. sudo !!命令没有特定输入sudo命令而运行,将给出没有权限的错误.那么,你不需要重写整个命令,仅仅输入'!!'就可以抓取最后的命令. 复制代码 代码如下: $ apt-get update E: C

  • Python实现将mp3音频格式转换为wav格式

    最近收到一个朋友委托的需求,要将MP3的音频格式转换成wav的音频格式.于是,使用python写了这个小工具便于批量进行转换操作. 首先,下载需要导入的python模块包.这里选用清华大学的镜像站进行模块的下载. pip install ffmpy -i https://pypi.tuna.tsinghua.edu.cn/simple/ 然后,导入需要依赖的python模块. from ffmpy import FFmpeg as mpy # 音频格式转换对象 import os # 文件系统操

  • linux在终端输入密码时显示星号的实现方法

    当你在 Web 浏览器或任何 GUI 登录中输入密码时,密码会被标记成星号 ******** 或圆点符号 ••••••••••••• .这是内置的安全机制,以防止你附近的用户看到你的密码.但是当你在终端输入密码来执行任何 sudo 或 su 的管理任务时,你不会在输入密码的时候看见星号或者圆点符号.它不会有任何输入密码的视觉指示,也不会有任何光标移动,什么也没有.你不知道你是否输入了所有的字符.你只会看到一个空白的屏幕! 看看下面的截图. 正如你在上面的图片中看到的,我已经输入了密码,但没有任何

  • 使用 FFmpeg 命令拼接mp3音频文件异常问题及解决方法

    使用FFmpeg命令拼接多个mp3格式的音频文件时报错抛出异常,使用命令格式如下: ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] out3.mp3 异常错误提示信息: Automatic encoder selection failed for output stream #0:0. Default encoder for format mp3 (codec mp3)

  • Python使用pydub模块转换音频格式以及对音频进行剪辑

    前言 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片段肯定是得不到的,于是网上看一下相关官方文档,没想到python真的有模块可以满足要求,这又让我想起自己CSDN界面的那段话了,"在Python面前,只有你想不到的,没有Python做不到的". 1.需要下载的Python模块和ffmpeg多媒体处理工具 需要的Python模块是标题上提到的那个,pydub,这个模块可以实现对音频文件的剪辑.转

随机推荐