テストシグナルの音声を作る sine

一定の周波数や。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

lavfi デバイスで入力した内容は引き続きフィルタを当てることができる。以下の例は volume フィルタで右の音声を無音にしている。
ffmpeg -f lavfi -i sine=220:4:d=5 -f lavfi -i sine=220:4:d=5,volume=0 -filter_complex amerge=2 Left.wav

公式ドキュメント:FFmpeg Filters Documentation : sine

Continue reading “テストシグナルの音声を作る sine”

2019年5月のニコ生統計

2017年1週目から2019年10週目までの取得漏れが判明し、毎週土曜日の放送開始0時から6時までの6時間が入ってなかった。気がついたのが2019年11週目で月間統計は過去のデータを修正したが過去記事は修正してない。

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

Continue reading “2019年5月のニコ生統計”

2019年4月のニコ生統計

2017年1週目から2019年10週目までの取得漏れが判明し、毎週土曜日の放送開始0時から6時までの6時間が入ってなかった。気がついたのが2019年11週目で月間統計は過去のデータを修正したが過去記事は修正してない。

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

2018年9月25日から2018年10月1日までの間、ログイン不要で生放送が見られるようになっているのでいつも以上に来場者数が多くなっている。

【10/1更新】【ニコニコ生放送】来場者数集計方法変更のお知らせ|ニコニコインフォ

Continue reading “2019年4月のニコ生統計”

2019年3月のニコ生統計

2017年1週目から2019年10週目までの取得漏れが判明し、毎週土曜日の放送開始0時から6時までの6時間が入ってなかった。気がついたのが2019年11週目で月間統計は過去のデータを修正したが過去記事は修正してない。

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

2018年9月25日から2018年10月1日までの間、ログイン不要で生放送が見られるようになっているのでいつも以上に来場者数が多くなっている。

【10/1更新】【ニコニコ生放送】来場者数集計方法変更のお知らせ|ニコニコインフォ

Continue reading “2019年3月のニコ生統計”

メンテナンスの顛末

当初はスターサーバーの無料サーバーを使っていて、これをスタードメイン無料特典の無料サーバーに切り替えて、常時httpsに変更するメンテナンスを行った。サーバーが変わり容量も10GBから3GBに変更され、すべてのファイルも入れ替えとなった。インストールも無事終わりプラグイン設定やftpに上げ直し一段落してブログを表示するとエラーが出る。SSL のエラー(ERR_CERT_COMMON_NAME_INVALID、SSL_ERROR_BAD_CERT_DOMAIN)が出て引っ越す前の状態に戻るときと、引っ越した後でSSLのエラーが出ないときと表示が直ったり直らなかったりを繰り返した。

運営に問い合わせると無料サービスなので回答を得られない。質問を変え3度問い合わせると「nico-lab.net」のDNSレコードがスターサーバーの無料サーバーとスタードメイン無料特典の無料サーバーを重複登録しているのを教えてもらった。ありがとう。というわけで、昔使っていたスターサーバーの無料サーバーを削除してエラーはなくなった。

ご契約特典:無料レンタルサーバープラン / スタードメイン – ドメイン取得 1,180円(税抜)~
無料独自SSL設定ガイド | レンタルサーバー【スターサーバー】
Webサイトの常時SSL化 | レンタルサーバー【スターサーバー】

メンテナンスのお知らせ

明日2019年3月31日の朝10時頃からメンテナンスを行う。表示が崩れたり表示できなかったりする。終了時刻は未定。2019年4月1日時点でも表示に不具合がある。

追記 2019年4月1日、20時42分
https の表示も安定し、http は https にリダイレクトするようにした。

追記 2019年4月1日、22時39分
表示が安定したかと思ったが、SSL のエラーが出ることがある。もう少し様子を見る。

追記 2019年4月5日、23時03分
今度こそ表示が安定しているはず。

ffmpeg で指定時間でカットするまとめ

グレイはカットしない部分で、ブラックがカットする部分。copyすれば無劣化になり、コーデックを指定すれば再エンコードになる。[duration] は秒時間指定と、hh:mm:ss 指定が出来る。4番目はプレイヤで再生しているときの再生時間でカットするのに便利なコマンド。

こちらも参照
詳細な分割設定ができる Segment
ffmpeg で指定秒ごとに分割する方法
ffmpeg で時間単位やフレーム単位でカットする方法

ファイルを連結してつなげる場合はこちらを参照
concat を使い分ける

Continue reading “ffmpeg で指定時間でカットするまとめ”

映像の黒枠の場所を検出する cropdetect

映像の黒枠を検出して crop フィルタで使う引数を返す cropdetect フィルタの使い方。

基本コマンド

ffmpeg -i input -vf cropdetect output
ffplay -i input -vf cropdetect

運用例
ffplay -f lavfi -i color=white -vf fillborders=0:0:32:16:2,cropdetect
ffplay -f lavfi -i color=white -vf fillborders=0:0:32:16:2,crop=320:192:0:32

以下のようなログが1フレーム毎に流れる。

x1:0 x2:319 y1:32 y2:223 w:320 h:192 x:0 y:32 pts:2 t:0.080000 crop=320:192:0:32
  • x1, x2 は黒枠を除外した横座標の開始と終了ピクセルで、0ピクセル開始
  • y1, y2 は黒枠を除外した縦座標の開始と終了ピクセル、0ピクセル開始
  • w, h, x, y は crop フィルタで指定する引数

上下左右を特定色で埋める fillborders
映像を指定座標に切り取る crop

公式ドキュメント:FFmpeg Filters Documentation : cropdetect

Continue reading “映像の黒枠の場所を検出する cropdetect”

映像を指定座標に切り取る crop

映像を指定座標に切り取る crop フィルタの使い方。出力解像度はフレーム毎に変更できないがクロップする場所はフレーム毎に変更できる。

基本コマンド

中央から縦横100ピクセルにクロップする
ffmpeg -i input -vf crop=w=100:h=100 output
ffplay -i input -vf crop=100:100

左上からクロップするには x, y を 0 にする
ffmpeg -i input -vf crop=w=100:h=100:x=0:y=0 output
ffplay -i input -vf crop=100:100:0:0

左から1フレーム1ピクセル毎に移動する
ffmpeg -i input -vf crop=w=100:h=100:x=n output
ffplay -i input -vf crop=100:100:n

クロップする場所を動かすコマンド例
映像の上に映像をのせる overlay | 応用例

公式ドキュメント:FFmpeg Filters Documentation : crop

Continue reading “映像を指定座標に切り取る crop”

映像に余白を追加する pad

余白を追加することで、別のアスペクト比の映像に手軽に変換できる。ただし出力解像度が奇数になるとピクセルフォーマット次第で余白がずれたり、エンコードエラーになる。

基本コマンド

下のコマンドでエラーが出るときは setsar=1 フィルタを最初に当てる。

オリジナルの解像度に横に60ピクセル、縦に20ピクセル追加し、映像を横に30ピクセル、縦に10ピクセルずらし、余白の色を白にする。
ffmpeg -i input -vf pad=w=iw+60:h=ih+20:x=30:y=10:color=white output
ffplay -i input -vf pad=iw+60:ih+20:30:10:ffffff
ffplay -i input -vf setsar=1,pad=iw+60:ih+20:30:10:ffffff

16:9の映像を横幅固定で4:3の映像にして中央に配置。
ffmpeg -i input -vf pad=y=(ih-oh)/2:aspect=4/3 output
ffplay -i input -vf pad=y=(ih-oh)/2:aspect=4/3
ffplay -i input -vf setsar=1,pad=y=(ih-oh)/2:aspect=4/3

4:3の映像を縦幅固定で16:9の映像にして中央に配置。
ffmpeg -i input -vf pad=x=(iw-ow)/2:aspect=16/9 output
ffplay -i input -vf pad=x=(iw-ow)/2:aspect=16/9
ffplay -i input -vf setsar=1,pad=x=(iw-ow)/2:aspect=16/9

次の方法でも行える:4:3を16:9に、16:9を4:3に余白をつける

公式ドキュメント:FFmpeg Filters Documentation : pad

Continue reading “映像に余白を追加する pad”