一定の周波数や。1秒間隔のビープ音がつくれる sine オーディオソースの使い方。
基本コマンド
10秒の440Hzのシグナルを 44.1KHz でモノラルの WAV ファイルで出力する。
ffmpeg -f lavfi -i sine=440:0:44100:10 mono.wav
1秒に1回鼓動する心臓音のような音。
ffplay -f lavfi -i sine=10:10
ステレオにするには2入力してamergeフィルタを使う。1入力が左で、2入力が右になる。この順番はffmpeg -layouts
のレイアウトの順番になっている。
ffmpeg -f lavfi -i sine=220:4:d=5 -f lavfi -i sine=220:0:d=5 -filter_complex amerge=2 stereo.wav
音声ストリームのチャンネルレイアウトを指定する amerge
同じ内容ならasplit
フィルタで複製してもステレオになる。
ffmpeg -f lavfi -i sine=440:0:44100:10,asplit,amerge=2 stereo.wav
lavfiデバイスで入力した内容は引き続きフィルタを当てることができる。以下の例はvolume
フィルタで右の音量を0にしている。
ffmpeg -f lavfi -i sine=220:4:d=5 -f lavfi -i sine=220:4:d=5,volume=0 -filter_complex amerge=2 stereo-right-mute.wav
映像のテストソースも同時に扱う。
ffmpeg -f lavfi -i smptehdbars=1920x1080:d=10 -f lavfi -i sine=frequency=1000:d=10 output.mp4
ffplay -f lavfi -i smptehdbars=1920x1080[out0];sine=frequency=1000[out1]"
公式ドキュメント:FFmpeg Filters Documentation : sine
オプション
- frequency, f
シグナルの周波数の指定
既定値:440
範囲:0 から DBL_MAX まで - beep_factor, b
ビープ音の周波数の指定
既定値:0(無音)
範囲:0 から DBL_MAX まで - sample_rate, r
出力する周波数の指定
既定値:44100
範囲:0 から INT_MAX まで - duration, d
出力する音声時間の指定
既定値:0(無限) - samples_per_frame
フレームあたりのサンプル数。以下は使える評価式。既定値:1024 - n:0から始まるフレーム数
- pts:PTS秒。pts x TB = t
- t:秒時間
- TB:タイムベース