乐趣区

Linux-常用音视频命令

一、音频录制

1. arecord 录制音频

# 录制一个双声道的 16 位 16KHz 持续 5 秒钟的 wav 格式音频文件
arecord --file-type=wav --channel=2 --format=S16_LE --rate=16000 --duration=5 /tmp/record.wav

# 精简用法
arecord --file-type=raw --channel=2 -f cd --duration=5 ~/record.wav
  • –file-type:文件类型(voc、wav、raw、au)
  • –channel:声道数(1、2 …)
  • –format:采样格式(S8 U8 S16_LE S16_BE …)
  • –rate:采样率(8000、16000 …)
  • –duration:录制时间(单位秒)
  • -f:快捷格式

    • -f cd(16 位小 endian, 44100,立体声)
    • -f cdr(16 位大 endian, 44100,立体声)
    • -f dat(16 位小 endian, 48000,立体声)

--format完整取值:S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE

说明:不知为什么,录制的声音特别小。

二、音频播放

1. ffplay 播放音频

# 播放一个单声道 16 位采样率为 16KHz 的 pcm 音频文件
ffplay -ar 16000 -channels 1 -f s16le -autoexit -showmode 1 -i xxx.pcm
  • -ar:采样率
  • -channels:声道数
  • -f:采样格式
  • -autoexit:播放完毕自动退出
  • -showmode:波形图或频谱图显示模式
  • -i:pcm 音频文件

2. aplay 播放音频

# 播放 pcm 文件
aplay -t raw -c 2 -f S16_LE -r 8000 test.pcm 

# 播放 wav 文件
aplay test.wav

三、音频格式转换

1. pcm 文件转为 wav 文件格式

ffmpeg -f s16le -ar 8000 -ac 2 -i test.pcm -ar 44100 -ac 2 test.wav

四、参考链接

arecord
音频采样率
播放媒体文件的工具 ffplay

退出移动版