Quantcast
Channel: ニコラボ
Viewing all 416 articles
Browse latest View live

ffmpeg で OpenCV フィルタを使う

$
0
0

Win 用の配布バイナリには OpenCV が有効になっていないのでこれを有効にして使える3つのフィルタについて。

続きを読む

OpenCV をコンパイルする

公式サイト:OpenCV | OpenCV
VERSION 3.0 OpenCV for Linux/Mac を保存する。

OpenCV のコンパイルには CMake から主に Visual Studio を使う場合と、MSYS を使う場合があり、今回は手軽に導入できる MSYS でコンパイルする。

Visual Studio を使う場合はこちらを参考にする。
OpenCV3.0.0のビルド – AkiWiki

Releases · msysgit/msysgit · GitHubXhmikosR’s Builds の full を上書きして環境を作り、etc の fstab のドライブレターを解凍先に変更する。

msys.bat を実行すると home フォルダが出来てその中のユーザー名フォルダの中にソースコードを解凍してコンパイルしていく。

opencv-3.0.0.zip を解凍して、build ディレクトリを作る。次に cmake をインストールするか zip なら環境変数を通しておく。

Download | CMake

git から取得する場合。ffmpeg に不要なライブラリはコンパイルしない。x86 用の DLL しかできなかったので 64bit ffmpeg はよく分からない。

インストールが終わると、build/install/include に必要なヘッダ類、build/bin にライブラリ、build/unix-install に opencv.pc を見つけることが出来る。次に opencv.pc を書き換える。

dll を mingw/i686-w64-mingw32/lib に移動し、opencv, opencv2 のフォルダを mingw/i686-w64-mingw32/include に移動する。

そして ffmpeg の configure に --enable-libopencv をつけてビルドする。ffmpeg の実行には opencv.pc で指定した libopencv_core300.dll, libopencv_imgproc300.dll が必要になる。

OpenCV のフィルタ内容

ffmpeg で使える OpenCV フィルタは dilate, erode, smooth の3つ。

公式ドキュメント:FFmpeg Filters Documentation :: ocv
該当コード:FFmpeg/vf_libopencv.c at master · FFmpeg/FFmpeg

  • dilate
    色の境界を縮小する。設定を強めるほど白っぽくなり小さい文字などの細かい描写の境がなくなる
    最初のかけ算で明度のピクセル指定で、次のかけ算は最初のかけ算の値より小さくなければならない
    次の文字列は rect, cross, ellipse が指定できるが詳細不明
    最後の引数はどれだけフィルタを強く掛けるか。1以上の整数を指定する
    -vf "ocv=dilate:3x3+0x0/rect|1"
  • erode
    色の境界を拡大する。設定を強めるほど線が太くなり細かい描写の堺がなくなる
    設定内容は dilate と同じ
    -vf "ocv=erode:3x3+0x0/rect|1"
  • smooth
    映像をスムーズ(のっぺり)させる
    アルゴリズムは blur, blur_no_scale, median, gaussian, bilateral が使え、規定値は gaussian
    blur, gaussian は映像がぼける
    数字の引数が 4つあるが最初の 1つしか効果が無い
    最初の引数は 1以上の正の奇数の整数を指定する
    -vf "ocv=smooth:gaussian:3:0:0:0"

ニコ動の SWF 投稿が出来なくなる

$
0
0

2015年6月18日の14時過ぎにニコるとスピードチェッカーも一緒に SWFファイルが投稿できるサービスは終了した。ニコられると動画右のコメント欄が黒く、よりニコられると赤くなる仕様だったが押し間違いや、押したことによるアカウント通知機能がうまくいかずに終了したことになる。

最後の魚拓:ニコるってイイね!|niconico

SWFファイルはフラッシュプレイヤー依存の動画で、フラッシュに依存しない再生環境を揃えるためだと思う。SWF の映像には VP6 か H.263 が用いられるが、フラッシュに依存しない H.264 にエンコードした場合に画質の劣化がどうしても起きるので、再エンコード後の再生の互換性と保守の面から仕方ない判断である。

【一部機能の提供終了に関するお知らせ】swfファイルでの動画投稿/ニコる/スピードチェッカー‐ニコニコインフォ

最後の SWF 動画
cry.swf – ニコニコ動画:GINZA

この方法 Icy Cellar 3 – ニコニコ動画 – SWF形式のアップロードについて で従来は投稿できたが、ニコニコムービーメーカー経由でなくても投稿できなくなった。

SWF を投稿するとこのエラーが返ってくる

ffmpeg でクロマキー合成

$
0
0

ffmpeg に colorkey フィルタが取り込まれたことにより、クロマキー合成や特定色に個別のフィルタを当てられるようになった。

ffmpeg 2.7.1 以降か最新版の git を使っていれば colorkey フィルタが使える。
avfilter/vf_colorkey: Add colorkey video filter

colorkey は指定した色の部分をアルファチャンネルにして、それ以外を RGB の RGBA で出力する。指定する色は16進数の ffffff 形式か、色名を指定する。

16進数と色の説明:FFmpeg Utilities Documentation :: Color

続きを読む

基本コマンド

ffmpeg -i input -vf colorkey=red:0.01:0 output
ffmpeg -i input -vf colorkey=0xFF0000:0.01:0 output

オプション内容

  • color
    指定した色を透過させる。16進数形式か、色名を指定
  • similarity
    一致の範囲指定。0.01 は完全一致、1は全画面。規定値:0.01(float)
  • blend
    似た色の透過の影響具合、0 は指定した色だけで大きくするほど似た色も少しずつ透過する。
    つまり透過のグラデーションがきれいになる。最大値 1。規定値:0(float)

blend, similarity について

基本画像(赤の右端が少し透過して欠けている)

colorkey=red

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red -vframes 1 rgbtestsrc.png

colorkey=red:.01:.1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:.01:.1 -vframes 1 rgbtestsrc00101.png

colorkey=red:.01:.5

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:.01:.5 -vframes 1 rgbtestsrc00105.png

colorkey=red:.01:1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:.01:1 -vframes 1 rgbtestsrc00110.png

colorkey=red:.1:.1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:.1:.1 -vframes 1 rgbtestsrc0101.png

colorkey=red:.5:.1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:.5:.1 -vframes 1 rgbtestsrc0501.png

colorkey=red:1:.1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:1:.1 -vframes 1 rgbtestsrc1001.png

colorkey=red:1:1

ffmpeg -f lavfi -i rgbtestsrc -vf colorkey=red:1:1 -vframes 1 rgbtestsrc1010.png

基本的な使い方

ffmpeg -f lavfi -i smptebars -vframes 1 smptebars.png

10進数と16進数のどちらでも調べられる:SpotColor : Vector
各色の2桁目の値が何もない場合は 0 を代入する。


中央の緑(0x0ede04)が透過する

ffmpeg -i smptebars.png -vf colorkey=0x0ede04 smptebars_alpha.png

動画や画像にアルファチャンネルが付いている場合は先に付いているアルファチャンネルと、指定した色のアルファチャンネルを合成する方法をとる。


透過画像からさらに透過(0x0000b6)を追加する

ffmpeg -i smptebars_alpha.png -vf split[a][b];[a]colorkey=0x0000b6[a1];[b][a1]blend=all_mode=and -y smptebars_alpha2.png


一度に2カ所透過する

ffmpeg -f lavfi -i smptebars -vf split[a][b];[a]colorkey=0x0ede04[a1];[b]colorkey=0x0000b6[b1];[a1][b1]blend=all_mode=and -vframes 1 smptebars_alpha3.png

応用例

アルファチャンネルをグレースケールで取り出して、その部分だけフィルタを適応してオーバーレイすることで指定した色に個別のフィルタが当てられる。特定の場所にフィルタを当てる例に、hqdn3d(ノイズ除去)、unsharp, smartblur, sab(シャープ、ぼかし)、gradfun(バンディング低減) などが考えられる。

alphaextract はアルファチャンネルを黒にそうでないのは白のグレースケール出力に変換する。つまり、colorkey から alphaextract につなげた場合の出力フォーマットにはアルファチャンネルは付かない。

alphamerge は2番目の入力の透過、またはグレースケールの白黒、フルカラーなら明暗具合に応じて1番目の入力を透過させる。透過具合についてはアルファチャンネルの場合、透過しているものはそれに応じて透過する。グレースケールの場合、白は不透過、黒は透過する。

マスクする場合、白に近いほどフィルタが強く当たり、黒に近いほどフィルタが当たらない。つまり colorkey から alphaextract につなげると、colorkey で指定した部分は黒くなる。この白黒をきれいに反転するには curves=negative を使う。

注意点:overlay で画像出力する場合は出力フォーマットで RGB 指定しないときれいに出力できない。(overlay=format=rgb)

以下のマスク(alphamerge)を使った処理方法はフォトショップなどの画像処理の手順を参考にするのがよい。

  • 中央の 0ede04 にノイズを載せる
    0ede04 にノイズを載せる


  • 中央の 0ede04 以外にノイズを載せる
    0ede04 以外にノイズを載せる

  • 指定した3カ所にノイズを載せる
    指定した3カ所にノイズを載せる


  • ニコ生など配信ビットレートに制限がある場合、特定箇所だけぼかすことで容量を節約できる。まずは特定場所の色を調べてその色が他に使われていないかどうか、特定場所が固定ならば colorkey を使わずに crop してそこだけぼかすことも出来る。
  • 動画の特定の色を透過させて別の動画をクロマキー合成する

動画出力

画像の場合は出力拡張子を .png にすればそのままアルファチャンネル付きで出力される。動画にする場合は選択肢が複数ある。ひとつは無圧縮、もう一つは可逆圧縮である。無圧縮の場合は解像度とフレーム数が大きければ大きいほど容量が莫大になる。可逆圧縮の場合はアルファチャンネルに対応したエンコーダーを指定する。

  • バランス型の utvideo。速度と容量、デコード速度もバランスがよい。ニコニコモンズに投稿できない。
  • 容量の大きい huffyuv。ニコニコモンズに投稿できる。
  • 画像なら apng。エンコード速度はとても遅い。ブラウザ(firefox)で再生確認できるがループ再生はしてくれない。拡張子は .apng。出力した後に拡張子を .png に直せばニコニコモンズに投稿できる。

ffmpeg -f lavfi -i smptebars -vcodec utvideo -t 10 smptebars.avi

colorchannelmixer の使い方

$
0
0

RGBA からそれぞれの RGBA にミックスして色を変えるフィルタ colorchannelmixer の使い方。

基本コマンド

自らの RGBA だけ 1 にしているので色は変わらない。
ffmpeg -i input -vf colorchannelmixer=1:0:0:0:0:1:0:0:0:0:1:0:0:0:0:1 output

自らの値(rr, gg, bb, aa)だけ規定値は 1 でそれ以外は 0。
指定できる範囲は -2 から 2 の float

引数は r, g, b, a にそれぞれの r, g, b, a を掛けて 4×4 の 16 ある。引数の順番は以下の通り。

rr, rg, rb, ra, gr, gg, gb, ga, br, bg, bb, ba, ar, ag, ab, aa

RGB の計算式は R を例にすると。

red=red*rr + blue*rb + green*rg + alpha*ra

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

簡単な例

上の計算式だけでわかればそれだけなのだが、簡単な例を示すと、RGBA(100,100,100,0)に rr=0.5, rg=0.5, rb=0.5, ra=0 とすると R の値は 0.5(100+100+100)=150 で GB は 100 のままである。

ffmpeg -f lavfi -i color=0x646464 -vf colorchannelmixer=.5:.5:.5 -vframes 1 output.png

RGB それぞれを抽出する

ffmpeg -f lavfi -i smptebars -vf colorchannelmixer=1:0:0:0:0:0:0:0:0:0:0:0 -vframes 1 R_only.png
ffmpeg -f lavfi -i smptebars -vf colorchannelmixer=0:0:0:0:0:1:0:0:0:0:0:0 -vframes 1 G_only.png
ffmpeg -f lavfi -i smptebars -vf colorchannelmixer=0:0:0:0:0:0:0:0:0:0:1:0 -vframes 1 B_only.png

lutrgb でも RGB を個別に出力できる
ffmpeg -f lavfi -i smptebars -vf lutrgb=g=0:b=0 -vframes 1 R_only.png
ffmpeg -f lavfi -i smptebars -vf lutrgb=r=0:b=0 -vframes 1 G_only.png
ffmpeg -f lavfi -i smptebars -vf lutrgb=r=0:g=0 -vframes 1 B_only.png

FFmpeg Filters Documentation :: lut, lutrgb, lutyuv

2015年5月のニコ生統計

$
0
0

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

続きを読む

30分の放送に限った来場者数とコメント数の平均と中央値

第一四分位数は下位25%の位置のコメント数、第三四分位数は上位25%の位置のコメント数。 弾幕放送の割合が増えるので一律に6000以上の来場者とコメントは除外している。

来場者数 11月 12月 2015年1月 2月 3月 4月 5月
最小値 0 0 0 0 0 0 0
第一四分位数 7 7 8 8 7 7 8
中央値 14 14 15 15 15 15 15
平均 30.95 30.53 31.41 31.72 31.24 31.30 32.47
第三四分位数 27 27 29 29 28 28 29
最大値 5,981 5,926 5,929 5976 5,989 5,842 5,949
コメント数 11月 12月 2015年1月 2月 3月 4月 5月
最小値 0 0 0 0 0 0 0
第一四分位数 9 9 8 8 7 7 7
中央値 33 33 32 32 30 30 31
平均 58.85 57.65 56.95 57.09 55.91 56.02 57.16
第三四分位数 73 73 71 71 69 69 70
最大値 5,970 5,918 5,988 5,997 5,999 5,999 5,994

カテゴリタグとそれ以外のタグの割合

カテゴリタグの割合

カテゴリタグ 2015年5月 割合 先週比 カテゴリタグ 2015年4月 割合
ゲーム 2,364,343 66.34% 0.35% ゲーム 2,148,578 65.99%
一般(その他) 865,471 24.28% 0.15% 一般(その他) 785,890 24.14%
歌ってみた 118,505 3.32% -0.24% 歌ってみた 115,989 3.56%
描いてみた 98,801 2.77% -0.17% 描いてみた 95,753 2.94%
動画紹介 33,746 0.95% -0.03% 動画紹介 31,666 0.97%
演奏してみた 26,309 0.74% -0.01% 演奏してみた 24,403 0.75%
R18 21,369 0.60% -0.03% R18 20,626 0.63%
政治 10,809 0.30% 0.02% 動物 9,289 0.29%
動物 10,291 0.29% 0.00% 政治 9,178 0.28%
料理 7,413 0.21% 0.00% 料理 6,703 0.21%
講座 4,969 0.14% -0.03% 講座 5,581 0.17%
踊ってみた 2,135 0.06% -0.01% 踊ってみた 2,257 0.07%
放送数合計 3,564,161 312,693 放送数合計 3,255,913

カテゴリタグ以外のタグの上位100選

2015年5月 2015年4月
ランク タグ名 総数 割合 前週比 タグ名 総数 割合
1 雑談 551,677 15.48% -0.71% 雑談 527,242 16.19%
2 初見歓迎 388,071 10.89% -0.61% 初見歓迎 374,519 11.50%
3 凸待ち 350,794 9.84% -0.05% PS4ゲーム配信 326,242 10.02%
4 顔出し 343,809 9.65% -0.17% 凸待ち 322,064 9.89%
5 PS4ゲーム配信 326,309 9.16% -0.86% 顔出し 319,754 9.82%
6 クルーズ待ち 249,600 7.00% -0.08% クルーズ待ち 230,503 7.08%
7 艦これ 204,446 5.74% 0.72% 艦これ 163,433 5.02%
8 過疎 126,122 3.54% -0.22% 過疎 122,535 3.76%
9 過疎放送 113,604 3.19% -0.10% 初心者 109,646 3.37%
10 初心者 111,730 3.13% -0.23% 過疎放送 106,917 3.28%
11 初見さん歓迎 107,258 3.01% -0.13% Bloodborne 104,852 3.22%
12 PS3 94,491 2.65% -0.55% PS3 104,120 3.20%
13 まったり 83,404 2.34% -0.02% 初見さん歓迎 102,298 3.14%
14 LoL 83,255 2.34% -0.33% LoL 86,657 2.66%
15 Minecraft 66,248 1.86% -0.30% まったり 76,704 2.36%
16 FPS 62,159 1.74% -0.22% PS4 76,245 2.34%
17 パズドラ 60,783 1.71% -0.31% Minecraft 70,171 2.16%
18 スマートフォン配信 59,711 1.68% 0.04% パズドラ 65,630 2.02%
19 PS4 58,305 1.64% -0.71% FPS 64,106 1.97%
20 イケボ 57,166 1.60% -0.13% AVA 59,669 1.83%
21 AVA 54,961 1.54% -0.29% PSO2 58,088 1.78%
22 gdgd 54,784 1.54% -0.12% イケボ 56,436 1.73%
23 PSO2 51,181 1.44% -0.35% gdgd 54,022 1.66%
24 レトロゲーム 49,204 1.38% -0.01% スマートフォン配信 53,340 1.64%
25 Bloodborne 48,717 1.37% -1.85% Steam 52,018 1.60%
26 声真似 48,682 1.37% -0.10% 声真似 47,848 1.47%
27 Steam 48,222 1.35% -0.24% レトロゲーム 45,263 1.39%
28 艦隊これくしょん 46,612 1.31% 0.20% マインクラフト 42,508 1.31%
29 ドラクエ10 42,963 1.21% 0.11% ポケモン 40,359 1.24%
30 東方 42,061 1.18% -0.04% 東方 39,812 1.22%
31 ポケモン 41,159 1.15% -0.08% 初見プレイ 39,772 1.22%
32 FF14 39,654 1.11% -0.01% パチスロ 38,375 1.18%
33 マインクラフト 39,503 1.11% -0.20% FF14 36,660 1.13%
34 パチスロ 38,791 1.09% -0.09% 艦隊これくしょん 35,914 1.10%
35 アニメ 37,854 1.06% -0.03% ドラクエ10 35,777 1.10%
36 モンスト 36,158 1.01% 0.01% アニメ 35,553 1.09%
37 初見プレイ 35,787 1.00% -0.22% ガンダムオンライン 35,074 1.08%
38 Destiny 35,188 0.99% 0.34% マイクラ 33,867 1.04%
39 白猫プロジェクト 34,189 0.96% 0.04% モンスト 32,767 1.01%
40 EXVSFB 34,048 0.96% 0.08% ボカロ 32,667 1.00%
41 ガンダムオンライン 34,000 0.95% -0.12% ウル4 30,443 0.94%
42 ボカロ 32,959 0.92% -0.08% 麻雀 29,905 0.92%
43 黒い砂漠 32,217 0.90% 0.72% 白猫プロジェクト 29,826 0.92%
44 車載 31,618 0.89% 0.02% BF4 29,710 0.91%
45 31,497 0.88% 0.00% PC 29,507 0.91%
46 WoT 30,839 0.87% -0.04% WoT 29,502 0.91%
47 コメント募集 30,459 0.85% -0.04% コメント募集 29,174 0.90%
48 ウル4 29,837 0.84% -0.10% 28,842 0.89%
49 マイクラ 29,462 0.83% -0.21% EXVSFB 28,392 0.87%
50 麻雀 29,211 0.82% -0.10% 車載 28,264 0.87%
51 白猫 28,995 0.81% 0.08% GTA5 28,077 0.86%
52 PC 28,959 0.81% -0.09% RTA 27,195 0.84%
53 RTA 28,533 0.80% -0.03% スマブラ 26,763 0.82%
54 WiiU 27,858 0.78% 0.33% osu! 25,545 0.78%
55 BF4 26,931 0.76% -0.16% JK 25,539 0.78%
56 Battlefield_4 26,806 0.75% 0.18% 弾幕歓迎 24,986 0.77%
57 弾幕歓迎 26,622 0.75% -0.02% バトルフィールド_ハードライン 24,139 0.74%
58 アニソン 25,780 0.72% -0.01% 白猫 24,008 0.74%
59 MH4G 25,406 0.71% 0.00% アニソン 23,989 0.74%
60 GTA5 25,337 0.71% -0.15% MH4G 23,264 0.71%
61 JK 24,876 0.70% -0.09% BO2 23,226 0.71%
62 osu! 24,707 0.69% -0.09% ホラー 22,448 0.69%
63 マリオカート8 24,478 0.69% 0.02% おっさん 22,446 0.69%
64 スマブラ 23,735 0.67% -0.16% SA 21,865 0.67%
65 おっさん 23,517 0.66% -0.03% マリオカート8 21,729 0.67%
66 ポケモンORAS 23,048 0.65% -0.02% ポケモンORAS 21,704 0.67%
67 BO2 21,441 0.60% -0.11% ブラッドボーン 21,098 0.65%
68 ホラー 20,843 0.58% -0.10% Destiny 20,979 0.64%
69 スプラトゥーン 20,482 0.57% #N/A サドンアタック 20,279 0.62%
70 SA 20,374 0.57% -0.10% 天鳳 19,939 0.61%
71 刀剣乱舞 20,192 0.57% 0.08% BFH 19,871 0.61%
72 サドンアタック 19,535 0.55% -0.07% 作業用BGM 19,598 0.60%
73 CoD 19,264 0.54% -0.03% Battlefield_4 18,761 0.58%
74 作業用BGM 18,941 0.53% -0.07% CoD 18,637 0.57%
75 天鳳 18,916 0.53% -0.08% Dying_Light 17,598 0.54%
76 イケメン 18,762 0.53% 0.01% ガンオン 17,512 0.54%
77 バトルフィールド_ハードライン 18,299 0.51% -0.23% 癒しボイス 16,966 0.52%
78 癒しボイス 17,647 0.50% -0.03% イケメン 16,801 0.52%
79 癒し 17,219 0.48% 0.03% ドラクエ 16,215 0.50%
80 ドラクエ 17,129 0.48% -0.02% MHF 16,186 0.50%
81 PCゲーム 16,677 0.47% 0.02% 刀剣乱舞 15,830 0.49%
82 ガンオン 16,645 0.47% -0.07% 地球防衛軍4.1_THE_SHAD… 15,595 0.48%
83 DQX 15,899 0.45% 0.04% ギター 15,312 0.47%
84 初見さん大歓迎 15,816 0.44% 0.02% H1Z1 14,940 0.46%
85 フリーゲーム 15,515 0.44% -0.01% 癒し 14,760 0.45%
86 DARK_SOULS_Ⅱ_SCHO… 15,437 0.43% 0.01% PCゲーム 14,699 0.45%
87 北海道 15,353 0.43% -0.01% フリーゲーム 14,598 0.45%
88 Call_of_Duty__Adv… 15,052 0.42% 0.03% WiiU 14,542 0.45%
89 MHF 15,001 0.42% -0.08% 北海道 14,373 0.44%
90 メンヘラ 14,996 0.42% -0.01% メンヘラ 14,063 0.43%
91 ギター 14,853 0.42% -0.05% DARK_SOULS_Ⅱ_SCHO… 13,747 0.42%
92 相談 14,417 0.40% 0.01% 初見さん大歓迎 13,745 0.42%
93 BFH 14,294 0.40% -0.21% DQX 13,324 0.41%
94 Minecraft__PlaySt… 14,137 0.40% 0.06% FEZ 13,310 0.41%
95 Splatoon 13,881 0.39% #N/A ラブライブ 13,112 0.40%
96 ファイナルファンタジーXIV__新… 13,773 0.39% 0.10% 遊戯王 12,947 0.40%
97 遊戯王 13,680 0.38% -0.01% Call_of_Duty__Adv… 12,863 0.40%
98 VOCALOID 13,501 0.38% 0.00% 相談 12,755 0.39%
99 FEZ 13,486 0.38% -0.03% バイオハザード 12,711 0.39%
100 ラブライブ 13,053 0.37% -0.04% ダークソウル2 12,703 0.39%

月間ユニークコミュID数

2014年12月 2015年1月 2月 3月 4月 5月
総配信数 2,615,729 3,266,661 3,309,586 3,626,836 3,259,886 3,568,606
総ID数 104,995 114,399 114,243 119,742 113,171 116,634

ffmpeg で指定秒ごとに分割する方法

$
0
0

出力フォーマットに segment を使って指定秒ごとに分割する。ストリームコピーする場合は GOP の関係で正確な指定秒ごとに分割できない。さらにファイルサイズを指定(-fs)して分割は出来ない。ニコ生のタイムシフトの個人的なバックアップ(ニコ動に非公開で投稿する)にも使える。

-segment_time で分割する秒を指定する。

ffmpeg -analyzeduration 30M -probesize 30M -i input -c copy -f segment -segment_time 720 output%02d.mp4

HLS 用の m3u8 を出力するにはコマンドもある。動画のファイルは m3u8 のファイル名.ts になる。
H.264/AVC.mp4 をコピーする場合は -bsf:v h264_mp4toannexb をつける。

-hls_time で分割する秒を指定する。

ffmpeg -analyzeduration 30M -probesize 30M -i input -c copy -bsf:v h264_mp4toannexb -hls_time 720 output.m3u8

公式ドキュメント
FFmpeg Formats Documentation :: segment, stream_segment, ssegment
FFmpeg Formats Documentation :: hls

連結する場合
【ffmpeg】動画・音声を連結する concat の使い方
【ffmpeg】動画・音声を連結する concat の使い方 其の2
【ffmpeg】動画・音声を連結する concat の使い方 其の3

サンプリング周波数を一枚画像で出力する showwavespic

$
0
0

音声データを読み込み、最初から最後までのサンプリング周波数を一枚画像で出力する ffmpeg の showwavespic の使い方。

読み込み開始時点や終了時点を変更する -ss, -t, -to などはエラーになるので使えない。出力フォーマットはグレイスケール。

オプション

  • size, s
    画像の出力解像度。規定値:600×240
  • split_channels
    チャンネル別に表示するかどうか。規定値:0(しない)

基本コマンド

ffmpeg -i input -lavfi showwavespic=s=600x240:split_channels=1 waveform.png

waveform のサンプル画像


リアルタイムに波形を調べるには showwaves を使う
音声波形を表示する showspectrum, showwaves の使い方

関連記事

リアルタイムで音量バーを表示する showvolume

$
0
0

音量をリアルタイムでバー表示する ffmpeg の showvolume の使い方。出力フォーマットは RGBA。難点は dB の値までは表示されないところだが、条件をつければ指定 dB の範囲に色をつけて判断できる。

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

続きを読む

基本コマンド

ffmpeg -i input -filter_complex showvolume -acodec copy output
ffplay -f lavfi -i amovie=input,showvolume

オプション内容

  • rate, r
    映像のフレームレート。規定値:25
  • b
    音量バー同士の隙間幅。範囲:0 – 5(int)。規定値:1
  • w
    音量バーの横幅。範囲:40 – 1080(int)。規定値:400
  • h
    音量バーの縦幅。範囲:1 – 100(int)。規定値:20
  • f
    バーのフェード。小さい値ほど影が残る。範囲:1 – 255(int)。規定値:20
  • c
    バーの色を指定。色名指定はできない。色指定は 0xaabbggrr 形式
    VOLUME は 0dB を示す。if文を使って音量によって色を変えることも出来る
    規定値:if(gte(VOLUME,-2), if(gte(VOLUME,-1),0xff, 0xffff),0xff00)
    0dB から -1dB 未満は 0xff(red), -1dB から -2dB 未満は 0xffff(yellow),
    -2dB 以下は 0xff00(lime)
  • t
    バーにチャンネル名を乗せる。規定値:1

動画にオーバーレイするコマンド例

showvolume は音声を映像に変えるフィルタなので vf, af が使えず、lavfi で読み込むか、filter_complex を使う。

コマンドは四隅の2方向、計8コマンド
showvolume で規定値のままオーバーレイすると透過して見えないので colorkey を使って見えるようにしている。colorkey を使わない場合は透過色を変更する。

  • 左上、右方向
    ffmpeg -i input -filter_complex showvolume,colorkey=black:.5[a];[0:0][a]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 左上、下方向
    ffmpeg -i input -filter_complex showvolume,transpose=cclock_flip,colorkey=black:.5[a];[0:0][a]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 左下、右方向
    ffmpeg -i input -filter_complex showvolume,colorkey=black:.5[a];[0:0][a]overlay=0:H-h -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 左下、上方向
    ffmpeg -i input -filter_complex showvolume,transpose=cclock,colorkey=black:.5[a];[0:0][a]overlay=0:H-h -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 右上、左方向
    ffmpeg -i input -filter_complex showvolume,hflip,colorkey=black:.5[a];[0:0][a]overlay=W-w:0 -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 右上、下方向
    ffmpeg -i input -filter_complex showvolume,transpose=cclock_flip,colorkey=black:.5[a];[0:0][a]overlay=W-w:0 -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 右下、左方向
    ffmpeg -i input -filter_complex showvolume,hflip,colorkey=black:.5[a];[0:0][a]overlay=W-w:H-h -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
  • 右下、上方向
    ffmpeg -i input -filter_complex showvolume,transpose=cclock,colorkey=black:.5[a];[0:0][a]overlay=W-w:H-h -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -

FFmpeg Filters Documentation :: transpose
colorkey を使ってバーの黒い部分を透過させている:ffmpeg でクロマキー合成

音量でバーの色を変える発展的な使い方

showvolume の色を変更しないと透過の規定値が ff なので動画にオーバーレイするとバーが見えなくなる。特定文字はエスケープしないとエラーになるのを注意する。

-6dB なのでバーの色は lime になる
ffplay -f lavfi aevalsrc="sin(440*2*PI*t):s=8000,volume=1/2,showvolume"

透過が規定値なのでバーが見えない
ffmpeg -f lavfi -i color=white:size=512x384 -f lavfi -i aevalsrc="sin(440*2*PI*t):s=8000,volume=1/2,showvolume" -filter_complex [0:0][1:0]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -

バーの色を 0x7f00ff00(lime) 指定して見える
ffmpeg -f lavfi -i color=white:size=512x384 -f lavfi -i aevalsrc="sin(440*2*PI*t):s=8000,volume=1/2,showvolume=c=0x7f00ff00" -filter_complex [0:0][1:0]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -

出力例(color=0xf0f0ff)


2つの条件で色を変える場合
-6dB 未満は 0x7f00ff00(lime)、-6dB 以上は 0x7f00ffff(yellow)
ffmpeg -i input -filter_complex showvolume=c="if(lte(VOLUME\,-6)\,0x7f00ff00\, 0x7f00ffff)"[a];[0:0][a]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -

3つの条件で色を変える場合
-6dB 以下は 0x7f00ff00(lime)、-6dB から -4dB 未満は 0x7f00ffff(yellow)、-4dB 以上は 0x7f0000ff(red)
ffmpeg -i input -filter_complex showvolume=c="if(lte(VOLUME\,-4)\, if(lte(VOLUME\,-6)\,0x7f00ff00\, 0x7f00ffff)\,0x7f0000ff)"[a];[0:0][a]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -
showvolume で透過を変更すると思ったように変えられないので、透過具合を colorchannelmixer で変更する
最後の 2 がポイントで 1 以上にすれば色が濃くなり、1 未満にすると色が薄くなる
ffmpeg -i input -filter_complex showvolume=c="if(lte(VOLUME\,-4)\, if(lte(VOLUME\,-6)\,0x7f00ff00\, 0x7f00ffff)\,0x7f0000ff),colorchannelmixer=1:0:0:0:0:1:0:0:0:0:1:0:0:0:0:2"[a];[0:0][a]overlay -vcodec rawvideo -acodec pcm_s16le -f avi pipe: | ffplay -

ffmpeg で使える計算書式
colorchannelmixer の使い方


ffmpeg でヒストグラムを表示する

$
0
0

動画編集ツールによくあるヒストグラムを表示する histogram フィルタの使い方。

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

続きを読む

オプション

  • mode
    • levels
      Y, U, V, A または R, G, B, A のチャンネルをそれぞれ表示する。一つのチャンネルの解像度は 256×212
    • color
      クロマ値を2次元グラフで表示する。解像度は 256×256
    • color2
      color と似ているが、背景カラーが表示されない。
    • waveform
      Y, U, V の波形を表示する。解像度の縦が入力映像の横と等しくなる。横は 768
  • level_height
    levels モードの画面の高さ。規定値:200
    指定範囲:50, 2048
  • scale_height
    levels モードの画面の下の色の高さ。規定値:12
    指定範囲:0, 40
  • step
    waveform モードで似たような輝度がどれくらいあるのか階段状に表示する。規定値:10
    指定範囲:1, 255
  • waveform_mode
    waveform モードで縦横の表示方法。規定値:row
    指定値:row(縦), column(横)
  • waveform_mirror
    waveform モードで左右反転して表示するかどうか。規定値:0
  • display_mode
    levels と waveform モードでチャンネルを個別に表示するかどうか
    規定値:parade
    指定値:parade(個別), overlay(一緒)
  • levels_mode
    levels モードの表示方法。規定値:linear
    指定値:linear, logarithmic

基本コマンド

ffplay -f lavfi -i mandelbrot -vf histogram=mode=levels:level_height=200:scale_height=12:display_mode=parade:levels_mode=linear

モード別表示内容

  • levels(RGBA)


    ffmpeg -f lavfi -i mandelbrot -vf histogram=mode=levels -vframes 1 histogram_levels.png

  • color


    ffmpeg -f lavfi -i mandelbrot -vf histogram=mode=color -vframes 1 histogram_color.png

  • color2


    ffmpeg -f lavfi -i mandelbrot -vf histogram=mode=color2 -vframes 1 histogram_color2.png

  • waveform(RGBA)


    ffmpeg -f lavfi -i mandelbrot -vf histogram=mode=waveform -vframes 1 histogram_waveform.png

応用例

映像フィルタを当てる前と後の映像をヒストグラムを含めてプレビューすることも出来る。解像度によっては全てのヒストグラムを載せられないので配置位置を工夫する。以下のコードは 16:9 の解像度限定であるが、最初に下の pad フィルタを加えることで 16:9 以外の解像度にも簡易的に対応できる。

pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

  • levels と waveform を表示する(720p未満)
    [d]で比較するフィルタを当てる
  • levels, color2 と waveform を表示する(720p未満)
    [g]で比較するフィルタを当てる
  • levels, color2 と waveform を表示する(720p以上)
    [e]で比較するフィルタを当てる

ニコ生で高画質配信する複合フィルタの例

$
0
0

明暗の度合いでもマスクできるのでこれを応用して一つの映像に複数のフィルタを使い分ける方法。特定色なら colorkey フィルタを使ってマスクすることもできる。一般的には映像をシャープにするほど容量は大きく、ぼかすほど容量は小さくなるので、シャープとぼかしを使い分けて高画質配信を目指す。

colorkey の使い方:ffmpeg でクロマキー合成

なぜぼかしも併用するかと言えばビットレートの節約になるのも正しいが、ニコ生のようなビットレート制限が厳しいところでは、低解像度で暗くて見えにくい部分にビットレートをたくさん割り当てる必要はないからである。

以下の方法はグレースケール(白黒)のマスクで白に近いほど強くフィルタが当たるので必要に応じて条件を変える。つまり真っ白のときに指定したフィルタが 100% 当たる。普段使っているフィルタだと平均的に効果が弱くなるので、いつも以上に強めにしないと以前と同様の効果は得られない。

RGB 処理を行うので RGB 読み込みの出来る入力デバイス、例えば SCFF は読み込みに -pixel_format bgr0 を追加して最初から RGB で読み込むようにする。

bgr0 指定にすることで RGB 読み込みになる。規定値は YUV 読み込み。
ffplay -rtbufsize 100MB -f dshow -pixel_format bgr0 -i video="SCFF DirectShow Filter" -vf histogram
ffplay -rtbufsize 100MB -f dshow -i video="SCFF DirectShow Filter" -vf histogram

ffmpeg でヒストグラムを表示する

続きを読む

フィルターチェーンの説明

  • 最初に明暗を調べるために映像をグレースケール化 format=gray して RGB を揃える。
  • 明るい色ほどフィルタを強める場合と一定以上の色は一律にフィルタを掛ける方法の2パターンがあり、lutrgb で条件をつける。
  • 同様に暗い色ほどフィルタを掛けるには明るい場合とは逆になるので、curves=negative で白黒を反転させて lutrgb で条件をつける。
  • フィルタを掛けた映像とマスクした映像を alphamerge で併せてマスクした部分にだけフィル タを当てる。
  • 最後に overlay して、マスクが映像に反映される。
フィルタの聞き具合を調べるグレースケール画像サンプル


「grayscale」で画像検索すればたくさん画像が見つかる。

条件に使える書式:ffmpeg で使える計算書式
公式ドキュメント:FFmpeg Utilities Documentation :: Expression Evaluation

明るい部分にフィルタを当てる

効果がわかりやすいように noise フィルタを掛けている
RGB それぞれ 50未満は 0 になる、50以上はそのままの値を返す
ffplay -i input -vf split=3[x][y][z];[x]format=gray,lutrgb=r="if(val\, if(gt(val\,50)\,val\)\,0)":g="if(val\, if(gt(val\,50)\,val\)\,0)":b="if(val\, if(gt(val\,50)\,val\)\,0)"[al];[y]noise=alls=100:allf=t+u[a1];[a1][al]alphamerge[alpha];[z][alpha]overlay

暗い部分にフィルタを当てる

効果がわかりやすいように noise フィルタを掛けている
RGB を反転して 190より大きければそのまま、190以下は 0 を返す
ffplay -i input -vf split=3[x][y][z];[x]format=gray,curves=negative,lutrgb=r="if(val\, if(gt(val\,190)\,val\)\,0)":g="if(val\, if(gt(val\,190)\,val\)\,0)":b="if(val\, if(gt(val\,190)\,val\)\,0)"[al];[y]noise=alls=100:allf=t+u[a1];[a1][al]alphamerge[alpha];[z][alpha]overlay

明るい部分と暗い部分に同時にフィルタを当てる

明るい部分には unsharp、暗い部分には smartblur を掛けている

Windows の ffmpeg で生放送する方法 :: unsharp
FFmpeg Filters Documentation :: smartblur

2015年6月のニコ生統計

$
0
0

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

続きを読む

30分の放送に限った来場者数とコメント数の平均と中央値

第一四分位数は下位25%の位置のコメント数、第三四分位数は上位25%の位置のコメント数。 弾幕放送の割合が増えるので一律に6000以上の来場者とコメントは除外している。

来場者数 12月 2015年1月 2月 3月 4月 5月 6月
最小値 0 0 0 0 0 0 0
第一四分位数 7 8 8 7 7 8 8
中央値 14 15 15 15 15 15 15
平均 30.53 31.41 31.72 31.24 31.30 32.47 31.40
第三四分位数 27 29 29 28 28 29 28
最大値 5,926 5,929 5976 5,989 5,842 5,949 5,951
コメント数 12月 2015年1月 2月 3月 4月 5月 6月
最小値 0 0 0 0 0 0 0
第一四分位数 9 8 8 7 7 7 7
中央値 33 32 32 30 30 31 31
平均 57.65 56.95 57.09 55.91 56.02 57.16 56.92
第三四分位数 73 71 71 69 69 70 70
最大値 5,918 5,988 5,997 5,999 5,999 5,994 5,999

カテゴリタグとそれ以外のタグの割合

カテゴリタグの割合

カテゴリタグ 2015年6月 割合 前月比 カテゴリタグ 2015年5月 割合
ゲーム 2,155,100 66.52% 0.18% ゲーム 2,364,343 66.34%
一般(その他) 778,266 24.02% -0.26% 一般(その他) 865,471 24.28%
歌ってみた 105,195 3.25% -0.07% 歌ってみた 118,505 3.32%
描いてみた 93,867 2.90% 0.13% 描いてみた 98,801 2.77%
動画紹介 31,531 0.97% 0.02% 動画紹介 33,746 0.95%
演奏してみた 24,016 0.74% 0.00% 演奏してみた 26,309 0.74%
R18 18,285 0.56% -0.04% R18 21,369 0.60%
動物 10,837 0.33% 0.04% 政治 10,809 0.30%
政治 9,167 0.28% -0.02% 動物 10,291 0.29%
料理 6,192 0.19% -0.02% 料理 7,413 0.21%
講座 4,742 0.15% 0.01% 講座 4,969 0.14%
踊ってみた 2,481 0.08% 0.02% 踊ってみた 2,135 0.06%
放送数合計 3,239,679 -319,904 放送数合計 3,564,161

カテゴリタグ以外のタグの上位100選

2015年6月 2015年5月
ランク タグ名 総数 割合 前月比 タグ名 総数 割合
1 雑談 490,078 15.13% -0.35% 雑談 551,677 15.48%
2 初見歓迎 351,633 10.85% -0.03% 初見歓迎 388,071 10.89%
3 顔出し 312,792 9.66% 0.01% 凸待ち 350,794 9.84%
4 凸待ち 312,095 9.63% -0.21% 顔出し 343,809 9.65%
5 PS4ゲーム配信 289,219 8.93% -0.23% PS4ゲーム配信 326,309 9.16%
6 クルーズ待ち 224,806 6.94% -0.06% クルーズ待ち 249,600 7.00%
7 艦これ 141,458 4.37% -1.37% 艦これ 204,446 5.74%
8 過疎 111,765 3.45% -0.09% 過疎 126,122 3.54%
9 初心者 104,066 3.21% 0.08% 過疎放送 113,604 3.19%
10 スプラトゥーン 102,806 3.17% 2.60% 初心者 111,730 3.13%
11 過疎放送 101,047 3.12% -0.07% 初見さん歓迎 107,258 3.01%
12 初見さん歓迎 98,001 3.03% 0.02% PS3 94,491 2.65%
13 PS3 79,756 2.46% -0.19% まったり 83,404 2.34%
14 LoL 77,864 2.40% 0.07% LoL 83,255 2.34%
15 まったり 75,900 2.34% 0.00% Minecraft 66,248 1.86%
16 Splatoon 61,078 1.89% 1.50% FPS 62,159 1.74%
17 パズドラ 56,845 1.75% 0.05% パズドラ 60,783 1.71%
18 Minecraft 56,122 1.73% -0.13% スマートフォン配信 59,711 1.68%
19 FPS 55,294 1.71% -0.04% PS4 58,305 1.64%
20 イケボ 52,837 1.63% 0.03% イケボ 57,166 1.60%
21 LoVA 52,411 1.62% #N/A AVA 54,961 1.54%
22 スマートフォン配信 51,039 1.58% -0.10% gdgd 54,784 1.54%
23 gdgd 48,487 1.50% -0.04% PSO2 51,181 1.44%
24 Steam 48,443 1.50% 0.14% レトロゲーム 49,204 1.38%
25 PS4 47,470 1.47% -0.17% Bloodborne 48,717 1.37%
26 AVA 46,776 1.44% -0.10% 声真似 48,682 1.37%
27 PSO2 46,771 1.44% 0.01% Steam 48,222 1.35%
28 レトロゲーム 45,963 1.42% 0.04% 艦隊これくしょん 46,612 1.31%
29 WiiU 42,644 1.32% 0.53% ドラクエ10 42,963 1.21%
30 声真似 42,458 1.31% -0.06% 東方 42,061 1.18%
31 FF14 40,477 1.25% 0.14% ポケモン 41,159 1.15%
32 白猫プロジェクト 37,496 1.16% 0.20% FF14 39,654 1.11%
33 ドラクエ10 36,123 1.12% -0.09% マインクラフト 39,503 1.11%
34 パチスロ 34,172 1.05% -0.03% パチスロ 38,791 1.09%
35 東方 33,998 1.05% -0.13% アニメ 37,854 1.06%
36 初見プレイ 33,708 1.04% 0.04% モンスト 36,158 1.01%
37 Destiny 33,633 1.04% 0.05% 初見プレイ 35,787 1.00%
38 EXVSFB 33,512 1.03% 0.08% Destiny 35,188 0.99%
39 モンスト 33,442 1.03% 0.02% 白猫プロジェクト 34,189 0.96%
40 ポケモン 33,311 1.03% -0.13% EXVSFB 34,048 0.96%
41 アニメ 33,218 1.03% -0.04% ガンダムオンライン 34,000 0.95%
42 艦隊これくしょん 31,953 0.99% -0.32% ボカロ 32,959 0.92%
43 ガンダムオンライン 31,777 0.98% 0.03% 黒い砂漠 32,217 0.90%
44 マインクラフト 31,228 0.96% -0.14% 車載 31,618 0.89%
45 ボカロ 31,179 0.96% 0.04% 31,497 0.88%
46 30,916 0.95% 0.07% WoT 30,839 0.87%
47 白猫 29,593 0.91% 0.10% コメント募集 30,459 0.85%
48 車載 28,650 0.88% 0.00% ウル4 29,837 0.84%
49 Battlefield_4 28,400 0.88% 0.12% マイクラ 29,462 0.83%
50 PC 27,771 0.86% 0.04% 麻雀 29,211 0.82%
51 Bloodborne 27,532 0.85% -0.52% 白猫 28,995 0.81%
52 ウル4 26,118 0.81% -0.03% PC 28,959 0.81%
53 黒い砂漠 25,930 0.80% -0.10% RTA 28,533 0.80%
54 麻雀 25,758 0.80% -0.02% WiiU 27,858 0.78%
55 WoT 25,384 0.78% -0.08% BF4 26,931 0.76%
56 BF4 25,371 0.78% 0.03% Battlefield_4 26,806 0.75%
57 コメント募集 25,262 0.78% -0.07% 弾幕歓迎 26,622 0.75%
58 マイクラ 24,387 0.75% -0.07% アニソン 25,780 0.72%
59 弾幕歓迎 23,941 0.74% -0.01% MH4G 25,406 0.71%
60 アニソン 22,586 0.70% -0.03% GTA5 25,337 0.71%
61 おっさん 22,562 0.70% 0.04% JK 24,876 0.70%
62 MH4G 22,243 0.69% -0.03% osu! 24,707 0.69%
63 osu! 21,511 0.66% -0.03% マリオカート8 24,478 0.69%
64 RTA 20,824 0.64% -0.16% スマブラ 23,735 0.67%
65 JK 20,521 0.63% -0.06% おっさん 23,517 0.66%
66 ホラー 20,011 0.62% 0.03% ポケモンORAS 23,048 0.65%
67 ポケモンORAS 19,758 0.61% -0.04% BO2 21,441 0.60%
68 SA 19,262 0.59% 0.02% ホラー 20,843 0.58%
69 GTA5 18,801 0.58% -0.13% スプラトゥーン 20,482 0.57%
70 サドンアタック 18,255 0.56% 0.02% SA 20,374 0.57%
71 スマブラ 17,869 0.55% -0.11% 刀剣乱舞 20,192 0.57%
72 イケメン 17,436 0.54% 0.01% サドンアタック 19,535 0.55%
73 刀剣乱舞 17,013 0.53% -0.04% CoD 19,264 0.54%
74 作業用BGM 16,873 0.52% -0.01% 作業用BGM 18,941 0.53%
75 ガンオン 16,648 0.51% 0.05% 天鳳 18,916 0.53%
76 初見さん大歓迎 16,451 0.51% 0.06% イケメン 18,762 0.53%
77 BO2 16,387 0.51% -0.10% バトルフィールド_ハードライン 18,299 0.51%
78 癒しボイス 16,176 0.50% 0.00% 癒しボイス 17,647 0.50%
79 天鳳 15,914 0.49% -0.04% 癒し 17,219 0.48%
80 CoD 15,666 0.48% -0.06% ドラクエ 17,129 0.48%
81 癒し 15,666 0.48% 0.00% PCゲーム 16,677 0.47%
82 メンヘラ 15,170 0.47% 0.05% ガンオン 16,645 0.47%
83 PCゲーム 14,911 0.46% -0.01% DQX 15,899 0.45%
84 マリオカート8 14,506 0.45% -0.24% 初見さん大歓迎 15,816 0.44%
85 ウィッチャー3_ワイルドハント 14,408 0.44% 0.08% フリーゲーム 15,515 0.44%
86 北海道 14,314 0.44% 0.01% DARK_SOULS_Ⅱ_SCHO… 15,437 0.43%
87 バトルフィールド_ハードライン 14,093 0.44% -0.08% 北海道 15,353 0.43%
88 MHF 13,850 0.43% 0.01% Call_of_Duty__Adv… 15,052 0.42%
89 DQX 13,830 0.43% -0.02% MHF 15,001 0.42%
90 ドラクエ 13,828 0.43% -0.05% メンヘラ 14,996 0.42%
91 ギター 13,665 0.42% 0.01% ギター 14,853 0.42%
92 H1Z1 13,468 0.42% 0.11% 相談 14,417 0.40%
93 Grand_Theft_Auto_V 13,445 0.42% 0.05% BFH 14,294 0.40%
94 Minecraft__PlaySt… 13,436 0.41% 0.02% Minecraft__PlaySt… 14,137 0.40%
95 相談 12,679 0.39% -0.01% Splatoon 13,881 0.39%
96 PITACoreBox 12,599 0.39% 0.03% ファイナルファンタジーXIV__新… 13,773 0.39%
97 VOCALOID 12,500 0.39% 0.01% 遊戯王 13,680 0.38%
98 Call_of_Duty__Adv… 12,334 0.38% -0.04% VOCALOID 13,501 0.38%
99 FEZ 11,944 0.37% -0.01% FEZ 13,486 0.38%
100 関西弁 11,694 0.36% 0.02% ラブライブ 13,053 0.37%

月間ユニークコミュID数

2015年1月 2月 3月 4月 5月 6月
総配信数 3,266,661 3,309,586 3,626,836 3,259,886 3,568,606 3,244,257
総ID数 114,399 114,243 119,742 113,171 116,634 109,264

ffmpeg できれいにロゴを消す方法

$
0
0

ffmpeg には標準でロゴを消すフィルタがあるが、以前紹介した特定の場所にだけフィルタを当てる方法と、ロゴ消しに適したロゴデータの作り方を交えてロゴをきれいに消す方法。

ffmpeg でロゴを消すフィルタと言えば、removelogodelogo があるが、ロゴデータを元にロゴを消すのが removelogo で、座標を指定して周りの色でブレンドするのが delogo である。

続きを読む

ロゴ画像を用意する

最初にロゴを消す映像と同じ解像度で同じ位置にある白黒のロゴデータを用意する。ロゴの色は白でロゴ以外の背景は黒にするときれいにロゴが消える。このロゴをきれいに作ることで removelogo フィルタだけできれいにロゴを消すことができる。

ロゴ画像を動画から探すには blackframe フィルタでフレーム単位で見つけることができる。crop して画面の対象範囲を小さくすれば処理速度を上げられるが、小さすぎても精度が悪くなるので4分の1程度とする。今回はインターレース素材の 1920×1080, 30000/1001 fps で本編は 24000/1001 fps の動画とする。

blackframe を使うと動画によっては候補が数千にも及ぶが区間の最初と最後の I-frame を除いた I-frame を候補として、全ての画像を出力したものから一番容量の少ないのを使うのが自動処理では一番きれいなロゴ画像が作れる。field を使うことで片フィールドを対象とし crop も併用することで処理速度を上げている。

ffmpeg -i input -an -vf field=0,crop=iw/2:ih/2:iw/2:0,blackframe=amount=99 -f null - > logo.txt 2>&1

logo.txt から読み込み開始時点を調べる。ここでロゴ座標を crop で指定する。AviSynth や AviUtl で使われているロゴデータを持っている人ならその座標を参考にしてもよい。

ffmpeg それ自体では座標を知ることは難しそうなのでここは目視をするか、放送局ごとに予めデータがあるとよい。

crop の最初の2つの引数が画像の解像度、3,4番目の引数がロゴ座標のオフセット。format でグレースケール変換して処理を簡略する。
ffmpeg -ss <seconds> -i input -vf yadif=0:-1:1,decimate,crop=160:48:1700:30,format=gray -vframes 1 logo.png

ロゴ画像が出来たら removelogo で使うロゴ画像を pad で黒い余白を追加する。
removelogo は .bmp 形式限定なのでそれで出力する。

lutrgb で真っ黒になっていない微妙な部分を修正して、colorchannelmixer でロゴを白に色を変え、padcrop と同じように最初の2つの引数が画像の解像度、3,4番目の引数がロゴ座標のオフセットで余白をつける。

ロゴ画像を調整するにはここのフィルタを色々試す必要があり、予めグレースケールにした画像に val-3 で各 RGB の +3 まで 0 にできる。colorchannelmixer で一番明るい部分が 255 になりエッジ部分がうまくグラデーションするように調整する。
ffmpeg -i logo.png -vf lutrgb=r=val-3:g=val-3:b=val-3,colorchannelmixer=1.25:1.25:1.25:0:1.25:1.25:1.25:0:1.25:1.25:1.25:0,pad=1920:1080:1700:30 -y logo.bmp

removelogo に弱点があるとしたら急激な明暗の反転シーンや、ロゴ周辺で明度が急激に変わっているところ、ロゴ自体がシーンチェンジで不明確になっているところなどでロゴの輪郭が少し残る。
ffplay -i input -vf yadif=0:-1:1,decimate,removelogo=logo.bmp

ロゴ部分に unsharp を使ってぼかすこともできる。2入力するので ffplay で直接再生できない。
ffmpeg -i input -loop 1 -i logo.png -filter_complex [0:0]yadif=0:-1:1,decimate,removelogo=logo.bmp,split[b0][c0];[b0]crop=160:48:1700:30,unsharp=5:5:-1.5:5:5:0.0[unsharp];[unsharp][1:0]alphamerge[ab];[c0][ab]overlay=1700:30 output

特定部位にフィルタを当てる方法はこちらを参照。
ニコ生で高画質配信する複合フィルタの例
使ったフィルタの公式ドキュメント

ブログで取り上げたフィルタ

フィルタ別の出力サンプル画像

removelogo はロゴ周辺の色の変化が少ない場面はきれいに消えるので、そうではないロゴがきれいに消えていない場面での出力比較。

オリジナル1

removelogo だけ

removelogo と unsharp

オリジナル2

removelogo だけ

removelogo と unsharp

オリジナル3

removelogo だけ

removelogo と unsharp

H.264/AVC でシークしやすい中間出力ファイルに変換する

$
0
0

適宜音声フォーマットでコピーできない場合はそれに変える。
-qp 0 は可逆圧縮、-g 1 は全フレームが I-frame になりシークバーが動かしやすくなる。

出力は YUV444
ffmpeg -i input -vcodec libx264 -qp 0 -g 1 -tune fastdecode -acodec copy output.mp4

RGB 出力の場合
ffmpeg -i input -vcodec libx264rgb -qp 0 -g 1 -tune fastdecode -acodec copy output.mp4

ffmpeg でインターレース解除

$
0
0

ffmpeg でインタレ解除をするにはいくつかの方法があるので目的に合わせてインタレを解除する。

  • とにかく高速でインタレ解除して 24fps化したい(重複フレームは多少ある)
    pullup,fps=24000/1001
  • 一般的な使い方ならこれで十分の 24fps化(重複フレームはあまりない)
    yadif=0:-1:1,decimate
  • スクロールが多い場合はこちらの方がいいかもしれない 24fps化
    yadif,decimate
  • yadif ではなく IVTC を使って 24fps化
    fieldmatch=order=tff:combmatch=none,decimate
  • IVTC と yadif を併用して 24fps化(かなり遅い)
    fieldmatch=order=tff:combmatch=full,yadif,decimate
  • NTSC に 60i が混在している場合
    w3fdif

公式ドキュメント

ロゴ消しはこちら:ffmpeg できれいにロゴを消す方法

映像を逆再生にエンコードする

$
0
0

reverse を使って逆再生にエンコードする。ただし音声の逆再生は未対応なので別のアプリケーションを使う必要がある。trim 必須なので予めカットしておいた方が処理速度は速い。

reverse は最近追加されたフィルタなので最新Git を利用する。
avfilter: Add reverse filter :: git.videolan.org Git – ffmpeg.git/commitdiff

trim フィルタの使い方

基本コマンド

開始10秒から20秒までを取り込んで20秒から10秒にする
ffmpeg -i input -vf trim=10:20,reverse -an output

複数の時点を逆再生してつなげる場合は concat でつなげる後ろの PTS を 0 に変える。この場合は 30秒から 10秒まで
ffmpeg -i input -vf split[a][b];[a]trim=10:20,setpts=PTS-STARTPTS,reverse[a1];[b]trim=20:30,reverse[b1];[b1][a1]concat=2:1:0 -an output

20秒から 10秒まで、30秒から 20秒まで
ffmpeg -i input -vf split[a][b];[a]trim=10:20,reverse[a1];[b]trim=20:30,setpts=PTS-STARTPTS,reverse[b1];[a1][b1]concat=2:1:0 -an output

【ffmpeg】動画・音声を連結する concat の使い方

公式ドキュメント


ffmpeg で聞き取りやすい音量に変える

$
0
0

大きすぎる音は小さく、小さい音は大きく聞き取りやすい音量に変える音量ノーマライザフィルタ。雑談などの声中心なら聞こえやすくなるので効果的で、急に音量が変わって聞き取りにくい音声を修正するのにも使える。

音量を調べるには showwavespicebur128volumedetect などがある。

サンプリング周波数を一枚画像で出力する showwavespic
適切な音量が調べられる ffmpeg の ebur128 の使い方

volumedetect の使い方
ffmpeg -i input -vn -af volumedetect -f null -

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

オプション

オプションの詳細は公式ドキュメントを参照。

  • f
    ミリ秒当たりのフレームの長さ。10 から 8000 まで
    規定値:500
  • g
    ガウスフィルタの適応幅。3 から 301 までの奇数
    規定値:31
  • p
    ピーク音量の設定。
    規定値:.095(変えるのは非推奨)
  • m
    最大ゲインの設定。1.0 から 100.0 まで
    規定値:10.0
  • r
    目標RMS(二乗平均平方根) の設定。0.0 から 1.0 まで
    規定値:0.0
  • n
    それぞれのチャンネルに同様のフィルタを当てる。
    規定値:1
  • c
    DCバイアス補正。
    規定値:0
  • b
    別の境界補正の設定。
    規定値:0
  • s
    古典的な圧縮方法を使う。0.0 から 30.0 まで
    規定値:0.0

基本コマンド

ffmpeg -i input -af dynaudnorm output

差分を手軽に調べるには showwavespic を使う
ffmpeg input -vn -filter_complex dynaudnorm,showwavespic dynaudnorm.png
ffmpeg input -vn -filter_complex showwavespic non-dynaudnorm.png

ffmpeg で後ろから読み込みが可能に

$
0
0

通常読込時点の指定には -ss で最初からの経過秒を指定していたが、これからは最後からの秒を指定できるようになった。2015年7月30日のコミットなので最新のGit から利用する。

対象コミット:ffmpeg: Implement support for seeking relative to EOF :: git.videolan.org Git – ffmpeg.git/commitdiff

公式ドキュメント:ffmpeg Documentation :: Main options

使い方

-sseof でマイナス時間を指定する。書式は hh:mm:ss[.xxx], ss[.xxx] 規定値では最後から指定時間だけ出力される。
ffmpeg -sseof -<seconds> -i input output

-t も併用することで時間の調整も出来る。
ffmpeg -sseof -<seconds> -i input -t <seconds> output

kakoroku で公式の長時間放送が全部保存できない原因について

$
0
0

コミュ掲示板の 7767 より、ホラー「監死カメラ」シリーズ48時間一挙放送/ホラー百物語 : lv228170627 の7番目以降の TS とコメントが保存できない理由と対処法について。

原因

48時間の一挙放送であるが、同じ内容の4回ループ放送で同じ内容の部分は同じデータを流しているために kakoroku が重複データとして扱い、2ループ目以降の TS やコメントが保存できない。

対処法

TS データは同じなので 7ファイル目以降を保存する必要は無いが、コメントファイルがこのままでは全部保存できないので別の方法を考える。

コメントを kakoroku 以外にコメビューで保存する方法と、自前にスクリプトを書いて過去コメントを保存して vpos に合わせてシフトと分割も一括する方法の2通りが考えられる。

コメントのシフトと分割については Win ユーザーなら NicomentXenoglossia を使う。

過去コメントはこの方法でも保存できる
アドレス入力でニコ生のコメントを表示する

入力した2つの音声にクロスフェードをかける acrossfade の使い方

$
0
0

1入力の最後の音量を絞りながら2入力の音量を徐々に上げてつなげるフィルタ。単純に音声ファイルをつなげるのなら concat を使う。

【ffmpeg】動画・音声を連結する concat の使い方

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

オプション

  • nb_samples, ns
    フェード部分のサンプリング周波数の指定。規定値:44100
  • duration, d
    前後それぞれのフェード時間。規定値は nb_samples だけ。つまり1入力の1秒分
  • overlap, o
    フェード部分を重ねるかどうか。規定値:1
  • curve1, c1
    1入力のフェードアウトの仕方の指定。
  • curve2, c2
    2入力のフェードインの仕方の指定。c1 と同様に afade の curve のオプションが使える
    FFmpeg Filters Documentation :: afade

基本コマンド

ffmpeg -i input1 -i input2 -filter_complex acrossfade output.wav

2015年7月のニコ生統計

$
0
0

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

30分の放送に限った来場者数とコメント数の平均と中央値

第一四分位数は下位25%の位置のコメント数、第三四分位数は上位25%の位置のコメント数。 弾幕放送の割合が増えるので一律に6000以上の来場者とコメントは除外している。

来場者数 12月 2015年1月 2月 3月 4月 5月 6月 7月
最小値 0 0 0 0 0 0 0 0
第一四分位数 7 8 8 7 7 8 8 7
中央値 14 15 15 15 15 15 15 14
平均 30.53 31.41 31.72 31.24 31.30 32.47 31.40 30.17
第三四分位数 27 29 29 28 28 29 28 27
最大値 5,926 5,929 5976 5,989 5,842 5,949 5,951 5,854
コメント数 12月 2015年1月 2月 3月 4月 5月 6月 7月
最小値 0 0 0 0 0 0 0 0
第一四分位数 9 8 8 7 7 7 7 7
中央値 33 32 32 30 30 31 31 31
平均 57.65 56.95 57.09 55.91 56.02 57.16 56.92 57.45
第三四分位数 73 71 71 69 69 70 70 71
最大値 5,918 5,988 5,997 5,999 5,999 5,994 5,999 5,977

 

カテゴリタグとそれ以外のタグの割合

カテゴリタグの割合

カテゴリタグ 2015年7月 割合 前月比 カテゴリタグ 2015年6月 割合
ゲーム 2,198,123 66.30% -0.22% ゲーム 2,155,100 66.52%
一般(その他) 799,088 24.10% 0.08% 一般(その他) 778,266 24.02%
歌ってみた 109,076 3.29% 0.04% 歌ってみた 105,195 3.25%
描いてみた 101,045 3.05% 0.15% 描いてみた 93,867 2.90%
動画紹介 31,648 0.95% -0.02% 動画紹介 31,531 0.97%
演奏してみた 24,907 0.75% 0.01% 演奏してみた 24,016 0.74%
R18 18,311 0.55% -0.01% R18 18,285 0.56%
動物 10,578 0.32% -0.01% 動物 10,837 0.33%
政治 10,105 0.30% 0.02% 政治 9,167 0.28%
料理 5,157 0.16% -0.03% 料理 6,192 0.19%
講座 4,687 0.14% -0.01% 講座 4,742 0.15%
踊ってみた 2,492 0.08% 0.00% 踊ってみた 2,481 0.08%
3,315,217 80,482 放送数合計 3,239,679

カテゴリタグ以外のタグの上位100選

2015年7月 2015年6月
ランク タグ名 総数 割合 前月比 タグ名 総数 割合
1 雑談 515,766 15.56% 0.43% 雑談 490,078 15.13%
2 初見歓迎 362,116 10.92% 0.07% 初見歓迎 351,633 10.85%
3 顔出し 316,289 9.54% -0.11% 顔出し 312,792 9.66%
4 凸待ち 312,897 9.44% -0.20% 凸待ち 312,095 9.63%
5 PS4ゲーム配信 291,547 8.79% -0.13% PS4ゲーム配信 289,219 8.93%
6 クルーズ待ち 225,875 6.81% -0.13% クルーズ待ち 224,806 6.94%
7 艦これ 141,335 4.26% -0.10% 艦これ 141,458 4.37%
8 過疎 112,440 3.39% -0.06% 過疎 111,765 3.45%
9 初心者 107,982 3.26% 0.04% 初心者 104,066 3.21%
10 初見さん歓迎 104,656 3.16% 0.13% スプラトゥーン 102,806 3.17%
11 過疎放送 102,434 3.09% -0.03% 過疎放送 101,047 3.12%
12 スプラトゥーン 102,012 3.08% -0.10% 初見さん歓迎 98,001 3.03%
13 LoL 85,155 2.57% 0.17% PS3 79,756 2.46%
14 PS3 83,257 2.51% 0.05% LoL 77,864 2.40%
15 まったり 77,790 2.35% 0.00% まったり 75,900 2.34%
16 Minecraft 61,110 1.84% 0.11% Splatoon 61,078 1.89%
17 FPS 59,410 1.79% 0.09% パズドラ 56,845 1.75%
18 Steam 55,185 1.66% 0.17% Minecraft 56,122 1.73%
19 パズドラ 54,993 1.66% -0.10% FPS 55,294 1.71%
20 Splatoon 54,572 1.65% -0.24% イケボ 52,837 1.63%
21 スマートフォン配信 54,093 1.63% 0.06% LoVA 52,411 1.62%
22 白猫プロジェクト 52,653 1.59% 0.43% スマートフォン配信 51,039 1.58%
23 イケボ 52,148 1.57% -0.06% gdgd 48,487 1.50%
24 レトロゲーム 49,500 1.49% 0.07% Steam 48,443 1.50%
25 AVA 49,144 1.48% 0.04% PS4 47,470 1.47%
26 PS4 48,879 1.47% 0.01% AVA 46,776 1.44%
27 PSO2 48,499 1.46% 0.02% PSO2 46,771 1.44%
28 gdgd 46,583 1.41% -0.09% レトロゲーム 45,963 1.42%
29 LoVA 43,678 1.32% -0.30% WiiU 42,644 1.32%
30 白猫 41,748 1.26% 0.35% 声真似 42,458 1.31%
31 声真似 41,519 1.25% -0.06% FF14 40,477 1.25%
32 FF14 41,389 1.25% 0.00% 白猫プロジェクト 37,496 1.16%
33 ポケモン 37,933 1.14% 0.12% ドラクエ10 36,123 1.12%
34 パチスロ 36,983 1.12% 0.06% パチスロ 34,172 1.05%
35 ドラクエ10 36,773 1.11% -0.01% 東方 33,998 1.05%
36 WiiU 36,749 1.11% -0.21% 初見プレイ 33,708 1.04%
37 初見プレイ 36,706 1.11% 0.07% Destiny 33,633 1.04%
38 東方 35,771 1.08% 0.03% EXVSFB 33,512 1.03%
39 アニメ 35,380 1.07% 0.04% モンスト 33,442 1.03%
40 モンスト 34,603 1.04% 0.01% ポケモン 33,311 1.03%
41 マインクラフト 33,953 1.02% 0.06% アニメ 33,218 1.03%
42 ボカロ 33,117 1.00% 0.04% 艦隊これくしょん 31,953 0.99%
43 EXVSFB 32,961 0.99% -0.04% ガンダムオンライン 31,777 0.98%
44 32,131 0.97% 0.01% マインクラフト 31,228 0.96%
45 ガンダムオンライン 31,072 0.94% -0.04% ボカロ 31,179 0.96%
46 Battlefield_4 30,636 0.92% 0.05% 30,916 0.95%
47 艦隊これくしょん 30,506 0.92% -0.07% 白猫 29,593 0.91%
48 WoWs 30,459 0.92% 0.71% 車載 28,650 0.88%
49 PC 29,983 0.90% 0.05% Battlefield_4 28,400 0.88%
50 Destiny 29,954 0.90% -0.13% PC 27,771 0.86%
51 マイクラ 29,776 0.90% 0.15% Bloodborne 27,532 0.85%
52 ウル4 28,988 0.87% 0.07% ウル4 26,118 0.81%
53 車載 28,961 0.87% -0.01% 黒い砂漠 25,930 0.80%
54 麻雀 27,290 0.82% 0.03% 麻雀 25,758 0.80%
55 BF4 26,729 0.81% 0.02% WoT 25,384 0.78%
56 コメント募集 24,811 0.75% -0.03% BF4 25,371 0.78%
57 弾幕歓迎 24,519 0.74% 0.00% コメント募集 25,262 0.78%
58 RTA 24,181 0.73% 0.09% マイクラ 24,387 0.75%
59 ホラー 23,964 0.72% 0.11% 弾幕歓迎 23,941 0.74%
60 MH4G 23,883 0.72% 0.03% アニソン 22,586 0.70%
61 アニソン 23,252 0.70% 0.00% おっさん 22,562 0.70%
62 WoT 23,221 0.70% -0.08% MH4G 22,243 0.69%
63 JK 23,058 0.70% 0.06% osu! 21,511 0.66%
64 osu! 22,843 0.69% 0.03% RTA 20,824 0.64%
65 おっさん 22,727 0.69% -0.01% JK 20,521 0.63%
66 ポケモンORAS 22,093 0.67% 0.06% ホラー 20,011 0.62%
67 H1Z1 20,551 0.62% 0.20% ポケモンORAS 19,758 0.61%
68 Bloodborne 20,528 0.62% -0.23% SA 19,262 0.59%
69 GTA5 19,956 0.60% 0.02% GTA5 18,801 0.58%
70 SA 19,819 0.60% 0.00% サドンアタック 18,255 0.56%
71 サドンアタック 19,358 0.58% 0.02% スマブラ 17,869 0.55%
72 初見さん大歓迎 19,346 0.58% 0.08% イケメン 17,436 0.54%
73 BO2 19,204 0.58% 0.07% 刀剣乱舞 17,013 0.53%
74 作業用BGM 17,845 0.54% 0.02% 作業用BGM 16,873 0.52%
75 イケメン 17,596 0.53% -0.01% ガンオン 16,648 0.51%
76 スマブラ 17,051 0.51% -0.04% 初見さん大歓迎 16,451 0.51%
77 Grand_Theft_Auto_V 16,903 0.51% 0.09% BO2 16,387 0.51%
78 癒しボイス 16,839 0.51% 0.01% 癒しボイス 16,176 0.50%
79 メンヘラ 16,410 0.49% 0.03% 天鳳 15,914 0.49%
80 天鳳 16,288 0.49% 0.00% CoD 15,666 0.48%
81 黒い砂漠 16,131 0.49% -0.31% 癒し 15,666 0.48%
82 PCゲーム 15,797 0.48% 0.02% メンヘラ 15,170 0.47%
83 ファイナルファンタジーXIV 15,601 0.47% 0.26% PCゲーム 14,911 0.46%
84 ガンオン 15,572 0.47% -0.04% マリオカート8 14,506 0.45%
85 癒し 15,404 0.46% -0.02% ウィッチャー3_ワイルドハント 14,408 0.44%
86 COD 15,124 0.46% -0.03% 北海道 14,314 0.44%
87 Call_of_Duty__Adv… 14,889 0.45% 0.07% バトルフィールド_ハードライン 14,093 0.44%
88 ドラクエ 14,832 0.45% 0.02% MHF 13,850 0.43%
89 DQX 14,654 0.44% 0.02% DQX 13,830 0.43%
90 グラブル 14,653 0.44% 0.10% ドラクエ 13,828 0.43%
91 ギター 14,584 0.44% 0.02% ギター 13,665 0.42%
92 北海道 14,517 0.44% 0.00% H1Z1 13,468 0.42%
93 Minecraft__PlaySt… 14,473 0.44% 0.02% Grand_Theft_Auto_V 13,445 0.42%
94 マリオカート8 14,241 0.43% -0.02% Minecraft__PlaySt… 13,436 0.41%
95 The_Last_of_Us_Re… 14,236 0.43% 0.11% 相談 12,679 0.39%
96 MHF 14,206 0.43% 0.00% PITACoreBox 12,599 0.39%
97 PS2 13,333 0.40% 0.06% VOCALOID 12,500 0.39%
98 ホラーゲーム 12,707 0.38% 0.08% Call_of_Duty__Adv… 12,334 0.38%
99 PITACoreBox 12,687 0.38% -0.01% FEZ 11,944 0.37%
100 相談 12,543 0.38% -0.01% 関西弁 11,694 0.36%

月間ユニークコミュID数

2015年1月 2月 3月 4月 5月 6月 7月
総配信数 3,266,661 3,309,586 3,626,836 3,259,886 3,568,606 3,244,257 3,320,161
総ID数 114,399 114,243 119,742 113,171 116,634 109,264 108,885
割合 3.50% 3.45% 3.30% 3.47% 3.27% 3.37% 3.28%
Viewing all 416 articles
Browse latest View live