月別アーカイブ: 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
続きを読む 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
続きを読む エッジ検出フィルタ 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
続きを読む 各チャンネルの音量を映像化する abitscope