2017年6月13日火曜日

FFmpegを使用して一定時間ごとにぶつ切りにする方法


画像はイメージです

リアルタイムでストリームをキャプチャしつつ、
一定秒数ごとに切り出す必要があったので色々調べた結果、以下の方法でできることが判明。
※Windows環境

まず以下のURLからFFmpegバイナリをダウンロード
http://ffmpeg.zeranoe.com/builds/

ダウンロードしたアーカイブを適当なところに展開します。
c:\ffmpegとか環境に合わせて。

https://www.ffmpeg.org/ffmpeg-devices.html#dshow
上記に記載されてますがとりあえずコマンドラインで以下を実行。

ffmpeg -list_devices true -f dshow -i dummy

dshowで使用できるデバイスを確認します。 なお、文字化けする場合はテキストファイルにリダイレクトしておきます。

ffmpeg -list_devices true -f dshow -i dummy 2> memo.txt

こんな感じ。

デバイスが判明したら録音レベルを合わせてあとはキャプチャするだけです。

ffmpeg -f dshow -i audio="マイク" output.mp3

とこのままではぶつ切りにならないので以下のようにします。

ffmpeg -f dshow -i audio="マイク" -f segment -segment_time 30 output%02d.mp3

これで30秒区切りでファイルができていきます。

segmentに関しては以下を参照。
ffmpeg で指定秒ごとに分割する方法

ちなみにオーディオに関してLinuxでリアルタイムに取りたい場合、ALSAを使うことになるかと思います。


taka Web Developer

0 件のコメント:

コメントを投稿