2017年8月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。2017年8月24日(34週目)からユーザー生放送の新配信での予約延長が無料になり総配信数が減っている。

Continue reading “2017年8月のニコ生統計”

フィルタで手軽にリミッテッドレンジに出来る limiter

ffmpeg 3.4 から追加予定のフィルタ。各チャンネルの上限と下限を越えたらその上限と下限でカットする limiter フィルタの使い方。今までは lut フィルタでも同様のことが出来たが、こちらのフィルタの方がコードの量も少なく直感的でわかりやすい。

基本コマンド

すべてのチャンネルを 16 から 235 までのリミテッドレンジに変える
ffmpeg -i input -vf limiter=16:235 output
ffplay -i input -vf limiter=16:235

オプション

  • min[int]
    最小値の指定
    範囲:0 から 65535 まで
    既定値:0
  • max[int]
    最大値の指定
    範囲:0 から 65535 まで
    既定値:65535
  • planes[int]
    フィルタを当てるチャンネル指定
    詳しくは ffmpeg について | チャンネルの順番と注意点 を参照
    範囲:0 から 15 まで
    既定値:15(すべてのチャンネル)

2ファイル入力するフィルタの挙動設定 framesync

一部のフィルタ(現在では blend, convolve, libvmaf, lut3d, overlay, psnr, ssim) で設定できる動画時間が異なるファイルの挙動設定を行う framesync の設定方法。以前は個別のフィルタ毎に設定していたがこれのおかげで設定内容が統一された。

公式ドキュメント:FFmpeg Filters Documentation : Options for filters with several inputs (framesync)

記事にしているフィルタ
Windows の ffmpeg で生放送する方法 : overlay
YUV RGB を比較計算する blend
2つの映像の画質評価をする SSIM

Continue reading “2ファイル入力するフィルタの挙動設定 framesync”

2017年7月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。

Continue reading “2017年7月のニコ生統計”

ニコ生新配信、TSのビットレートと解像度が改善される

2017年7月13日のメンテナンスで ニコ生の新配信(β)と録画方法について で当初言及していたタイムシフトが一般会員と同じ低画質になる問題は改善され、映像と音声の合計平均ビットレートが 1Mbps 程度になり、配信解像度は生放送と同じ 800×450 になった。ただし rtmpdump で表示されるメタデータは 320×240 で正しくない。

【7/13更新】新配信番組のタイムシフト画質を改善|ニコニコインフォ

関連記事
新配信(β)で4:3映像に余白をつけて800×450配信にする
N を使わない新しいニコ生用の rtmpdump と ffmpeg(librtmp)
タイムシフトから新配信かどうかを調べる

タイムシフトから新配信かどうかを調べる

新配信かどうかを API などから情報を得ることが出来ず、生放送中なら視聴ページにアクセスすると live2.nicovideo.jp ドメインにリダイレクトされる。またタイムシフト期間なら放送を見て画質の悪さか,タイトル、タグからでしか新配信と判断できなかったがリダイレクトの仕様が通常配信と異なるのでこれを利用する。

以下の形式でタイムシフトにアクセスする
http://live2.nicovideo.jp/watch/lv番号

するとホストが live.nicovideo.jp に変わり新配信では gate にリダイレクトされ、通常配信では watch にリダイレクトされる。

18の周波数帯に分けてゲインを調整する superequalizer

ffmpeg 3.4 から追加予定のフィルタ。compand フィルタのように設定した周波数の音量を調整するよりも手軽に特定周波数の音量を上げたり下げたり出来る superequalizer フィルタの使い方。

基本コマンド

以下のコマンドでは音量は変化しない
ffmpeg -i input -af superequalizer=1b=1:2b=1:3b=1:4b=1:5b=1:6b=1:7b=1:8b=1:9b=1:10b=1:11b=1:12b=1:13b=1:14b=1:15b=1:16b=1:17b=1:18b=1 output
ffmpeg -i input -af superequalizer=1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1 output
ffplay -i input -af superequalizer=1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1

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

Continue reading “18の周波数帯に分けてゲインを調整する superequalizer”

エッジ検出フィルタ roberts

ffmpeg 3.4 から追加予定のフィルタ。Roberts cross operator を用いたエッジ検出フィルタ roberts の使い方。同様のフィルタに sobel, prewitt があり、他にもエッジ検出できるフィルタはいくつかある。

エッジ検出フィルタ sobel, prewitt
ffmpeg でエッジ検出をする edgedetect
先鋭化やぼかし、エンボス処理などができる convolution
ffmpeg で使える frei0r フィルタの使い方

基本コマンド

ffmpeg -i input -vf roberts=planes=15:scale=1:delta=0 output
ffmpeg -i input -vf roberts=15:1:0 output
ffplay -i input -vf roberts=15:1:0

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

Continue reading “エッジ検出フィルタ roberts”

各チャンネルの音量を映像化する abitscope

各チャンネルの音量(周波数ではない)を色別で横に並べて映像にする abitscope フィルタの使い方。出力フォーマットは RGBA。似たフィルタに showvolumeshowfreqs がある。

基本コマンド

ffmpeg -i input -filter_complex abitscope -acodec copy output
ffmpeg -re -i input -filter_complex abitscope -f sdl -

動画にオーバーレイする例
ffmpeg -i input -filter_complex abitscope,[0:v]overlay -acodec copy output
ffmpeg -re -i input -filter_complex abitscope,[0:v]overlay -f sdl -

abitscope フィルタで動画にオーバーレイする例(5.1ch なので6色)

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

Continue reading “各チャンネルの音量を映像化する abitscope”