動画や画像のエッジ検出を行い、動画や画像に出力する。画像出力の場合はトレスの練習によく、動画の場合は別のツールを使ってクロマキー処理のためのマスク処理に使える。出力フォーマットは gray。そのほかのエッジ検出フィルタにconvolution、sobel、prewitt、robertsやがある。
NVIDIA の GPU エンコーダー NVENC の現状と今後について #GTC15
本文は2015年時点の話だが、2018年と2019年のファイルも公開されている。
2018年:https://on-demand.gputechconf.com/gtc/2018/presentation/s8601-nvidia-gpu-video-technologies.pdf
2019年:https://developer.download.nvidia.com/video/gputechconf/gtc/2019/presentation/s9331-nvidia-gpu-video-technologies-overview-applications-and-optimization-techniques.pdf
公式発表のPDFのまとめ:NVIDIA Corporation – Events & Presentations – Presentations
公開されている PDF から GPU エンコーディングの利点と活用方法を考える。
PDF:Slide 1 – S5613-Abhijit-Patait.pdf
Continue reading “NVIDIA の GPU エンコーダー NVENC の現状と今後について #GTC15”
2015年2月のニコ生統計
集計期間は週間のニコ生統計の2月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。
ドラゴンクエストヒーローズをクリアした
久しぶりに買ったコンシューマーゲームのドラゴンクエストヒーローズ 闇竜と世界樹の城 のクリアデータとか。
クリア時点でデータを取ってなかったので大凡のデータ。クリアした後はクエスト消化とアトラス討伐、小さなメダル集め、上級レシピ集めがメインになる。その他のやりこみ要素として最速クリアや、裏ボス討伐タイムアタック、最小討伐数クリア、低レベルクリアなどが考えられる。
2015年1月のニコ生統計
集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。
ffmpeg で 256色を最適化する palettegen, paletteuse
16×16(つまり256パターン)の色をパレットに一時出力し、それを使って色を最適化したファイルが出力する。これにより最適化されたアニメ-ションGIF(アニメGIF、AGIF)や、色の少ないPNG圧縮で効果が期待できる。
16×16 のパレットを作るpalettegenフィルタと、パレットを元に出力するpaletteuseフィルタに分けられる。
同じ256色までの減色フィルタにlatticepalフィルタが追加されたが、こちらは毎フレーム異なる減色から動画出力までを扱い、減色アルゴリズムも異なる。
| palettegen | latticepal | |
| 基本方式 | メディアンカット系 | FCC格子(面心立方格子)への量子化+色の削減 |
| 処理の流れ | 入力色を出現頻度付きで集計し、色の集まりを繰り返し分割して、各グループの代表色を選ぶ | 入力色を格子上の候補色に置き換え、色数が上限を超えたら影響の小さい色から削る |
| 選べる色 | 入力の色分布に合わせた代表色 | 格子上の候補色に制限される |
2023年1月4日のコミットでアルゴリズム周りで大きく改修された。
- A perceptual color space for image processing
- Porting OkLab colorspace to integer arithmetic
- avfilter/palette{gen,use}: add palette utils · FFmpeg/FFmpeg@31c5f26
Continue reading “ffmpeg で 256色を最適化する palettegen, paletteuse”
ffmpeg で同じ種類のウェブカメラを2台同時利用する
以前の記事でレジストリを書き換えてffmpegで表示されるデバイス名を変更して同時利用する記事を書いたが、今回はそんな危険なことをせずにffmpegそれ自体にそれぞれを識別する機能が追加されたのでそれを利用してウェブカメラを同時利用する方法。
QSV 対応の ffmpeg をつくる
ffmpeg で使える QSV(Intel Quick Sync Video)のビルド方法と使い方。CPU の世代によって使えるエンコーダ、デコーダ、オプションやフィルタが異なる。
- CPU の世代が分かる :Intel Core – Wikipedia
- hardware acceleration の Wiki :HWAccelIntro – FFmpeg
- 各世代のエンコード、デコードの対応表:Media Capabilities Supported by Intel Hardware、Hardware/QuickSync – FFmpeg、Intel Graphics Technology – Wikipedia、Intel Quick Sync Video – Wikipedia、GitHub – intel/media-driver、QSVEnc/GPUFeatures at master · rigaya/QSVEnc
- 2016年1月次点での公式のベンチマーク PDF :Intel® Quick Sync Video and FFmpeg Performance – cloud-computing-quicksync-video-ffmpeg-white-paper.pdf
- Intel® Iris® Xeのベンチマーク:media-delivery/intel-iris-xe-max-graphics.md at master · intel/media-delivery
- 公式のドキュメント群:media-delivery/doc at master · intel/media-delivery · GitHub
関連記事
他のサイト
- Compiles FFmpeg with Cartwheel Patches, Quick Sync and OneVpl support. Careful needs testing, currently Work in Process. Read comments. · GitHub
- This gist will generate an Intel QSV-enabled FFmpeg build using the open source Intel Media SDK. Testbed used: Ubuntu 18.04LTS. A fallback is also provided for the intel vaapi driver where needed.
- Ubuntu* Intel® software for general purpose GPU capabilities documentation
公式のコマンド例
Dxtory のキャプチャ内容を ffmpeg で取り込み配信する
Dxtory は有料ではあるがこれを使うことでN Air、XSplit、OBS Studioなどのレイアウト画面、MPC-HC(madVR)などのプレイヤー、各種PCゲーム(DirectX や DirectDraw、OpenGL、Vulkan)を ffmpeg で直接取り込むことができる。
ffmpeg でメタデータを加える
フィルタで扱う:Meta | ニコラボ
色空間など:色関係の設定のまとめ
カバーアート:mp4, mp3, flacにカバーアートを付ける
特徴
- メタデータは直接コマンドに書き込むと、メタデータを書き込んだファイルを読み込む2種類の方法がある
- メタデータファイルは UTF-8 でエンコードされた INI 形式のテキストファイルで構成される
- ファイル読み込みの場合にはヘッダに識別番号を付けてコマンドに識別番号を指定する
- メタデータの指定方法はkey=value
- チャプターやストリーム毎にメタデータを指定できる
- 先頭に [CHAPTER] や [STREAM] を宣言してチャプターやストリームを指定する
- チャプターでタイムベースを指定できる。指定していない場合はミリ秒とする
- 例:TIMEBASE=num/den
チャプターの開始と終了の時間を指定する。演算はできないので予め計算しておく(数値は正の整数) - 例:START=num, END=num
- 例:TIMEBASE=num/den
- コメントには “;” , “#” が使える
- 特殊文字(“=”, “;”, “#”, “” と改行)はバックスラッシュ()でエスケープする