音量のヒストグラムを映像化する ahistogram

現在までの音量とリアルタイムの音量をヒストグラムで表示するahistogramの使い方。

基本コマンド

ffplay -f lavfi amovie=input,ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace
ffmpeg -i audio -filter_complex ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace -c:a copy output

Continue reading “音量のヒストグラムを映像化する ahistogram”

ffmpeg 3.0 リリース

2016年2月15日 に ffmpeg 3.0 Einstein(アインシュタイン)がリリースされた。今回のリリースはメジャーアップデートとなり、2.8 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。

RELEASE NOTES for FFmpeg 3.0 “Einstein”

2.8 以降に取り込まれた機能の一覧
Changelog 2.8.1 to 3.0 < git.videolan.org Git

今回のアップデートの主な特徴

  • ffplay の挙動変更
  • MP4 の暗号化、復号対応
  • DTS-HD を外部ライブラリに頼らずフルサポート
  • DXVA2、VAAPI の VP9 ハードウェアデコード対応
  • libaacplus と libvo-aacenc のサポート打ち切りと内蔵AACエンコーダの品質向上
  • マスターにしか追加されていなかったフィルタの追加
  • HLS のセキュリティ対策(2.8.5以降)

Continue reading “ffmpeg 3.0 リリース”

360°動画を個別の視点に展開する transform

公式のフィルタではなく Facebook の github レポジトリで公開したフィルタ。

Next-generation video encoding techniques for 360 video and VR | Engineering Blog | Facebook Code | Facebook
facebook/transform

インストール方法は Building に書いてあるので省略。

Continue reading “360°動画を個別の視点に展開する transform”

ffmpeg 2.8.5 リリース

HLS を利用した脆弱性に対応した ffmpeg 2.8.5 がリリースされた。公開サーバで ffmpeg を利用している人や、出所不明のファイルを読み込むときに脆弱性を利用してローカルにあるデータがリモートのサーバに送信される危険性があるので更新が必須である。

ちなみに--disable-protocol=hlsで HLS を無効化することもできる。

FFmpegに脆弱性 | マイナビニュース

対応パッチ
avformat/hls: forbid all protocols except http(s) & file – ffmpeg.git/commitdiff
avformat/hls: More strict url checks – ffmpeg.git/commitdiff
avformat/hls: Even stricter URL checks – ffmpeg.git/commitdiff

今回のリリースはマイナーアップデートとセキュリティアップデートがメインで、前回と同様に新機能のフィルタ追加はない。
http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=refs/tags/n2.8.5
https://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=Changelog;hb=n2.8.5;hpb=n2.8.4

2015年12月のニコ生統計

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

Continue reading “2015年12月のニコ生統計”

ニコニコチャンネルのデータ

2015年12月30日時点の公開チャンネルのデータ
データは Google スプレッドシートにて公開
個別課金のチャンネルは調べられないので空欄になる
チャンネルID しか表示していないチャンネルはリンクはあるが公開されていない
非公開チャンネルは 283、月額有料チャンネルは 801
https://docs.google.com/spreadsheets/d/147RrPYq4h5nS8Mc6qMW-JVRlD_PH0Xt5aIEwbF637KI

お気に入り登録数はこちらから:ニコニコチャンネル カテゴリ別のお気に入り登録数ランキング
API はこちらから:ニコニコAPIリストwiki – ch.info

2015年11月のニコ生統計

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

Continue reading “2015年11月のニコ生統計”

2015年10月のニコ生統計

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

Continue reading “2015年10月のニコ生統計”

ffmpeg 2.8.2 リリース

今回も前回同様に修正がメインで新機能は追加されていない。ショートログを見ると分かるがあまりコミットされていない。

http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=refs/tags/n2.8.2

master で新たに追加されたフィルタでブログで紹介しているのは zscale filter だけである。
Zライブラリを使ったリサイズフィルタ zscale

master で公開されているフィルタはこちらから
git.videolan.org Git – ffmpeg.git/blob – Changelog

これとは別に Nvidia のハードウェアアクセレーションのリサイズパッチが Ubuntu 向けに公開されている。
http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf

輝度の段差を減らして容量を減らす試み

ffmpeg のフィルタで容量を減らすと言えばたいていの場合デノイズしてのっぺりさせてきたが、今回はデノイズではなくてYチャンネル(輝度)のステップを間引いて容量を減らしてみた。この方法のデメリットはのっぺりしたりぼやけたりはしないがステップが単純化されるのでグラデーションがきれいではなくなる(バンディングがのる)のと、処理が遅いのでリアルタイムエンコード(配信)向きである。

任意でステップを調整できるのでバンディングが目立つところを間引かずに他の所を間引くことで目立たないところで容量を減らすことができる。ステップの調整は映像の内容によって変えた方がきれいに見える。

追記 2015年11月6日 0時21分
可逆圧縮(utvideo)の時は確かに容量は減るのだが、不可逆圧縮(libx264)のときはかえって容量は増えて SSIM も悪くなる傾向にあるのでもう少し調べてみる。

追記 2015年11月11日
paletteuseではなくてlutyuvでも間引くことができるがわずかな効果しかない。Yチャンネルは修正しない方が無難かもしれない。

追記 2017年3月31日
見た目の変化がわかりにくい青色、YUV の U をデノイズした方がよい結果になるかも。使うフィルタはremovegrainを使う。

奇数の値を+1繰り上げる。繰り下げる場合は-1。偶数はそのまま。
lutyuv=y="if(mod(val,2),val,val+1)":u="if(mod(val,2),val,val+1)":v="if(mod(val,2),val,val+1)"

その他にremovegrainでそれぞれのチャンネルに個別にデノイズ処理する方法もある。

Windows の ffmpeg で生放送する方法 :: グレイン除去

追記ここまで

Continue reading “輝度の段差を減らして容量を減らす試み”