admin のすべての投稿

ニコ生の非低遅延モードについて

ユーザー生放送新配信HTML5版 非低遅延モードについて|ニコニコインフォ

用途概要

新配信番組は高画質かつ低遅延での視聴が可能となっております。そのためお使いの環境によっては負荷が高まり、映像が途切れる等の現象が起こる可能性がございます。

今回提供を開始いたしました非低遅延モードを選択すると遅延時間は延びてしまう一方で安定した視聴が可能となります。

慢性的に視聴が困難な場合一時的に回線状況が悪い際にご利用いただくことを推奨いたします。

具体的には各セグメント時間が通常の新配信では0.5秒になっているのが、非低遅延モードでは1.0秒になっている。マニフェストに記載してあるセグメント数はどちらも3つなので最低でも普通の新配信は0.5*3の1.5秒。非低遅延モードの新配信は1.0*3の3秒は遅延することになる。

関連記事
ffmpeg で Apple HTTP Live Streaming(HLS)を扱う

直線上の YUV, RGB の値を表示する oscilloscope

ffmpeg 3.4 から追加予定のフィルタ。直線上の YUV, RGB の平均値と最小値、最大値と波形が表示される oscilloscope フィルタの使い方。

基本コマンド

中央の平行方向で調べるコマンド例
ffmpeg -i input -vf oscilloscope=x=0.5:y=0.5:s=0.8:t=0.5:o=0.8:tx=0.5:ty=0.9:tw=0.8:th=0.3:c=7:g=1:st=1:sc=1 output
ffmpeg -i input -vf oscilloscope=0.5:0.5:0.8:0.5:0.8:0.5:0.9:0.8:0.3:7:1:1:1 output
ffplay -i input -vf oscilloscope=0.5:0.5:0.8:0.5:0.8:0.5:0.9:0.8:0.3:7:1:1:1

oscilloscope の表示例

16:9 の映像で調べる範囲と統計グラフの幅を 0.9 で揃えるコマンド例
ffplay "-i input -vf oscilloscope=s='0.9*16/hypot(9,16)':tw=0.9
公式ドキュメント:FFmpeg Filters Documentation : oscilloscope
続きを読む 直線上の YUV, RGB の値を表示する oscilloscope

矩形部分の YUV, RGB の値を表示する pixscope

ffmpeg 3.4 から追加予定のフィルタ。矩形部分の YUV, RGB の平均値と最小値、最大値、RMS と矩形の拡大も表示される pixscope フィルタの使い方。

基本コマンド

映像中央の縦横7ピクセルを調べて、統計グラフを右下に表示する
ffmpeg -i input -vf pixscope=x=0.5:y=0.5:w=7:h=7:o=0.5:wx=-1:wy=-1 output
ffmpeg -i input -vf pixscope=0.5:0.5:7:7:0.5:-1:-1 output
ffplay -i input -vf pixscope=0.5:0.5:7:7:0.5:-1:-1

pixscope フィルタの表示例

公式ドキュメント:FFmpeg Filters Documentation : pixscope
続きを読む 矩形部分の YUV, RGB の値を表示する pixscope

フリッカー(ちらつき) を低減する deflicker

ffmpeg 3.4 から追加予定のフィルタ。蛍光灯や昔の映像で数フレーム毎に明るくなったり暗くなったりするのを前後フレームから平均してちらつきを抑える deflicker フィルタの使い方。

基本コマンド

5フレーム前から輝度の平均が始まる
ffmpeg -i input -vf deflicker=s=5:m=0:bypass=0 output
ffplay -i input -vf deflicker=5:0:0

公式ドキュメント:FFmpeg Filters Documentation : deflicker
続きを読む フリッカー(ちらつき) を低減する deflicker

2017年8月のニコ生統計

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

続きを読む 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
続きを読む 2ファイル入力するフィルタの挙動設定 framesync

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

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

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

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