音頻相關 ALSA ffmpeg ffplay 命令用法 g7xx

採樣率: samples

441100 每秒 DAC/ADC 採樣的頻率,聲卡一般還支持 48k 8k 等模式。

通道:channels

2聲道 左右聲道 也有單聲道的聲音,5.1 聲道

位數: 

16bit 採樣 DAC/ADC 深度 16bit 就是 65536 種聲音層次

pcm 原始的 bit 流,如果是2聲道 16bit,就是 左 16bit , 右 16bit 共 4個 Byte。

一個典型的 alsa 配置就按上面。

採樣頻率 支持音頻帶寬 輸出碼率 最低算法延遲

G711 8KHz 300 Hz ~ 3,400 Hz 64 Kbps <1ms

G722 16kHz 50 Hz ~ 7 kHz 64 Kbps 3ms

G722.1 16kHz 50 Hz ~7 kHz 24、32 Kbps 40ms

G722.1 C 32kHz 50 Hz~14 kHz 24、32、48Kbps 40ms

AAC-LD 48kHz 20 Hz-20kHz 48~64 Kbps 20ms

G729  8KHz

G 711 有2種編碼格式也稱爲 PCMA A-Law  PCMU μ -Law 。

 

推薦一個好用的 音頻編輯及混音軟件

https://www.audacityteam.org/

可以很方便的,查看 左右聲道數據,可以播放原始 PCM 數據,也可以播放 PCMA PCMU 。 

ffmpeg ffplay 命令用法

windows 版下載地址 https://ffmpeg.zeranoe.com/builds/

ffplay -decoders 顯示所有解碼器
ffplay -formats 顯示所有格式
ffplay -layouts 顯示所有layout
ffplay xxx.m4a
ffplay -f s16le -ar 8000 -ac 2 rec.pcm
ffplay 播放 g711 alaw 格式的PCM
ffplay -f s16le -ar 8000 -acodec pcm_alaw -ac 2 xxx.pcm
播放 g722
ffplay -f s16le -ar 16000 -acodec g722 -ac 2 xxx.g722
mp3 轉 wav
ffmpeg -i xxx.mp3 -f wav xxx.wav
播放 wav
ffplay -f s16le -ar 44100 -ac 2 SunshineGirl.wav
mp3 轉 g722
ffmpeg -i xxx.mp3 -ar 16000 -acodec g722 xxx.g722
g722 轉 mp3
ffmpeg -i xxx.g722 xxx.mp3
mp3 調整採樣率 聲道數
ffmpeg -i 27.mp3 -ac 1 -ar 44100 new-27.mp3
mp3 轉 aac 需要用到 fdk 庫,需要安裝編譯好
ffmpeg -i 11.mp3 -c:a libfdk_aac 11.m4a
生成縮略圖
ffmpeg -i xxx.avi -y -f mjpeg -ss 3 -t 1 -s 320x240 d:/1.jpg
查看視頻信息
ffmpeg -i xxx.mp4
提取視頻中的音頻aac
ffmpeg -i 1.mp4 -vn -codec copy out.m4a
視頻轉碼FHD 1080p 轉 720p
ffmpeg -i xxx.mp4 -b:v 500k -s 1280x720 720p-md.mp4

提取音頻:

ffmpeg -i 01.mkv -vn -codec copy out.m4a
ffmpeg -i out.m4a -f wav out.wav
ffmpeg -i out.wav out.mp3

hls流轉 mp4

ffmpeg -i http://xxxx.com/2019.m3u8 -vcodec copy -acodec copy -absf aac_adtstoasc  output.mp4

更新 

ubuntu 16.0.4
ffplay 播放出錯
Failed to initialize a hardware accelerated renderer: Couldn't find matching render driver
Failed to create window or renderer: Couldn't find matching render driver

因爲 SDL 使用 OpenGL 進行渲染,所以需要安裝庫

sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglew-dev
sudo apt-get install libglm-dev

安裝上這幾個庫以後,重新編譯 SDL2 就可以了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章