一定の周波数や。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 で使える映像のテストソース

公式ドキュメント: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:タイムベース

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)