Generated by All in One SEO v4.9.10, this is an llms.txt file, used by LLMs to index the site. # ニコラボ niconicoとffmpegのことを中心に書いてる ## Sitemaps - [XML Sitemap](https://nico-lab.net/sitemap.xml): Contains all public & indexable URLs for this website. ## 投稿 - [CUDA を使ったハードウェアアクセレーションフィルタのまとめ](https://nico-lab.net/cuda_filters_with_ffmpeg/) - アルゴリズムを指定したリサイズに、インターレース解除、映像の回転、高速なサムネイル出力ができる。 - [字幕ファイルを動画に焼き付ける subtitles](https://nico-lab.net/subtitles_with_ffmpeg/) - 字幕ファイルを動画に焼き付ける(ハードサブ) subtitles フィルタの使い方。字幕ファイルのスタイルを書き換えて字幕ファイルを出力するフィルタではない。似たフィルタに ass フィルタがあるが、subtitles フィルタはass フィルタよりも複雑な設定ができる。 - [新しい映像の品質評価 libvmaf](https://nico-lab.net/libvmaf_with_ffmpeg/) - Netflixが使っているエンコードされる前と後の動画の品質評価に使われている VMAF(Video Multimethod Assessment Fusion)スコアをffmpegで調べる。 - [QSV 対応の ffmpeg をつくる](https://nico-lab.net/installing_qsv_with_ffmpeg/) - ffmpeg で使える QSV(Intel Quick Sync Video)のビルド方法と使い方。CPU の世代によって使えるエンコーダ、デコーダ、オプションやフィルタが異なる。 - [リサイズする scale](https://nico-lab.net/scale_with_ffmpeg/) - 標準で使える scale フィルタの使い方。外部ライブラリに zscale フィルタがありこちらは HDR、高品質リサイズ向けで処理速度は scale フィルタより速くない。 - [メタデータをコンソールに表示する metadata, ametadata](https://nico-lab.net/metadata_ametadata_with_ffmpeg/) - 特定のフィルタで出力されるメタデータを扱うことができる metadata フィルタの使い方。ametadata フィルタも同じオプションで使うことができる。こちらはコンソールに出力するに対して drawgraph フィルタは映像にテキストやグラフで出力する。 - [ffprobe の使い方](https://nico-lab.net/how_to_use_ffprobe/) - 動画や音声、画像ファイルを調べるのに ffmpeg で表示される以上のことを調べるときに使う ffprobe の使い方。ログのフォーマット指定ができるので json、xml、iniからパースすれば正規表現で無理に取る必要はない。 - [YUV のデータを数値で表示する signalstats](https://nico-lab.net/signalstats_with_ffmpeg/) - [適切な音量が調べられる ffmpeg の ebur128 の使い方](https://nico-lab.net/ebur128_with_ffmpeg/) - LUFS、いわゆる平均ラウドネス値を調べるebur128 フィルタの使い方。 LUFS(Loudness Unit Referred to Full Scale)とは平均ラウドネス値の単位で、LKFS(Loudness K Weghted Full Scale)とも言われている。 - [処理速度に特化したAV1エンコーダSVT-AV1](https://nico-lab.net/ffmpeg_with_svtav1/) - ffmpegから使えるAV1ソフトウェアエンコーダにはAOM-AV1、SVT-AV1、rav1eがあり、このSVT-AV1は処理速度に特化していて保存用からライブ配信用までプリセットによる調整が可能。 - [CLUTから色を置換するhaldclut](https://nico-lab.net/haldclut_with_ffmpeg/) - 映像や画像のCLUT(カラールックアップテーブル、カラーラットとも言われる)から色を置換するhaldclutフィルタの使い方。CLUTは一般に配布されているものを使うことができるが、解像度を所定のサイズにする必要がある。 - [[最新版]Twitterに投稿できる動画と画像の仕様について](https://nico-lab.net/twitter_upload_format_spec/) - 公式の説明を基にまとめた。画像はJPG、PNG、WEBPの3つ同時にエンコードされる。 - [ffmpeg 4.0 リリース](https://nico-lab.net/ffmpeg_4_0_released/) - 2018年4月20日に ffmpeg 4.0 Wu がリリースされた。今回のリリースはメジャーアップデートとなり、3.4 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。今回は特にハードウェアアクセレーション関係のコミットが多い印象である。 - [品質指定できるビジュアルロスレスエンコーダOpenAPV](https://nico-lab.net/ffmpeg_with_oapv/) - ffmpeg 8.0以降から外部ライブラリで使えるエンコーダ。デコーダは8.0から外部ライブラリ不要で使える。FFmpegのProres HQプロファイルよりもCVVDPスコア当たりでサイズ小さく、エンコード速度は速く、デコード負荷はProresと同程度になりHDR10のメタデータにも対応している。 - [ffmpeg 3.0 リリース](https://nico-lab.net/released_ffmpeg_3-0/) - 2016年2月15日 に ffmpeg 3.0 Einstein(アインシュタイン)がリリースされた。今回のリリースはメジャーアップデートとなり、2.8 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。 - [数式で線や円、模様が描ける geq](https://nico-lab.net/geq_with_ffmpeg/) - ffmpeg のフィルタの中でおそらく最も使い方が難解な geq(generic equation) フィルタの使い方。YUV と RGB、A のそれぞれを設定により色を変えたり、回転・反転させたり、グラデーションや線、円や矩形も描ける。 - [映像を任意の角度に回転させる rotate](https://nico-lab.net/rotate_with_ffmpeg/) - 任意の角度に回転でき、時間経過で回転させたり止めたりできる rotate フィルタの使い方。似たフィルタに transpose, hflip, vflip フィルタがある。 - [色の情報の扱いについて](https://nico-lab.net/setting_in_out_color_with_ffmpeg/) - いわゆるcolor primaries、color transfer characteristics、color spaceの扱いについて。解像度とフレームレートに関わるPAL、NTSC。解像度に関わるSD、HD、UHD。輝度のダイナミックレンジに関わるSDR、HDRなどの組み合わせで最適なオプションを指定する - [ffmpeg に nvenc(cuda)をインストールする](https://nico-lab.net/installing_cuda_with_ffmpeg/) - GPU エンコードとデコードができる NVENC, NVDEC を ffmpeg にコンパイルする方法とその使い方。 - [シーンチェンジの時間を調べるscdet](https://nico-lab.net/scdet_with_ffmpeg/) - 映像の切り替わり、シーンチェンジの時間を調べてそのフレームを出力するのに便利なscdetフィルタの使い方。似たフィルタにselectフィルタのsceneがあるがこれとは計算方法が異なる。 - [AMD VCE 対応の ffmpeg をつくる](https://nico-lab.net/installing_amd-vce_with_ffmpeg/) - AMF(Advanced Media Framework)SDK を使ったAMD の VCE(Video Coding Engine)を ffmpeg で使う方法。 - [フレームレートを変更するfps](https://nico-lab.net/fps_with_ffmpeg/) - 任意のフレームレートに変換するfpsフィルタの使い方。整数ではない小数点以下のタイムスタンプ処理の丸め方も指定できる。 - [フィルタ内容をテキストで読み込む filter_script、filter_complex_script](https://nico-lab.net/filter_script_filter_complex_script_with_ffmpeg/) - ffmpeg が難しいと言われる理由の一つにフィルタの書き方がわからないというのがある。コマンドプロンプトだと改行できないので長くなるほど読みにくくなる。これを解決するのが -filter_script、-filter_complex_script である。 - [FFmpeg 8.1リリース](https://nico-lab.net/ffmpeg_8_1_released/) - 2026年3月17日にFFmpeg 8.1“Hoare”がリリースした。8.0以降に追加されたフィルタやデコーダ、エンコーダなどが追加されている。VulkanとD3D12のハードウェア支援関係、Rockchip H.264/HEVCハードウェアエンコード、JPEG-XS関係、LCEVC関係の追加などがある。 - [フレーム、サンプル単位で情報を得るshowinfo、ashowinfo](https://nico-lab.net/showinfo_ashowinfo_with_ffmpeg/) - PTSやピクチャータイプやピクセルフォーマット、ピクセル値などを調べるのに使うshowinfo、ashowinfoフィルタの使い方。一般的な使い方はffplayで再生してコンソールに情報を流しながら見るもので、得た情報のメタデータを他のフィルタに渡すことは今のところできない。 - [任意のラウドネス値に音量を調整する loudnorm](https://nico-lab.net/loudnorm_with_ffmpeg/) - 目標となるLUFSとラウドネスレンジ、トゥルーピークを調整するloudnormフィルタの使い方。1回の処理で行うのと、1回目の解析結果を使って2回の処理を行う2種類の方法がある。 - [ffmpeg でメタデータを加える](https://nico-lab.net/adding_metadata_with_ffmpeg/) - メディアプレイヤーで表示されるメタデータを ffmpeg で加える方法。 - [ニコ生の新配信と録画方法について](https://nico-lab.net/nicolive_streaming_beta_and_record_video/) - 11月1日に公開された新配信(β)以下新配信について。 - [動画比較に便利なvideo-compare](https://nico-lab.net/video-compare/) - クロスプラットフォームに対応し、フィルタの有無、エンコード設定の差異による目視確認に便利なvideo-compareの紹介 - [ffmpeg で アニメーションWebP(Animated WebP)を作る](https://nico-lab.net/create_animated_webp_with_ffmpeg/) - FFmpeg 2.5 で対応した Animated WebP の作り方とその設定内容。 - [ビットストリームフィルタのまとめ](https://nico-lab.net/bitstream-filters_with_ffmpeg/) - H.264、HEVC、VP9、AV1、Proresのビットストリームフィルタで色関係のまとめ。各コーデックで出力したときにcolor_range、color_primaries、color_trc、color_spaceの情報を書き込む。 - [Zライブラリを使ったリサイズフィルタ zscale](https://nico-lab.net/zscale_with_ffmpeg/) - scaleフィルタと同じようにリサイズ出来るフィルタだが、それとは別にspline16, spline36などの高品質のリサイズやHDRに対応している。 - [ニコニコの API v1 のアクセス制限はじまる](https://nico-lab.net/access_restriction_nico_api_v1/) - [niconico の全体メンテナンスを終えて](https://nico-lab.net/niconico_maintenance_2016/) - メンテナンス前後で変わったかどうかはわからないが気づいたところとか。 - [ニコ動の SWF 投稿が出来なくなる](https://nico-lab.net/unable_to_upload_swf_to_nicovideo/) - [カラールックアップテーブルを適用するlut1d、lut3d](https://nico-lab.net/lut1d_lut3d_with_ffmpeg/) - カラールックアップテーブル(CLUT)を適用して色調補正するlut1d、lut3dフィルタの使い方。lut1dフィルタが1次元でlut3dフィルタが3次元になる。ダイナミックレンジを変更するHDRとSDRの相互変換にも使える。それぞれタイムライン編集に対応。 - [ffmpeg でダウンロード速度を制限する](https://nico-lab.net/limit_downoad_with_ffmpeg/) - よく使われるのがリアルタイムの re であるが、それだと1倍速にしかならないので音声の PTS を加工して速度を調整する。本来のダウンロード速度は制限前より高速であることが前提である。倍速の逆数を asetpts フィルタで変更し arealtime フィルタでリアルタイム処理にする。 - [各チャンネルのノイズ係数を調べる bitplanenoise](https://nico-lab.net/bitplanenoise_with_ffmpeg/) - YUV、RGB それぞれのチャンネルにどれくらいのノイズが含まれているか、0 から 1 までの範囲で調べられる bitplanenoise フィルタの使い方。ノイズ計数は 1 に近いほどノイズが多い。ログの表示に metadata、drawtext フィルタを使っている。 - [映像の上に映像をのせる overlay](https://nico-lab.net/overlay_with_ffmpeg/) - 映像を重ねてワイプを作ったり、重ねた映像を動かしたりできるoverlayフィルタの使い方。1入力目の映像が背景になり、2入力目の映像が最初に入力された映像の上に表示される。2入力目に透過情報があればその部分に背景にとなる1入力目の映像が映る。 - [サラウンドをヘッドフォン用の2チャンネルに配置する headphone](https://nico-lab.net/headphone_with_ffmpeg/) - サラウンドを HRIRs(head-related impulse response, 頭部インパルス応答) ファイルを元にチャンネルを配置しステレオとして出力する headphone フィルタの使い方。 - [VP9(libvpx-vp9)のエンコード設定について](https://nico-lab.net/setting_libvpx-vp9_with_ffmpeg/) - 次世代エンコーダVP9(webm、mp4)のエンコード設定についてffmpegで使う設定をまとめた。libvpx-vp9は外部ライブラリなので別途インストールする必要がある。さらに音声のエンコーダで使われるlibopusも外部ライブラリなのでこれもインストールする必要がある。 - [フィールドタイプや色域を記述するsetparams](https://nico-lab.net/setparams_with_ffmpeg/) - 出力映像のフィールドタイプや色域などの色情報を記述するsetparamsフィルタの使い方。 - [Vulkanエンコーダのまとめ](https://nico-lab.net/vulkan_encoders_with_ffmpeg/) - 映像のエンコーダで複数のコーデックが使える。 - [文字を描写する drawtext](https://nico-lab.net/drawtext_with_ffmpeg/) - 文字を直接コマンドに記述したり、ファイルを読み込んで描写する drawtext フィルタの使い方。現在のところ絵文字には対応していない。文字を動かしたり、表示非表示の切り替えや、内容を変更したり、色を変えたり出来る。 - [SSIMULACRA2, Butteraugli, CVVDPを調べるFFVship](https://nico-lab.net/ffvship/) - 2つの動画を比較してSSIMULACRA2(SSIMU2)、Butteraugli(butter)、CVVDPのスコアを調べる。ハードウェア支援にNVIDIAと、AMDが使えるのでCPUを使ったvmafスコアよりも桁違いに速度が出る。 - [ffmpeg で Apple HTTP Live Streaming(HLS)を扱う](https://nico-lab.net/hls_muxer_with_ffmpeg/) - ffmpeg で Apple HTTP Live Streaming(HLS)形式に出力する方法。各セグメントの動画ファイルは TS(ffmpeg 3.4 からは .m4s(fragmented MP4, fmp4)も可能)でテキスト形式のプレイリストとなるマニフェストは .m3u8 で出力される。 - [ニコ生の配信データを保存する rtmpdump のコマンド内容のまとめ](https://nico-lab.net/nicolive_rtmpdump_commands/) - 一般的にニコ生と言っても配信者は公式、チャンネル、ユーザーの3タイプと、ライブとタイムシフト(TS)を組み合わせた6種類ある。その中で特殊なコマンド -N が必要になるのは、ユーザー生放送のライブとタイムシフト、チャンネル生放送のライブである。 - [ffmpeg で MPEG-DASH を扱う](https://nico-lab.net/dash_muxer_with_ffmpeg/) - MP4Boxは使わずにffmpegだけでMPEG-DASHのMPDファイルを作る方法。またffmpeg 3.4からはlibxml2をリンクすることでMPDファイルを読み込むこともできる。各セグメントの.m4sファイルは最初に読み込むinit.mp4を毎回参照し各セグメントの.m4sファイルをデコードしている。 - [ffmpeg で使える frei0r フィルタの使い方](https://nico-lab.net/how_to_use_frei0r_filer_with_ffmpeg/) - いろいろなエフェクトが使えるも、予めモジュールのDLLを読み込ませないと使えないfrei0rフィルタの使い方。 - [ass の字幕ファイルを動画に焼き付ける ass](https://nico-lab.net/ass_with_ffmpeg/) - assの字幕ファイルを動画に焼き付ける(ハードサブ)assフィルタの使い方。似たフィルタにsubtitlesフィルタがあるが、assフィルタは単純に ass ファイルを動画に焼き付けるだけの簡易なフィルタである。このフィルタを使うには–enable-libassが必要である。 - [Vulkanのハードウェア支援を受けた汎用フィルタlibplacebo](https://nico-lab.net/libplacebo_with_ffmpeg/) - リサイズ、デバンディング、トーンマッピング、色相調整などができる外部ライブラリのlibplaceboフィルタの使い方。パラメータが多いので一部を抜粋。 - [ハードウェアデコーダ、フィルタ、エンコーダを組み合わせる](https://nico-lab.net/combine_hw_decoder_filter_encoder_with_ffmpeg/) - デコーダにはQSVとNVDECにハードウェア支援を受けたDXVA2、D3D11。D3D12。フィルタにはQSV、OpenCL、NPP、Vulkan。エンコーダにはQSVとNVENC、ソフトウェアエンコーダのlibx264のコマンド例のまとめ。 - [エンコード前後のフレーム数やサイズを調べる](https://nico-lab.net/stats_enc_with_ffmpeg/) - フレーム数やPTS、DTS、サンプル数、サイズ、平均ビットレートなどがストリームごとに調べられる。 - [フレーム内の一部分にフィルタを当てるfeedback](https://nico-lab.net/feedback_with_ffmpeg/) - 指定した矩形にフィルタを当てるfeedbackフィルタの使い方。縦x横で分割できる範囲ならuntile、select、interleave、tileフィルタの併用でも同じことができ、ぼかすだけならvarblurフィルタでもできる。 - [映像を拡大するアップコンバートフィルタのまとめ](https://nico-lab.net/magnification_with_ffmpeg/) - 等倍率で解像度を大きくするアップスケーリング(アップコンバート)フィルタのまとめ。 - [複数の音声を混ぜる amix](https://nico-lab.net/amix_with_ffmpeg/) - 複数の音声を混ぜ(マルチトラックではない)て1つの音声で出力する amix フィルタの使い方。 - [音声ストリームのチャンネルレイアウトを指定する amerge](https://nico-lab.net/amerge_with_ffmpeg/) - 複数トラック、複数ファイルの音声のチャンネルレイアウトを指定するamergeフィルタの使い方。チャンネルレイアウトが重複なく互換性があるときはそのレイアウトに並び替える。重複したり、抜けている場合はチャンネル数の既定値のレイアウトに並び替える。 - [複数の音声入力を合わせてレイアウトを指定するjoin](https://nico-lab.net/join_with_ffmpeg/) - amergeとchannelmapフィルタを合わせたもの。 - [各チャンネルの音声を合わせたり調整する pan](https://nico-lab.net/pan_with_ffmpeg/) - 各チャンネルの音声を合わせたり無音にしたりできる pan フィルタの使い方。 - [特定の映像フレームや音声サンプルを出力するselect, aselect](https://nico-lab.net/select_aselect_with_ffmpeg/) - 特定のフレーム間隔での出力ならtrim、atrimフィルタでもよいが、selectフィルタはピクチャータイプやインターレースタイプの指定でも出力できる。難点はデコードしながらなので処理がとても遅い。 - [任意に時間や、効果を変えられるsendcmd、asendcmdフィルタの使い方](https://nico-lab.net/sendcmd_asendcmd_with_ffmpeg/) - ffmpeg -filtersのCの列で使えるsendcmd、asendcmdフィルタの使い方。コマンド対応によりexprに対応してないフィルタでも設定を時間で変えられる。FFmpeg 8.0からCの列が表示されなくなった。 - [FFmpeg 8.0リリース](https://nico-lab.net/ffmpeg_8_0_released/) - 7.1以降に追加されたフィルタやデコーダ、エンコーダなどが追加されている。ハードウェア支援関係とセキュリティ関係、WHIPやRTMPのEnhanced FLV v2といった新しいプロトコルの機能が強化されている。またForgejoインスタンスでのプリクを受け入れるようになったので修正、機能追加がしやすくなった。 - [Microsoft Media FoundationでH.264 AACにエンコードする](https://nico-lab.net/media_foundation_with_ffmpeg/) - [フリッカー(ちらつき) を低減する deflicker](https://nico-lab.net/deflicker_with_ffmpeg/) - 蛍光灯や昔の映像で数フレーム毎に明るくなったり暗くなったりするのを前後フレームから平均してちらつきを抑える deflicker フィルタの使い方。 - [デノイズとインターレース解除ができる pp](https://nico-lab.net/pp_with_ffmpeg/) - pp(postprocessing)フィルタとは、デコード段階でフィルタを当てるフィルタを意味するが、フィルタチェーンでの pp の位置によってフィルタが当たる順番も変わる。 - [詳細な分割設定ができる Segment](https://nico-lab.net/segment_muxer_with_ffmpeg/) - segment muxer とは時間やフレーム数指定でストリームを分割する。出力ファイル名には image2 muxer と同じように連番出力(%d)や、-strftime オプションを使って日時設定もできる。 - [千円HDMIキャプチャ、Y&H HDMIキャプチャカード](https://nico-lab.net/yh-hdmi_with_ffmpeg/) - 最初の頃に言われていた音声がおかしい問題は解決されて1280×720の60fpsのMJPGで取り込むのに使え、手軽なHDMI入力の画面表示に使える。 - [視覚評価に重きを置いたxpsnr](https://nico-lab.net/xpsnr_with_ffmpeg/) - 既存のpsnrフィルタを拡張して、視覚的品質に対する評価に重きを置いた7.1以降から使えるxpsnrフィルタの使い方。従来のpsnr評価と同様の範囲で比較する動画は同じ解像度とfps、ピクセルフォーマットである必要がある。 - [Vulkan を使ったハードウェアアクセレーションフィルタのまとめ](https://nico-lab.net/vulkan_filters_with_ffmpeg/) - GPUを取り付けていると使えるVulkanフィルタのまとめ。フィルタの使い方の公式ドキュメントはまだない。 - [無音区間を調べるsilencedetect](https://nico-lab.net/silencedetect_with_ffmpeg/) - しきい値と検出区間を指定して無音区間を調べるsilencedetectフィルタの使い方。 - [高速で万能な逆テレシネフィルタ pullup](https://nico-lab.net/pullup_with_ffmpeg/) - pullupフィルタは逆テレシネフィルタで、ハードテレシネや24000/1001fpsプログレッシブや 30000/1001fpsプログレッシブの混在した映像に対応している。未来フレームを参照するように設計されていてパターン周期が不定期でも正しく逆テレシネし、不要な重複フィールドを自動で間引く。 - [異なるダイナミックレンジにトーンマッピングするtonemap](https://nico-lab.net/tonemap_with_ffmpeg/) - HDRからSDRなどのトーンマッピングするのに使われているtonemapフィルタの使い方。高ビット深度から低ビット深度へ変換するために範囲外の値を線形化と浮動小数点にしてトーンマッピングし、出力先の変換式などに直す処理も同時に行う。 - [映像のトランジションの設定ができる xfade](https://nico-lab.net/xfade_with_ffmpeg/) - 映像の切り替えにフェード、スライド、ワイプ、ディゾルブなどのトランジションを追加する xfade フィルタの使い方。1つめの映像の最後につなげるフィルタとは限らず、指定時間から指定時間秒トランジションを行う。 - [音声の先頭に無音を挿入する adelay](https://nico-lab.net/adelay_with_ffmpeg/) - 音声のチャンネル毎にストリームの先頭に無音を挿入するadelayフィルタの使い方。チャンネル毎に時間が異なれば長い方に合わして短い方の末尾に無音を挿入する。映像は何もしないので無音を挿入すると映像と音声の時間が異なるファイルになる。 - [1つの出力内容を複数に振り分ける tee](https://nico-lab.net/tee_muxer_with_ffmpeg/) - 通常の方法だと1エンコード1出力なのが、1エンコード複数出力できるteeマルチプレクサの使い方。 - [HDRにかかわるmkvmergeの設定](https://nico-lab.net/setting_mkvmerge_with_hdr/) - VP9でエンコードしたときにつけるHDRメタデータをmkvmergeでつける。指定する値は元の映像と同じ値を指定する。libx265は-x265-paramsから直接指定できる。 - [FFmpeg 7.1リリース](https://nico-lab.net/ffmpeg_7_1_released/) - 2024年9月30日にFFmpeg 7.1 Péterがリリースされた。7.0以降に追加されたフィルタやデコーダ、エンコーダなどが追加されている。 - [mp4, mp3, flacにカバーアートを付ける](https://nico-lab.net/adding_cover-art_pic_with_ffmpeg/) - カバーアートを付けるとエクスプローラにサムネイルが表示、変更できる。 - [黒フレーム区間を調べる blackdetect](https://nico-lab.net/blackdetect_with_ffmpeg/) - 黒フレーム区間を調べる blackdetect フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。 - [D3D11経由でデスクトップ画面を取り込むddagrab](https://nico-lab.net/ddagrab_with_ffmpeg/) - D3D11経由なので同じメモリ上からエンコードできるNVENC, AMFのエンコーダには処理が速くなる。Windowns向けのDesktop Duplication APIを使う。 - [音声の周波数を映像化する showfreqs](https://nico-lab.net/showfreqs_with_ffmpeg/) - Y軸に振幅、X軸に周波数に変換する showfreqs フィルタの使い方。出力フォーマットはRGBA 。 - [ffmpeg 3.1 リリース](https://nico-lab.net/ffmpeg_3_1_released/) - 2016年6月27日、ffmpeg 3.1 Laplace(ラプラス)がリリースされた。3.1 は 3.0 からのメジャーアップデートでこれまでに取り込まれたコミットのすべてが入っている。 - [ffmpeg 3.2 リリース](https://nico-lab.net/ffmpeg_3_2_released/) - 2016年10月28日、ffmpeg 3.2 Hypatia(ヒュパティア)がリリースされた。3.2 は 3.1 からのメジャーアップデートでこれまでに取り込まれたコミットのすべてが入っている。 - [ffmpeg 3.3 リリース](https://nico-lab.net/ffmpeg_3_3_released/) - 2017年4月13日、ffmpeg 3.3 Hilbert(ヒルベルト)がリリースされた。3.3 は 3.2 からのメジャーアップデートでこれまでに取り込まれたコミットのすべてが入っている。 - [ffmpeg 3.4 リリース](https://nico-lab.net/ffmpeg_3_4_released/) - 2017年10月16日、ffmpeg 3.4 Cantor(カントル)がリリースされた。3.4 は 3.3 からのメジャーアップデートでこれまでに取り込まれたコミットのすべてが入っている。 - [ARIB字幕をdemuxするlibaribcaption](https://nico-lab.net/libaribcaption_with_ffmpeg/) - FFmpeg 6.1から使える予定のデコーダ。今まであったlibaribb24からDRCSに対応してきれいにレンダリングできるlibaribcaption。現時点ではgyan.devのFFmpegが対応している。 - [ffmpeg 4.2 リリース](https://nico-lab.net/ffmpeg_4_2_released/) - libdav1d を使った AV1 デコーダ、ライセンス違反による libndi-newtek の除外、PocketSphinx を使った音声認識の asr フィルタ、DNN を使って映像内の雨を除去する derain フィルタ、libaribb24 を使って日本のテレビ字幕に対応した。 - [彩度を考慮してグレースケールにするmonochromeフィルタの使い方](https://nico-lab.net/monochrome_with_ffmpeg/) - YUVの映像の輝度だけでなく、彩度も見てグレースケールに変換する。ピクセルフォーマットはYUV形式のままなので、signalstatsフィルタのHSと併用することで色相と彩度と明るさそれぞれを1つのチャンネルで調べることができる。 - [streamlink の使い方](https://nico-lab.net/how_to_use_streamlink/) - livestreamerがメンテナンスされなくなりその後継にstreamlinkが公開されている。基本コマンドはlivestreamerと同じで新しいオプションの追加や、サイト対応が行われている。 - [ニコニコのコメントを表示する AviSynth プラグイン AviSynthNicoComment](https://nico-lab.net/avisynthnicocomment_with_ffmpeg/) - ニコニコ動画やニコニコ生放送のコメントを映像の上にオーバーレイ表示するプラグイン。 - [RTMP streams に対応した MPC-HC v1.7.8 が公開](https://nico-lab.net/mpc_can_play_rtmp_streams/) - 2015年1月25日に公開された v1.7.8 から librtmp のパラメーターを使っての RTMP ストリームに対応した。 - [前後フィールドを考慮して逆テレシネするfieldmatch](https://nico-lab.net/fieldmatch_with_ffmpeg/) - fieldmatchフィルタで逆テレシネしてプログレッシブフレームを作り、プログレッシブ化に漏れたフレームを改めてインターレース解除フィルタでプログレッシブ化しdecimateフィルタで間引けば24p化することができる。 - [特定の時間だけフィルタを当てるタイムライン編集について](https://nico-lab.net/timeline-editing_with_ffmpeg/) - ffmpegのフィルタの中には効果を与えるのに期間(区間)、以上、未満、毎の時間の条件をつけることができるものがある。これらをつけられるのはffmpeg -filtersで調べたときに T と表示されるフィルタである。 - [色補正フィルタのgrayworld](https://nico-lab.net/grayworld_with_ffmpeg/) - 異なる伝達関数に変換するときに使い、事前に線形変換が必要。ピクセルフォーマットはgbrpf32leになるので負荷はかなり大きい。 - [ハードウェア支援フィルタのまとめ](https://nico-lab.net/hwaccel_filters_with_ffmpeg/) - Windowsで使えるハードウェア支援フィルタ、QSV、CUDA、OpenCL、Vulkanのまとめ。それぞれ個別記事になっているのでフィルタの内容をグラフにまとめた。 - [フレームがインターレースかどうかを調べる idet](https://nico-lab.net/idet_with_ffmpeg/) - 入力フレームがインターレース、プログレッシブ、トップフィールドファースト(tff)、ボトムフィールドファースト(bff) のどれであるかを調べる idet(interlace detect type) フィルタの使い方。また、隣り合うフレーム間で重複するフィールド(テレシネのサイン)も調べられる。 - [映像と音声の pts を扱う setpts, asetpts](https://nico-lab.net/setpts_asetpts_with_ffmpeg/) - PTSを変更することで再生速度を上げたり下げたり、複数のファイルを合わせたりするときにPTSを揃えたりするのに使うsetpts、asetptsフィルタの使い方。 - [テレシネ処理ができる telecine](https://nico-lab.net/telecine_with_ffmeg/) - テレシネしてフレーム数を増やすことができる telecine の使い方。日本で一般的なテレシネからヨーロッパ形式のテレシネまでいろいろなタイプを指定できる。 - [複数の映像を任意の割合でミックスする mix](https://nico-lab.net/mix_with_ffmpeg/) - ffmpeg 4.0 で追加されたフィルタ。複数の映像を任意の割合で混ぜ合わせるmixフィルタの使い方。今までは透過チャンネルを使ってoverlayフィルタを使っていたがこれからはもっと手軽に複数の映像を映し出すことが出来る。 - [絶対値の差の大きい小さいを返す maskedmax, maskedmin](https://nico-lab.net/maskedmax_maskedmin_with_ffmpeg/) - 3つの映像から1入力目と比較し絶対値の大きい、小さいほうのピクセル値を返す maskedmax、maskedmin フィルタの使い方。 - [連続フレームの映像を任意の割合でミックスするtmix](https://nico-lab.net/tmix_with_ffmpeg/) - 連続したフレームのピクセル値を任意の割合で混ぜ合わせるtmixフィルタの使い方。複数入力した映像を混ぜ合わせるならmixフィルタがある。 - [concat を使い分ける](https://nico-lab.net/concat_with_ffmpeg/) - ffmpeg で映像や音声を連結(後ろにつなげる)する方法に concat があるが、concat にも3種類ありそれぞれ使い道が異なるのでそれらの説明。個別の記事は以前に書いているので補足説明を加えた。 - [ffmpeg で聞き取りやすい音量に変える dynaudnorm](https://nico-lab.net/normalize_audio_with_ffmpeg/) - 大きすぎる音は小さく、小さすぎる音は大きく聞き取りやすい音量に変えるdynaudnormフィルタの使い方。雑談などの声中心なら聞こえやすくなるので効果的で、急に音量が変わって聞き取りにくい音声を修正するのにも使える。 - [Twitch とニコ生の統計比較 2015](https://nico-lab.net/statistics_about_twich_2015/) - 前回記事を書いた2013年の Twitch とニコ生の統計比較 から2014年は書いていなかったので2014年と2015年の統計データをニコ生の2015年データと比較する。 - [公式ニコ生TSでアリーナ最前列のコメントが保存できていない](https://nico-lab.net/cannot_get_nicolive_arena_saizen_comment/) - 2ch でも報告があったが、私も体験したことがあり、現時点でも混雑になる時間帯(土日では夕方でも起こる)で公式ニコ生のTSのコメントを保存するときにアリーナ最前列以外が kakoroku 経由で保存されることがある。 - [ffmpegでBlackmagic Designの製品を扱う](https://nico-lab.net/decklink_with_ffmpeg/) - キャプチャー解像度は1080p30まで。音声は6チャンネルのサラウンドも読み込める。接続方法にHDMIとコンポーネント端子、RCA端子(黄白赤)がある。解像度やフレームレート、インターレースなど対応内容に一致しないと扱えない。 - [ffmpeg でインターレース解除](https://nico-lab.net/deinterlace_video_with_ffmpeg/) - 30000/1001fpsのインターレースの動画からアニメの24000/1001fpsのプログレッシブ動画にするためにインターレースを解除、逆テレシネする。フレームを間引くにはいくつかの方法があるので目的に合わせてフィルタを使う。 - [単純な逆テレシネフィルタdetelecine](https://nico-lab.net/detelecine_with_ffmpeg/) - テレシネコンテンツを逆テレシネするdetelecineフィルタの使い方。途中にテレシネでない映像が含まれていても検証素材が多くないが周期は変わらないかもしれない。つまり本編が分かれていも逆テレシネできるが、途中のテレシネではない映像にはインターレース櫛が残る。 - [APNG をループ出力する](https://nico-lab.net/infinity_loop_apng/) - アニメGIF なら loop でループできるのに APNG ではこのオプションではループできないので plays オプションを使う。 - [CIE 色度図を表示する ciescope](https://nico-lab.net/ciescope_with_ffmpeg/) - CIE色度図を表示するciescopeフィルタの使い方。出力ピクセルフォーマットはrgba64leなので余白部分をオーバーレイで透過できる。 - [ffmpeg で ocr](https://nico-lab.net/ocr_with_ffmpeg/) - Tesseract-OCR を使った ocr フィルタで文字認証を行う。本家と同様に英語や日本語などたくさんの言語に対応している。2018年10月にリリースした 4.0 でひらがなとカタカナの識字率はかなり上がった。ただし漢字は似た漢字になる場合も多い。 - [Dxtory のキャプチャ内容を ffmpeg で取り込み配信する](https://nico-lab.net/dxtory_stream_with_ffmpeg/) - Dxtory は有料ではあるがこれを使うことで N Air、XSplit、OBS Studioなどのレイアウト画面、MPC-HC(madVR)などのプレイヤー、各種PCゲーム(DirectX や DirectDraw、OpenGL)を ffmpeg で直接取り込むことができる。 - [2つの映像の画質評価をする PSNR](https://nico-lab.net/psnr_with_ffmpeg/) - 2入力した映像を比較して PNSR(Peak Signal to Noise Ratio) の値を計算する。MSE(mean squared error) は PNSR を計算するのに使われる。 - [ナマケット2015のデータ](https://nico-lab.net/namaket_2015/) - 今年は去年になかった千人を超えるお気に入り登録が MVP となったコミュニティに有り、1桁の登録数から4桁の登録数まで差が広がる傾向にあった。 - [FFmpeg 7.0リリース](https://nico-lab.net/ffmpeg_7_0_released/) - 2024年4月5日にffmpeg 7.0 Dijkstra(エドガー・ダイクストラ – Wikipedia)がリリースされた。6.1以降に追加されたフィルタやデコーダ、エンコーダなどが追加されている。 - [映像を指定座標に切り取る crop](https://nico-lab.net/crop_with_ffmpeg/) - 映像を指定座標に切り取る crop フィルタの使い方。出力解像度はフレーム毎に変更できないがクロップする場所はフレーム毎に変更できる。 - [映像の黒枠の場所を検出する cropdetect](https://nico-lab.net/cropdetect_with_ffmpeg/) - 映像の黒枠を検出して crop フィルタで使う引数を返す cropdetect フィルタの使い方。 - [ffmpeg できれいにロゴを消す方法](https://nico-lab.net/removelogo_for_high_quality_with_ffmpeg/) - ffmpeg には標準でロゴを消すフィルタがあるが、以前紹介した特定の場所にだけフィルタを当てる方法と、ロゴ消しに適したロゴデータの作り方を交えてロゴをきれいに消す方法。 - [色空間変換するcolorspace](https://nico-lab.net/colorspace_with_ffmpeg/) - カラースペースの変換を行うcolorspaceフィルタの使い方。このフィルタは高ビット深度の映像にも対応している。 - [フォーマット変換するformat、aformat](https://nico-lab.net/format_aformat_with_ffmpeg/) - ピクセルフォーマットを変換するformatフィルタと、サンプルフォーマットとサンプルレートを変換するaformatフィルタの使い方。 - [ブロックノイズを数値化するblockdetect](https://nico-lab.net/blockdetect_with_ffmpeg/) - Remco Muijs氏とIhor Kirenko氏の”A no-reference blocking artifact measure for adaptive video processing.”を基としたフレームのブロックノイズを数値化するblockdetectフィルタの使い方。 - [フレームのぼやけ度を判定するblurdetect](https://nico-lab.net/blurdetect_with_ffmpeg/) - [YUV RGB を比較計算する blend](https://nico-lab.net/blend_with_ffmpeg/) - 2入力した映像の YUVA や RGBA を比較して結果を表示する blend の使い方。差分を調べて比較動画を作ったり、マスクした部分に別の映像を重ねたりいろいろな映像効果を作ることができる。 - [ffmpeg で使える映像のテストソース](https://nico-lab.net/testsrc_with_ffmpeg/) - 手元に映像ファイルがなくても単色や、カラーバーを作ることが出来る。 - [比較する動画の解像度に合わせる scale2ref](https://nico-lab.net/scale2ref_with_ffmpeg/) - 1入力目の映像を2入力目の解像度を元にリサイズするscale2refの使い方。主な用途は異なる解像度の動画をフィルタ内で比較、参照したりするときに参照動画の解像度はscaleフィルタでは取得できないので、その代わりにscale2refフィルタを使う。使えるオプションはscaleフィルタと同じ。 - [直線上の YUV, RGB の値を表示する oscilloscope](https://nico-lab.net/oscilloscope_with_ffmpeg/) - 直線上の YUV, RGB の平均値と最小値、最大値と波形が表示される oscilloscope フィルタの使い方。 - [複数の出力先のときの挙動を調整する fifo](https://nico-lab.net/fifo_with_ffmpeg/) - フィルタのfifoと、マルチプレクサのfifoの使い方。fifoは複数のストリームの同時出力で処理速度の差が出る、例えばネットワーク障害や書き込み速度の差が付くときなどにつける。 - [ffmpeg でのフレームレート設定の違い](https://nico-lab.net/setting_fps_with_ffmpeg/) - ffmpegにはフレームレートの設定方法がいくつかあるが、同じオプションでも指定場所では効果が違ったりするので一般的な用途のまとめ。オリジナルよりもフレームレートが少ないときは同じように間引かれるが、出力結果も一致するとは限らない。 - [解像度が一致しなくても映像を並べられる xstack](https://nico-lab.net/xstack_with_ffmpeg/) - overlay, stack フィルタを合わせたような xstack フィルタの使い方。解像度が異なっていても使えるのが特徴で、上下左右にも映像の上にも重ねられる。 - [各映像チャンネルを分離する extractplanes](https://nico-lab.net/extractplanes_with_ffmpeg/) - チャンネルを分離して個別に出力できる。対応チャンネルは YUV, RGB, アルファ である。 - [エッジ傾斜を考慮したインターレース解除フィルタestdif](https://nico-lab.net/estdif_with_ffmpeg/) - estdifは”Edge Slope Tracing Deinterlacing Filter”の略語。fieldmatchフィルタを使ったような見た目になり、斜めの輪郭線が滑らかになるので見た目が良くなる。 - [リアルタイムでVUメーターを表示する showvolume](https://nico-lab.net/display_sound_bar_with_ffmpeg/) - 音量をリアルタイムでメーター表示する ffmpeg の showvolume のフィルタの使い方。出力フォーマットは RGBA。条件をつければ指定 dB の範囲に色を変えられる。 - [フレームを間引くdecimate、mpdecimate](https://nico-lab.net/decimate_mpdecimate_with_ffmpeg/) - 一定のフレーム間隔で重複フレームを間引くdecimateフィルタと、前フレームとあまり変化のないフレームを間引くmpdecimateフィルタの使い方。 - [FFmpeg 6.1リリース](https://nico-lab.net/ffmpeg_6_1_released/) - 予定から伸びていたFFmpeg 6.1 Heaviside(オリヴァー・ヘヴィサイド – Wikipedia)が2023年11月11日にリリースされた。6.0以降に追加されたフィルタやデコーダ、エンコーダなどが追加されている。 - [file宣言が不要なプロトコルconcatf](https://nico-lab.net/concatf_with_ffmpeg/) - demuxerのconcatでつけている-f concat -safe 0や連結ファイルをまとめて記述したテキストのファイルの前に指定するfileも不要に連結できる。 - [レンズ補正フィルタ lenscorrection](https://nico-lab.net/lenscorrection_with_ffmpeg/) - レンズ補正フィルタは他に frei0r、lensfun などの外部フィルタがある。手動補正なのであらかじめレンズの視野(Field of View)を調べておくと設定が楽になる。魚眼レンズの修正もできる。 - [ffmpeg 6.0リリース](https://nico-lab.net/ffmpeg_6_0_released/) - 2023年2月28日にffmpeg 6.0 Von Neumann(ジョン・フォン・ノイマン – Wikipedia)がリリースされた。今回のリリースはメジャーアップデートとなり、5.1以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。 - [写真など傾いた対象を修正する perspective](https://nico-lab.net/perspective_with_ffmpeg/) - 斜めから撮った写真や動画をまっすぐから見たように修正する perspective フィルタの使い方。 - [x264 一つのバイナリで複数のビット深度に対応](https://nico-lab.net/encode_multi-bit-depth_using_x264/) - 一つのバイナリで 8, 10 ビット深度の両方に対応した。それに伴って ffmpeg も両方エンコードが出来るようになった。ただし古い ffmpeg を利用するとエラーが出るので master を利用する。 - [ffmpeg で 256色を最適化する palettegen, paletteuse](https://nico-lab.net/optimized_256_colors_with_ffmpeg/) - 16x16(つまり256パターン)のパレットに色を一時出力し、それを使い最適化されたファイルが出力する。これにより最適化されたアニメ-ションGIF(アニメGIF)や、色の少ないPNG圧縮で効果が期待できる。 - [2つの映像の画質評価をする SSIM](https://nico-lab.net/compare_two_videos_ssim_with_ffmpeg/) - 2つ入力した映像の輝度、コントラスト、構造などを軸にピクセル単位の比較だけではなく周囲のピクセルとの相関をみて比較してオリジナルにどれだけ忠実であるか SSIM の値を計算する。 - [2つの映像の差の絶対値の合計平均を調べるmsad](https://nico-lab.net/msad_with_ffmpeg/) - [2つの映像がどれだけ同じかを調べるidentity](https://nico-lab.net/identity_with_ffmpeg/) - [2つの映像の相関関係を調べるcorr](https://nico-lab.net/corr_with_ffmpeg/) - 同じ解像度、フレームレート、ピクセルフォーマット、タイムベースの2つの映像の相関関係を調べるcorrフィルタの使い方。 - [色の変換色を変更するcolormatrix](https://nico-lab.net/colormatrix_with_ffmpeg/) - YUVの変換式の変換を行うcolormatrixフィルタの使い方。このフィルタは8ビット深度の映像限定である。 - [QSV フィルタの詰め合わせ vpp_qsv](https://nico-lab.net/vpp_qsv_with_ffmpeg/) - 個別に QSV のフィルタがあるがvpp_qsvフィルタは輝度、彩度、色相やデノイズ、クロップ、リサイズ、インターレース解除、回転、反転など複数のフィルタが含まれる。 - [ピクセライズして映像にモザイクをかけるpixelize](https://nico-lab.net/pixelize_with_ffmpeg/) - ffmpeg 5.1から使える予定のフィルタ。指定ピクセル間を平均してブロック状にモザイクするpixelizeフィルタの使い方。今まではfrei0フィルタのpixeliz0rで使えていた。 - [ffmpeg でドット絵風の低画質に変換する](https://nico-lab.net/illust_like_dot_with_ffmpeg/) - 画像をドット絵風の低画質に変換するTwitter Bot「低画質」を作った – razokulover publog で話題になったのを ffmpeg のフィルタでドット絵風の低画質に変換する。 - [不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic](https://nico-lab.net/showspectrumpic_with_ffmpeg/) - 音声データの周波数を調べて周波数と時間の2次元軸とした1枚画像を出力する showspectrumpic の使い方。 - [音声をサラウンド変換する surround](https://nico-lab.net/surround_with_ffmpeg/) - 入力したステレオなどの音声の周波数からフロントとリアなどの音声に分けてサラウンド(5.1ch など)に変換する surround フィルタの使い方。 - [異なる fps を連結して VFR の動画にする](https://nico-lab.net/concat_different_fps_video_with_ffmpeg/) - ffmpeg で demuxer の concat を使えば楽に VFR の動画になる。注意点は映像音声ともに同じコーデックで同じエンコード設定、音声は同じサンプリング数であること。 - [フェードトランジションのカーブを別フィルタに実装する](https://nico-lab.net/curve_for_filter_setting/) - afade, acrossfade フィルタにあるフェードトランジションのカーブを別フィルタにも同様の変化を持たせるために評価式を使って実装する。 - [ffmpeg で指定時間でカットするまとめ](https://nico-lab.net/cutting_ffmpeg/) - グレーはカットしない、つまり出力する部分で、ブラックがカットする部分。-c copyすれば無劣化になり、コーデックを指定すれば再エンコードになる。[duration]、[front-duration]、[back-duration]は秒時間指定と、hh:mm:ss.ms指定ができる。 - [英語版のffmpegの使い方解説本が1日だけ無料](https://nico-lab.net/kdp_with_ffmpeg_quick_hacks/) - 6月4日の夜までkindleで無料になっている。同時にKindle Unlimitedにも入っているので購入し忘れても加入していれば無料で読める。 - [音声のPSNRを調べるapsnr、信号の歪み比を調べるasdr](https://nico-lab.net/apsnr_asdr_with_ffmpeg/) - 2つの音声を比較してピーク信号対雑音比を計測する。apsnrは”Audio Peak Signal-to-Noise Ratio”の略語。タイムライン編集に対応し、framesyncには対応していない。オプション指定はない。 - [エッジ保持のスムースフィルタ bilateral](https://nico-lab.net/bilateral_with_ffmpeg/) - 軽めにフィルタを当てるとエッジ保持してノイズをうまく消せるが、既定値以上の設定だと細部が消えて油絵のような効果になる bilateral フィルタの使い方。 - [ブロッキングアーティファクトを除去する deblock](https://nico-lab.net/deblock_with_ffmpeg/) - 不可逆圧縮したときに生じる圧縮アーティファクトを除去する deblock フィルタの使い方。 - [1フレーム内のメディアンフィルタ median](https://nico-lab.net/median_with_ffmpeg/) - 映像の指定したピクセル内のピクセル中央値を返すのでマスクしてデノイズするのに使える。マスクは colorkey、chromakey フィルタで作れる。 - [フレーム間のメディアンフィルタtmedian](https://nico-lab.net/tmedian_with_ffmpeg/) - 1つの映像の連続したフレームの中央値や任意の割合のピクセル値で出力するtmedianフィルタの使い方。 - [エッジ保持のブラーフィルタ yaepblur](https://nico-lab.net/yaepblur_with_ffmpeg/) - yaepblur は “yet another edge preserving blur filter” という意味。bilateral フィルタよりも薄くブラーを掛けられるので調整しやすい。 - [ARIB字幕をdemuxする libaribb24](https://nico-lab.net/libaribb24_with_ffmpeg/) - 日本のテレビ番組で表示されるARIB(アライブ)字幕を動画のエンコードと一緒に字幕も扱うことができる。今までは映像と音声のエンコードと字幕を同時に扱うことはできなかった。 - [ARIB字幕をVTTにしてHLSで視聴する](https://nico-lab.net/hls_with_aribb24sub/) - 多くのブラウザがプレイリストの直接再生に対応していないのでライブラリを使う。さらに ARIB字幕のある動画は libaribb24 を有効化していないと変換できない。 - [ffmpeg でクロマキー合成](https://nico-lab.net/ffmpeg_with_chroma_key_by_colorkey/) - ffmpeg に colorkey フィルタが取り込まれたことにより、クロマキー合成や特定色に個別のフィルタを当てられるようになった。 - [映像フィルタを当てる前後のデータを見える化する](https://nico-lab.net/analyze_yuv_using_filters_with_ffmpeg/) - ffmpeg には多くの映像フィルタと音声フィルタがあるが、その効果を調べるのに主観的な判断だけではなく、客観的な判断ができるように数値を映像に表示したり、ヒストグラムを表示したりすることで映像の差違を見える化する。 - [フェードイン、フェードアウトの設定ができる fade](https://nico-lab.net/fade_with_ffmpeg/) - フェードするチャンネルにアルファチャンネルあるなしで用途が異なる fade フィルタの使い方 - [可変フレームを検出する vfrdet](https://nico-lab.net/vfrdet_with_ffmpeg/) - 可変フレームか固定フレームかを調べることが出来る vfrdet(Variable frame rate detect)フィルタ。コンソールには可変フレーム数と固定フレーム数、 PTS間隔の最小値と最大値が表示される。 - [ffmpeg でフレーム補間する minterpolate](https://nico-lab.net/minterpolate_with_ffmpeg/) - 前後フレームから中間フレームを作り出す minterpolate フィルタの使い方。 - [音声のチャンネルレイアウトを変えるchannelmap](https://nico-lab.net/channelmap_with_ffmpeg/) - ステレオの左右を入れ替えたり、3つの音声を合わせると2.1チャンネル、3チャンネル(前)、3チャンネル(後)など推定できないときにレイアウトを明示するのに使うchannelmapフィルタの使い方。 - [映像の特定領域だけ品質を変える addroi](https://nico-lab.net/addroi_with_ffmpeg/) - ゲーム配信などでレイアウトを決めるときに映像が全く変わらない部分。例えばRTAのチャートの部分とか、レトロゲームを模したフレームとかそういったところの品質を下げると他の部分で使えるビットレートが増えて全体の品質が向上する。対応コーデックは H.264、H.265、VP8、VP9 など。 - [映像に枠をつける drawbox](https://nico-lab.net/drawbox_with_ffmpeg/) - 指定した場所を四角で囲ったり、埋めたりできる drawbox フィルタの使い方。四角以外で囲むなら geq フィルタを使う。 - [ffmpeg 5.1リリース](https://nico-lab.net/ffmpeg_5_1_released/) - 2022年7月23日にffmpeg 5.1 Riemann(ベルンハルト・リーマン)がリリースされた。 - [映像のエントロピーを調べるentropy](https://nico-lab.net/entropy_with_ffmpeg/) - 各フレームのカラーチャンネルのヒストグラムにおけるグレーレベルのエントロピーを測定するentropyフィルタの使い方。各チャンネルのピクセル値の不規則性を調べる。スコアが高いとより複雑な映像になる。ほかにYUVのピクセル値の統計をログで出力するにはsignalstatsフィルタがある。 - [音声のフェードイン、フェードアウトの設定ができる afade](https://nico-lab.net/afade_with_ffmpeg/) - 無音状態から音量を次第に上げる(フェードイン)と、次第に下げて(フェードアウト)無音状態にするafadeフィルタの使い方。 - [音声をベクトルスコープで表示する avectorscope](https://nico-lab.net/display_avectorscope_with_ffmpeg/) - 位相をベクタスコープで映像化するavectorscopeフィルタの使い方。表示する色の設定とフェードの色設定、リサジュー図形での描写が可能。 - [マスクに応じてぼかすvarblur](https://nico-lab.net/varblur_with_ffmpeg/) - マスクのグレースケールに応じてぼかす範囲を指定するvarblur(Apply variable blur)フィルタの使い方。2つのビデオストリームが必要だがそれぞれ同じ解像度出なければならない。タイムライン編集に対応。 - [輪郭を保護しながらぼかしたりシャープにする smartblur](https://nico-lab.net/ffmpeg_with_smartblur/) - 似たフィルタに unsharp があり、こちらもぼかしたりシャープにできる。RGB の映像は YUV に変換され、輝度だけ、彩度だけ、また両方にフィルタを当てられる。 - [2ファイル入力するフィルタの挙動設定 framesync](https://nico-lab.net/framesync_with_ffmpeg/) - 一部のフィルタで設定できる動画時間が異なるファイルの挙動設定を行うframesyncの設定方法。以前は個別のフィルタ毎に設定していたがこれのおかげで設定内容が統一された。 - [ビットストリームで加工するnoise](https://nico-lab.net/noise_bsf_with_ffmpeg/) - 任意の場所の映像や音声をコンテナを損傷することなくドロップさせたり、パケットにノイズをのせたりできるnoiseビットストリームフィルタの使い方。 - [Raspberry Pi 4 Model Bの64bit OSでインタレ解除してHWエンコードする](https://nico-lab.net/raspberry4_64bit_deinterlace_hw_encode/) - fieldhintフィルタで手動インターレース解除しH.264のハードウェアエンコードする。手動インターレース解除するとぎりぎり1倍速以上出るので縞フレームの場所が分かればライブ配信にも使える。patternオプションは2022年3月15日に追加されたものなのでffmpegはソースコードからビルドする。 - [方向ブラーdblur](https://nico-lab.net/dblur_with_ffmpeg/) - ffmpeg 4.3 から使える予定のフィルタ。特定の方向にぼかすdblurフィルタの使い方。 - [別ファイルの情報から元映像を透過させる alphamerge](https://nico-lab.net/alphamerge_with_ffmpeg/) - alphamergeフィルタは2入力目のグレースケール(グレースケールでなければ変換される)の白黒具合に応じて1入力目に透過情報を加える。透過具合については黒が透過し、白に近いほど透過しなくなり、出力は YUVA または ARGB, RGBA になる。 - [ITU-T P.910を元とした2次元と3次元で映像の品質スコアを調べるsiti](https://nico-lab.net/siti_with_ffmpeg/) - [音声のノイズ低減フィルタanlmdn](https://nico-lab.net/anlmdn_with_ffmpeg/) - [ffmpeg で OpenCV フィルタを使う](https://nico-lab.net/how_to_use_opencv_filer_with_ffmpeg/) - Windows 用の配布バイナリには OpenCV が有効になっていないのでこれを有効にして使える3つのフィルタについて。 - [ffmpeg 5.0リリース](https://nico-lab.net/ffmpeg_5_0_released/) - 2022年1月15日に ffmpeg 5.0 Desitter(ウィレム・ド・ジッター)がリリースされた。今回のリリースはメジャーアップデートとなり、4.4以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。 - [フィルタ内で分割するsegment、asegment](https://nico-lab.net/segment_asegment_with_ffmpeg/) - いままではselect、aselectフィルタで複数の区間をフィルタ内で分割できたのがより直感的に分割できるようになった。タイムライン編集が使えないフィルタを使ったり、エンコードパラメータを複数使い分けて1つのファイルに戻すなどに使う。 - [明るいところ、暗いところにフィルタを当てる](https://nico-lab.net/apply_filter_to_light_or_dark_area/) - 明暗の度合いでもマスクできるのでこれを応用して一つの映像に複数のフィルタを使い分ける方法。 - [指定フレーム毎に順番を入れ換える shuffleframes](https://nico-lab.net/shuffleframes_with_ffmpeg/) - 映像のフレーム順を入れ換えたり、間引いたりするshuffleframesフィルタの使い方。AviSynth の SelectEveryのように使える。逆再生にする場合はreverseフィルタを使う。 - [各フィールドをフレームに変換する separatefields](https://nico-lab.net/separatefields_with_ffmpeg/) - 分離フィールドを交互に挟んだフレームにする separatefields フィルタ。フレーム数とフレームレートを2倍に、出力映像の縦解像度を半分にする。トップ、ボトムどちらのフィールドを先に出力するかは動画情報による。もし間違っているのなら setfield フィルタを先に指定する。 - [手動でフィールド処理を行う fieldhint](https://nico-lab.net/fieldhint_with_ffmpeg/) - フィールドオーダーが予め分かっている場合に、テキストファイルに正しいフィールドオーダーを記載することでどのインターレス解除フィルタよりも高速に逆テレシネ、プログレッシブ化できるfieldhintフィルタの使い方。いわゆる逆テレシネフィルタである。 - [色関係の設定のまとめ](https://nico-lab.net/setting-colors_with_ffmpeg/) - 色関係の設定でオプションとフィルタを使い分ける。 - [個別チャンネルの値を映像の場所毎に確認できる datascope](https://nico-lab.net/datascope_with_ffmpeg/) - YUV(A) や RGB(A)、GRAY の数値を16進数で映像にオーバーレイして確認できる datascope フィルタの使い方。 - [トーンカーブで RGB の調整が出来る curves](https://nico-lab.net/curves_with_ffmpeg/) - RGBをトーンカーブで色調調整ができるcurvesフィルタの使い方。ペイントツールで同時に表示されるヒストグラムはhistogramフィルタで表示できるが、Photoshopのようなメリハリの付いたグラフではなくてGIMPに近い感じになる。またPhotoshopのトーンカーブプリセットファイルのACVが読み込める。 - [任意の絶対値の差を返すmaskedthreshold](https://nico-lab.net/maskedthreshold_with_ffmpeg/) - 2入力した映像のピクセル値を比較し絶対値の差が、任意のしきい値と等しいかそれ以下ならば1入力のピクセル値が選ばれ、そうでなければ2入力のピクセル値が選ばれるmaskedthresholdフィルタの使い方。 - [ピクチャーをインターリーブ、デインターリーブするil](https://nico-lab.net/il_with_ffmpeg/) - ilフィルタの使い方。似たフィルタにフレームをインターリーブするinterleaveフィルタと、フレーム間をインターリーブするtinterlaceフィルタがある。 - [インターレースを解除する bwdif](https://nico-lab.net/bwdif_with_ffmpeg/) - bwdif(Bob Weaver Deinterlacing Filter)フィルタはyadifフィルタとキュービック補間アルゴリズムが使われているw3fdifフィルタを元とする動きに対応したインターレース解除フィルタである。 - [フィルタで手軽にリミッテッドレンジに出来る limiter](https://nico-lab.net/limiter_with_ffmpeg/) - 各チャンネルの上限と下限を越えたらその上限と下限でカットする limiter フィルタの使い方。今までは lut フィルタでも同様のことが出来たが、こちらのフィルタの方がコードの量も少なく直感的でわかりやすい。 - [x264のcrfエンコードの結果からほかのcrf値のサイズを推測する](https://nico-lab.net/estimate_crf_for_x264/) - -crf 18 -preset slowでエンコードした映像のサイズ、平均ビットレートからほかの-crfの値のサイズ、平均ビットレートを推測する。 - [H.264/AVC でシークしやすい中間出力ファイルに変換する](https://nico-lab.net/easy_decode_avc_with_ffmpeg/) - [ブロックマッチングアルゴリズムでデノイズするbm3d](https://nico-lab.net/bm3d_with_ffmpeg/) - nlmeansフィルタ並みに処理が遅いが、フレーム間の動きを推定してデノイズする3次元デノイザbm3dフィルタの使い方。 - [音声を位相メーターの映像に変換する aphasemeter](https://nico-lab.net/aphasemeter_with_ffmpeg/) - 音声を位相メーターの映像に変換する aphasemeter の使い方。 - [メタデータを映像化する drawgraph, adrawgraph](https://nico-lab.net/drawgraph_adrawgraph_with_ffmpeg/) - 映像の YUV、彩度、色相を映像にオーバーレイしたり、コンソールに表示したり出来る drawgraph フィルタと、音声の周波数や音量などを映像にオーバーレイしたり、コンソールに表示したり出来る adrawgraph フィルタの使い方。 - [movie, amovie 入力の設定内容](https://nico-lab.net/input_movie_amovie_sources/) - ffplay で複数ファイルを読み込んだり、ffprobe でフィルタを当てた後のデータを調べるときに使う movie, amovie 入力の設定内容。名前の通り映像と音声なので字幕は読み込めない。 - [音声統計データを表示する astats](https://nico-lab.net/astats_with_ffmpeg/) - 音声統計データを表示するastatsの使い方。メタデータ対応しているので出力したログの加工が容易になる。 - [映像に余白を追加する pad](https://nico-lab.net/pad_with_ffmpeg/) - 余白を追加することで、別のアスペクト比の映像に手軽に変換できる。ただし出力解像度が奇数になるとピクセルフォーマット次第で余白がずれたり、エンコードエラーになる。 - [フィールドを足したり引いたりする tinterlace](https://nico-lab.net/tinterlace_with_ffmpeg/) - 入力した映像のフレームをフィールドに分離し足したり引いたりする tinterlace フィルタの使い方。1入力1出力なので別ソースの同じ映像を取り込む場合は偶数フレームと奇数フレームをインターリーブしてから1映像にすることで2映像の偶数フィールドと奇数フィールドを混ぜることができる。 - [複数の映像を1つの映像に合わせるinterleave](https://nico-lab.net/interleave_with_ffmpeg/) - 2以上の映像をPTSに即して連続した映像で出力するinterleaveフィルタの使い方。フィルタを使ってエンコードするときは出力オプションに-rで動画のフレームレートを指定する。selectフィルタを併用するとシーンチェンジやフレームタイプ別にフィルタを使い分けられる。 - [フィールドオーダーを変更するfieldorder](https://nico-lab.net/fieldorder_with_ffmpeg/) - フィールドオーダーを書き換えて順番を入れ替えるfieldorderフィルタの使い方。フィールドオーダーの明示がなくフラグを立てるのはsetfieldフィルタ。 - [フィールドオーダーのフラグを建てるsetfield](https://nico-lab.net/setfield_with_ffmpeg/) - インターレースの映像でトップとボトムのどちらが最初なのかを指定するsetfieldフィルタ。フィールドタイプが明示されてないときに使い、フレーム自体に変更を加えない。フィールドタイプを変更するのはfieldorderフィルタ。 - [2つの連続したフィールドを1つのフレームで出力する weave](https://nico-lab.net/weave_with_ffmpeg/) - ffmpeg 3.2 でリリース予定のビデオフィルタ。フィールドを合わせてフレームにする weave フィルタの使い方。縦解像度が2倍になり、フレームレートとフレーム数は2分の1になる。 - [ffmpeg で音楽CDをリップする libcdio の使い方](https://nico-lab.net/libcdio_with_ffmpeg/) - libcdio で手軽に音楽CDを再生したり、リッピングすることができるが、個別に時間指定しないとトラック毎にファイルが出力されないので他のプログラムと併用しないと余り実用的ではない。 - [平均ブラー avgblur](https://nico-lab.net/avgblur_with_ffmpeg/) - 隣り合うピクセルを平均化してぼかす avgblur フィルタの使い方。 - [ループ回数を指定できる loop, aloop](https://nico-lab.net/loop_aloop_with_ffmpeg/) - ffmpeg で無限入力が可能に で追加されていたが、フィルタを掛けて加工することはできなかった。今回はフィルタ内でループするのでループ回数やループした部分にもフィルタが当てられる。 - [2つの映像のヒストグラムをうまく揃えるように調整する midequalizer](https://nico-lab.net/midequalizer_with_ffmpeg/) - 2つの映像を入力して2つ目の映像のヒストグラムを1つ目の映像にうまく揃える midequalizer フィルタの使い方。 - [1フレームに複数のフレームを表示する tile](https://nico-lab.net/tile_with_ffmpeg/) - 一つの映像の前後フレームを1フレームに表示し確認できる tile フィルタの使い方。 - [ffmpeg 4.4 リリース](https://nico-lab.net/ffmpeg_4_4_released/) - 2021年4月9日にffmpeg 4.4 “Rao“がリリースされた。今回のリリースはメジャーアップデートとなり、セキュリティ対応や4.3以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやデコーダの新機能が全て取り込まれた。2021年10月25日に4.4.1がリリースされた。アップデート内容はセキュリティ関係など修正ばかりで新しいフ - [音量のヒストグラムを映像化する ahistogram](https://nico-lab.net/ahistogram_with_ffmpeg/) - 現在までの音量とリアルタイムの音量をヒストグラムで表示する ahistogram の使い方。 - [マスクして2入力を合わせる maskedmerge](https://nico-lab.net/masking_video_with_ffmpeg/) - 3入力目をマスクにして、1入力目の映像と2入力目の映像をマスクに合わせて出力する。マスクをどの程度指定するかで1入力目と2入力目の割合を指定できる。アルファチャンネルを追加するalphamergeフィルタと負荷は変わらない。 - [新しい映像の動きの評価 vmafmotion](https://nico-lab.net/vmafmotion_with_ffmpeg/) - Netflixが使っている動きの評価に使われている VMAF(Video Multimethod Assessment Fusion)のモーションスコアを計算する。 - [オーディオフレームサイズを指定するasetnsamples](https://nico-lab.net/asetnsamples_with_ffmpeg/) - 通常はコーデック毎やエンコーダ毎にサンプル数が異なるがこれを任意の値に指定できるasetnsamplesフィルタの使い方。映像のフレーム毎の内容を音声と同期させるために使う。 - [一番メジャーなインターレース解除フィルタ yadif](https://nico-lab.net/yadif_with_ffmpeg/) - インターレース解除といえばとりあえずこのフィルタの名前が挙がるほど有名なフィルタ。yadifはyet another deinterlacing filterの略語。 - [RGBA の各値を別のチャンネルに混ぜ合わせる colorchannelmixer の使い方](https://nico-lab.net/colorchannelmixer_with_ffmpeg/) - RGB からそれぞれの RGB にミックスして色を変えるフィルタ colorchannelmixer の使い方。 - [色相を動的に変更できる hue](https://nico-lab.net/hue_with_ffmpeg/) - YUVの輝度と彩度を調整できるhueフィルタ。値の指定にフレーム数やタイムスタンプが使えるので時間によって動的に変えられる。RGBベースはhuesaturationフィルタを使う。 - [色相を変更できるhuesaturation](https://nico-lab.net/huesaturation_with_ffmpeg/) - RGBベースの色相を変更できるhuesaturationフィルタの使い方。YUVベースはhueフィルタ。タイムライン編集に対応。 - [映像の変化が少ないシーン区間を調べるfreezedetect](https://nico-lab.net/freezedetect_with_ffmpeg/) - しきい値と検出区間を指定して動きの少ない区間を調べるfreezedetectフィルタの使い方。 - [低域を減退させるhighpassと広域を減退させるlowpass](https://nico-lab.net/highpass_lowpass_with_ffmpeg/) - 3dBポイントの周波数でフィルタを適用する。フィルターは単極、または両極のいずれかが選択できる。フィルタのロールオフ(減衰傾度)は、1オクターブあたり6dB/極になる。周波数毎に無音にするにはsuperequalizerフィルタなどを使う。 - [サンプリング周波数を変えずにテンポとピッチを変える rubberband](https://nico-lab.net/rubberband_with_ffmpeg/) - 今まではテンポ(再生速度)を変えるには atempo を、ピッチ(高低)を変えるには asetrate を使っていたが、rubberband は asetrate で変わる周波数を変えずにピッチとテンポを変えることができる。 - [ピッチを任意の周波数に変更するasetrate](https://nico-lab.net/asetrate_with_ffmpeg/) - 入力した音声のサンプリング周波数より高ければ高音に、低ければ低音に変える。出力周波数は変更した周波数に変わるのでオプションの-arか、aresampleフィルタで目的の周波数に変更する。 - [ffmpeg でヒストグラムを表示する](https://nico-lab.net/display_histogram_with_ffmpeg/) - 動画編集ツールによくあるヒストグラムを表示する histogram フィルタの使い方。以前あった color、waveform オプションは廃止になり個別のフィルタとして独立した。 - [映像を分割し連続フレームにするuntile](https://nico-lab.net/untile_with_ffmpeg/) - tileフィルタで一覧にした複数フレームを1つの連続したフレームに戻すのと、1フレームを分割して複数フレームにするuntileフィルタの使い方。 - [技術書典9でFFmpegのオーディオフィルタ本が出ます](https://nico-lab.net/publish_ffmpeg-audio-filter-book/) - 技術書典9 で販売するFFmpegのオーディオフィルタ本について。 - [任意の音声チャンネルを出力する channelsplit](https://nico-lab.net/channelsplit_with_ffmpeg/) - 左だけ右だけ LFE だけなど指定したチャンネルだけ、つまりモノラル出力できるchannelsplitフィルタの使い方。channel_layoutのすべてを出力する必要はなく、channelsで指定したチャンネルだけ出力できる。 - [ガウシアンブラー gblur](https://nico-lab.net/gblur_with_ffmpeg/) - ガウシアンカーネルを使ってしてぼかす gblur フィルタの使い方。 - [ffmpeg で複数出力](https://nico-lab.net/multiple_outputs_with_ffmpeg/) - 1つのファイルにフィルタを使い分けたり、コピーしたり複数出力する方法のまとめ。 - [再エンコードせずに fps を変更する](https://nico-lab.net/change_fps_without_re-encode_with_ffmpeg/) - H.264, H.265 の映像を再エンコードせずにフレームレート(fps)を変更する方法。映像のフレームレートだけなので音声は再エンコードしないと速度を変えられない。音声の速度変更は atempo, rubberband フィルタのどちらかを使う。 - [各映像チャンネルを結合する mergeplanes](https://nico-lab.net/mergeplanes_with_ffmpeg/) - 分離したチャンネルを合わせたり入れ替えたり、ピクセルフォーマットを変えたりできる。またアルファチャンネルのない映像に、他のチャンネルをアルファチャンネルに複製することもできる。 - [インターレース解除フィルタ w3fdif](https://nico-lab.net/w3fdif_with_ffmpeg/) - w3fdif とは BBC R&D の Martin Weston氏を元とし、BBC R&D の Jim Easterbrook氏がインターレース解除の機能を実装した片フィールド補間のインターレース解除フィルタである。 - [ffmpeg でエッジ検出をする edgedetect](https://nico-lab.net/edgedetect_with_ffmpeg/) - 動画や画像のエッジ検出を行い、動画や画像に出力する。画像出力の場合はトレスの練習によく、動画の場合は別のツールを使ってクロマキー処理のためのマスク処理に使える。出力フォーマットは gray。そのほかのエッジ検出フィルタにconvolution、sobel、prewitt、robertsやがある。 - [エッジ検出フィルタ sobel, prewitt](https://nico-lab.net/sobel_prewitt_with_ffmpeg/) - エッジ検出フィルタに単体では edgedetect と frei0r の sobel があり、カーネルを指定する convolution でもエッジ検出ができるが、今回のこれらのフィルタは手軽でエッジ部分の線が太いのでマスクするのにも便利。sobel と prewitt はカーネルが少し異なるがオプションは同じである。 - [エッジ検出フィルタ roberts](https://nico-lab.net/roberts_with_ffmpeg/) - Roberts cross operator を用いたエッジ検出フィルタ roberts の使い方。同様のフィルタに sobel, prewitt があり、他にもエッジ検出できるフィルタはいくつかある。 - [PIDをトラックIDとしてMP4コンテナにつける](https://nico-lab.net/pid_in_mp4_with_ffmpeg/) - -streamidを指定して、かつ-use_stream_ids_as_track_ids trueを併用する。内容はMediainfoで確認できる。 - [エッジ検出フィルタscharr](https://nico-lab.net/scharr_with_ffmpeg/) - ffmpeg 4.5でリリース予定のビデオフィルタ。sobelとprewitt、robertsはカーネルが少し異なるがオプションは同じである。 - [各チャンネルのピクセル値を反転するnegate](https://nico-lab.net/negate_with_ffmpeg/) - 8ビットなら255を0に反転させるnegateフィルタの使い方。lutフィルタでも同様のことができる。タイムライン編集と高ビット深度に対応。 - [黒フレームを調べる blackframe](https://nico-lab.net/blackframe_with_ffmpeg/) - フレーム毎に黒フレームを調べる blackframe フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。blackdetect よりも設定方法が分かりやすい。 - [上下左右を特定色で埋める fillborders](https://nico-lab.net/fillborders_with_ffmpeg/) - 解像度を変えずに上下左右を特定色で埋める fillborders フィルタの使い方。上下左右にロゴや不要な映像が入っているときに真っ黒にしたり、4:3解像度の映像を16:9にするときに pad フィルタを使って左右に余白を追加し、その余白を合わせ鏡のように変えることも出来る。 - [連続フレームの差分をブレンドする tblend](https://nico-lab.net/tblend_with_ffmpeg/) - 連続フレームを読み込んでそれぞれを計算するtblend(time blend)フィルタの使い方。オプションはblendフィルタと同じ。 - [指定したチャンネルの周波数帯の音量を変えるequalizer](https://nico-lab.net/equalizer_with_ffmpeg/) - 指定したチャンネルの周波数帯の音量を変えるequalizerフィルタの使い方。チャンネル毎に設定でき、設定方法も直感的なので使いやすい。 - [ffplay で時間とフレーム数を表示する](https://nico-lab.net/display_pts_frames_with_ffmpeg/) - drawtext フィルタを使って時間とフレーム数を表示する方法。ただしこの方法は固定フレームでしか使えない。30000/1001 などの部分を動画のフレーム数で指定する。表示される内容は左から秒時間、hms時間、フレーム数、フレーム数を5で割った余り、ピクチャータイプ。 - [ffmpeg で YUV, RGB波形を表示する waveform](https://nico-lab.net/display_waveform_with_ffmpeg/) - histogram に含まれていた waveform が個別のフィルタになり、histogram の waveform は非推奨になっている。高ビット深度に対応。 - [N を使わない新しいニコ生用の rtmpdump と ffmpeg(librtmp)](https://nico-lab.net/new_cumtom_rtmpdump_and_ffmpeg_without_n-option_for_nicolive/) - [速くて単純なポストプロセッシングフィルタ fspp](https://nico-lab.net/fspp_with_ffmpeg/) - fspp(fast and simple postprocessing)とは前回の pp に続くポストプロセッシングフィルタである。pp よりもオプションが簡素なので使いやすい。 - [クロミナンスノイズ低減フィルタchromanr](https://nico-lab.net/chromanr_with_ffmpeg/) - 色彩のデノイズを行うchromanrフィルタの使い方。軽く当てると明るさ成分には影響なく、あまり色彩を失わずにデノイズできる。変化度合いのしきい値が指定できるので調整しやすい。タイムライン編集に対応。フレーム間の色彩デノイズ、いわゆるちらつき除去はhqdn3dフィルタを使う。 - [新着ニコニコミュニティがハングルだらけ](https://nico-lab.net/many_hangul_name_niconicommunity/) - 見ての通りハングルが並んでいる新着コミュニティ一覧。過去の新着コミュニティを調べてみると2015年11月30日の18時14分32秒に設立されたコミュニティが荒らしの始まりのようだ。なぜ開設日時の秒まで調べられるかというと API で調べられるから。 - [TED の日本語字幕を保存し動画に合わせる](https://nico-lab.net/ted_caption_with_ffmpeg/) - TED のプレゼンテーション動画をブラウザやアプリで見るときに字幕が選択できるが、これを ffmpeg で PC に保存し動画に合わせる方法。わざわざ字幕付き動画は公式から普通に保存できるが2言語の字幕付きの動画に変換する方法も併せて紹介する。 - [一部の niconico の API, https に対応へ](https://nico-lab.net/https_niconico_api/) - v1 は対応してるが v2 はまだ対応してない - [手軽にモーションブラー atadenoise](https://nico-lab.net/atadenoise_with_ffmpeg/) - 各チャンネルの変化具合と平均化するフレーム数の指定により簡易のモーションブラーを当てることができる atadenoise(Adaptive Temporal Averaging Denoiser )フィルタの使い方。 - [ffmpeg で動画にロゴ画像を追加し透過させる](https://nico-lab.net/add_logo_image_with_transparent_to_movie_with_ffmpeg/) - 具体的には overlay フィルタを使って画像を映像の上に載せるが、そのままだと画像が透過しないので format フィルタでアルファチャンネルを追加し、lutyuv フィルタで透過具合を指定する。画像が動画よりも縦横のどちらかの解像度が超えている場合は予めリサイズするか、フィルタで小さくする。 - [鮮鋭化やぼかし、エンボス処理などができる convolution](https://nico-lab.net/convolution_with_ffmpeg/) - 3 x 3, 5 x 5 または 7 x 7(ffmpeg 4.0 以降) のカーネルが指定できる convolution (畳み込み)フィルタの使い方。数学的な話はここでは説明しない。出力フォーマットは yuv。 - [ffmpeg でクロマキー合成 その2](https://nico-lab.net/chromakey_with_ffmpeg/) - chromakey フィルタは指定した色の部分が透過した YUVA で出力し透過した部分にオーバーレイして別の映像を映すのに使う。バージョンは3.0 以降から使える。 - [ffmpeg で無限入力が可能に](https://nico-lab.net/input_infinity_with_ffmpeg/) - 今までは -loop 1 で画像の無限入力はできていたが、これからは音声や映像も無限に入力できるようになった。 - [ffmpeg を使って透過したオーバーレイ動画を作る](https://nico-lab.net/overlay_video_with_transparent/) - blend フィルタを応用して透過したオーバーレイ動画を作る方法。 - [各チャンネルの音声のビットスコープを映像化する abitscope](https://nico-lab.net/abitscope_with_ffmpeg/) - 各チャンネルの音声のビットスコープを色別で横に並べて映像にする abitscope フィルタの使い方。出力フォーマットは RGBA。 - [Zeranoe ffmpeg、9月18日に閉鎖へ](https://nico-lab.net/zeranoe_close/) - WindowsとmacOSのffmpegを配布しているffmpeg.zeranoe.comは過去のアーカイブを含めて2020年9月18日に閉鎖する。 - [FFmpegの本を頒布した技術書典7を振り返る](https://nico-lab.net/feedback_techbookfest7/) - 9月22日に開催された技術書典7を振り返る。 - [輪郭を保護しながらシャープにしたりぼかしたりする unsharp](https://nico-lab.net/ffmpeg_with_unsharp/) - 似たフィルタに smartblur があり、こちらもぼかしたりシャープにできる。RGB の映像は YUV に変換され、輝度だけ、彩度だけ、また両方にフィルタを掛けられる。 - [ffmpeg で指定秒ごとに分割する方法](https://nico-lab.net/split_every_seconds_with_ffmpeg/) - 出力フォーマットに segment を使って指定秒ごとに分割する。ストリームコピーする場合は GOP の関係で正確に指定秒ごとに分割できない。 - [RGB レベルで明暗調整できる colorlevels](https://nico-lab.net/colorlevels_with_ffmpeg/) - 手軽に RGB を明るくしたり、暗くしたり、コントラストを上げ下げできる colorlevels フィルタの使い方。 - [FFmpegのオーディオフィルタの本を頒布した技術書典9を振り返る](https://nico-lab.net/feedback_techbookfest9/) - 既刊のFFmpegの本は技術書典7のときと同じように1500円で販売し、オーディオフィルタの本は、電子版は500円で、物理本とセットで1000円で販売した。価格については電子版の最低価格が0円か500円以上になっていたので500円に設定。物理本も同じ価格の500円に設定。 - [この1ヶ月でのニコニコアカウント取得の変更点](https://nico-lab.net/niconico_account_202010/) - アカウントIDが1億を超え、性別欄に「その他」、「回答しない」が追加された。 - [技術書典7 でFFmpeg本出ます](https://nico-lab.net/publish_ffmpeg-book/) - 内容はブログで書いてきたことを中心に改稿したものになる。他のブログでよく紹介されている使い方から便利な使い方まで基本的な使い方を紹介する。 - [カラーレンジを記述するsetrange](https://nico-lab.net/setrange_with_ffmpeg/) - 入力した映像のカラーレンジを記述するsetrangeフィルタの使い方。 入力映像は変更しないがフィルタやエンコーダの処理方法に影響を与える。 - [複数の周波数帯の音量を変えるanequalizer](https://nico-lab.net/anequalizer_with_ffmpeg/) - 指定したチャンネルの周波数帯の音量を変えられるanequalizerフィルタの使い方。似たフィルタが他にもありequalizerは同じように周波数帯のゲインを調整するがこちらのほうがわかりやすい。 - [音声の末尾に無音を挿入する apad](https://nico-lab.net/apad_with_ffmpeg/) - adelayフィルタは音声のチャンネル毎に無音の挿入ができたが、このapadフィルタはまとめて末尾に無音を挿入する。映像は何もしないので無音を挿入すると映像と音声の時間が異なるファイルになる。 - [2020年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202006/) - 取得放送数は 472,882。 - [テストシグナルの音声を作る sine](https://nico-lab.net/sine_audio-source_with_ffmpeg/) - [音声のダイナミックレンジを調べる drmeter](https://nico-lab.net/drmeter_with_ffmpeg/) - 14以上ならレンジがとても広く、8以上14未満までは普通で、8未満はレンジが狭いとされている。 - [音量の統計を調べるvolumedetect](https://nico-lab.net/volumedetect_with_ffmpeg/) - サンプル数と音量の根二乗平均、サンプル毎の最大値、最大値から上位千分の1によるヒストグラムの統計を調べるvolumedetectフィルタの使い方。オプション指定はない。 - [18の周波数帯に分けてゲインを調整する superequalizer](https://nico-lab.net/superequalizer_with_ffmpeg/) - compand フィルタのように特定の音量を調整するのではなく、特定周波数の音量を上げたり下げたり出来る superequalizer フィルタの使い方。 - [サンプリング波形を一枚画像で出力する showwavespic](https://nico-lab.net/create_samples_waves_image_with_ffmpeg/) - 音声データを読み込みサンプリング波形を一枚画像で出力する showwavespic の使い方。音声のどの時間帯でどのくらいの音量があるのかがよくわかる。 - [入力した2つの音声にクロスフェードをかける acrossfade の使い方](https://nico-lab.net/audio_crossfade_with_ffmpeg/) - 1入力の最後の音量を絞りながら2入力の音量を徐々に上げてつなげるフィルタ。単純に音声ファイルをつなげるのなら concat を使う。 - [ffmpeg で先頭と後ろを一度にカットする](https://nico-lab.net/cut_before_after_with_ffmpeg/) - Cut video with ffmpeg. – Stack Overflow より、再エンコードなしに1行のコマンドで先頭と後ろをカットする方法。 - [ffmpeg で同じ種類のウェブカメラを2台同時利用する](https://nico-lab.net/using_same_webcam_with_ffmpeg/) - ffmpeg それ自体にそれぞれを識別する機能が追加されたのでそれを利用してウェブカメラを同時利用する方法。 - [ユーフォ2期OP冒頭部分のモノクロ部分だけ黒にする](https://nico-lab.net/uv-mask_with_ffmpeg/) - モノクロ部分の UV が 128 になるのを利用してこの部分以外をマスクして真っ黒にする。 - [前後フレームの差分で動いた部分だけマスクする モーションマスク](https://nico-lab.net/motion_mask_with_ffmpeg/) - 前フレームのY差分をマスクしてフィルタを当てなくするモーションマスクの使い方。使うフィルタはtblendフィルタで前後フレームを1入力で取り込み、maskedmergeフィルタで1、2入力の割合を決めている。 - [ffmpeg 4.3 リリース](https://nico-lab.net/ffmpeg_4_3_released/) - 2020年6月16日に ffmpeg 4.3 “4:3” がリリースされた。今回のリリースバージョン名は人名ではない。今回のリリースはメジャーアップデートとなり、セキュリティ対応や 4.2 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやデコーダの新機能が全て取り込まれた。 - [映像と音声を逆再生にエンコードする](https://nico-lab.net/encode_video_and_audio_in_reverse/) - reverse, areverseフィルタを使って逆再生にエンコードする。長時間逆再生にすると大量にメモリを消費するのであらかじめ時間を区切った方が処理が速く済む。 - [モノクロで点滅する効果を作る](https://nico-lab.net/flashing_of_monochrome_effect/) - YUVの映像なら彩度を0にするか、UVを128にする方法で、RGBの映像ならRGB各値をそれぞれ一定倍率を掛け合わせる方法をとり、点滅するフレーム間隔を指定するのにタイムライン編集を行う。 - [2020年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202005/) - 取得放送数は 558,698。 - [ウェーブレットデノイザ vaguedenoiser](https://nico-lab.net/vaguedenoiser_with_ffmpeg/) - ffmpeg 3.2 でリリースのビデオフィルタ。Cohen-Daubechies-Feauveau(CDF) 9/7 のウェーブレットデノイザ。フィルタを当てるチャンネルを指定できる。 - [彩度の座標をずらすchromashift](https://nico-lab.net/chromashift_with_ffmpeg/) - 彩度の座標をずらすことで色収差のような効果が得られるchromashiftフィルタの使い方。RGBの座標をずらすならrgbashiftフィルタがある。 - [RGBの座標をずらすrgbashift](https://nico-lab.net/rgbashift_with_ffmpeg/) - RGBとアルファチャンネルの座標をずらすrgbashiftフィルタの使い方。フィルタ名はrgbaだが、オプションの順番はgbraになる。 - [256色のパレットを出力するshowpalette](https://nico-lab.net/showpalette_with_ffmpeg/) - パレット最適するpalettegenフィルタがあるが、こちらは映像に最適化したパレットを作らないのできれいなグラデーションにならない。 - [ドラゴンクエストヒーローズをクリアした](https://nico-lab.net/dragonquest_heroes/) - 久しぶりに買ったコンシューマーゲームのドラゴンクエストヒーローズ(DQH)のクリアデータとか。 - [ffmpeg でグレースケールを扱う](https://nico-lab.net/grayscale_with_ffmpeg/) - フィルタでグレースケールを扱うには大まかに YUV の Y を取り出す方法と、グレーにフォーマット変換する方法の2通りがある。 - [ドラクエの戦闘シーンチェンジエフェクトを作る](https://nico-lab.net/dragon_quest_battle_transition/) - ニコニコ動画に投稿された「DQエンカウント風AviUtlシーンチェンジ用素材 sm30578410」を元に ffmpeg でも同じことを実装する。配布されたファイルは 8bit PNG なのでそれを使い、グラデーションマスクを作成し2入力を合わせる方法をとる。 - [remove.bg でゲットした小さな透過画像を元画像に取り入れる](https://nico-lab.net/apply_alphachannel_to_original_image/) - 画像の背景を削除して被写体を切り抜くウェブサービス remove.bg で手に入れた低解像度の透過画像をオリジナルの画像に透過情報を適用する。解像度が異なるのでオリジナルのサイズを手動で指定する。 - [LUTを手軽に入れ替えられるlut2、tlut2、swapuv](https://nico-lab.net/lut2_with_ffmpeg/) - 映像のYUVやRGBを別の映像と入れ換えるときに今まではextractplanesフィルタで対象チャンネルを取り出して、mergeplanesフィルタで合わせていたのがlut2フィルタだけで入れ換えるられる。 - [ニューラルネットワーク予測を使ってインターレース解除する nnedi](https://nico-lab.net/nnedi_with_ffmpeg/) - ニューラルネットワーク予測のエッジ補正からインターレースを解除するフィルタ nnedi の使い方。既存のインターレース解除フィルタ yadif や w3fdif、現時点では master の bwdif に比べてかなり処理速度の遅いフィルタである。 - [映像の差分を加算する maskedclamp](https://nico-lab.net/maskedclamp_with_ffmpeg/) - 映像を3入力し、1入力を基本の映像として、1入力と比較して2入力は差分の値がプラスのときに、1入力と比較して3入力は差分の値がマイナスのときに、その差分だけ1入力と入れ換える maskedclamp フィルタの使い方。 - [閾値の指定で2つのフィルタを使い分けやすくする threshold](https://nico-lab.net/threshold_with_ffmpeg/) - ffmpeg 3.3 から追加予定のフィルタ。4つの映像を入力して、1、2入力の比較で3、4入力を使い分けて1出力する threshold フィルタの使い方。高ビット深度対応の YUV, GBRP, GRAY, アルファ に対応している。2つのフィルタを使い分けたり、白黒2色のマスクが手軽に設定できる。 - [3次元周波数領域デノイズフィルタ fftdnoiz](https://nico-lab.net/fftdnoiz_with_ffmpeg/) - 3次元周波数領域デノイズフィルタ fftdnoiz の使い方。ただし既定値では3次元はなく2次元設定になっている。他の3次元デノイズフィルタに hqdn3d がある。 - [時間でフィルタに強弱をつける](https://nico-lab.net/timeline-editing_filter_strength_with_ffmpeg/) - アルファチャンネルの濃さを調整することで時間で強弱をつけるフィルタができあがる。 - [バンディング低減フィルタdeband](https://nico-lab.net/deband_with_ffmpeg/) - バンディングアーチファクトを低減させるdebandフィルタの使い方。バンディング部分は参照した周辺のピクセルで平均化される。 - [コントラストに応じたシャープフィルタ cas](https://nico-lab.net/cas_with_ffmpeg/) - cas は “Contrast Adaptive Sharpen” の略。似たフィルタに unsharp がある。 - [kakoroku で公式の長時間放送が全部保存できない原因について](https://nico-lab.net/unable_to_download_ts_with_kakoroku/) - コミュ掲示板の 7767 より、ホラー「監死カメラ」シリーズ48時間一挙放送/ホラー百物語 : lv228170627 の7番目以降の TS とコメントが保存できない理由と対処法について。 - [ffmpeg 2.8 の気になる新機能とは](https://nico-lab.net/ffmpeg_2-8_released/) - ffmpeg 2.8 が2015年9月9日リリースされました。それに伴い ffmpeg 2.7.2 から新たに追加されたフィルタやエンコーダーやデコーダーなど気になる新機能についてのまとめ。 - [ffmpeg 2.8.1 リリース](https://nico-lab.net/released_ffmpeg_2-8-1/) - ffmpeg 2.8.1 が2015年10月14日リリースされた。今回のアップデートは修正が主で最新gitで公開されている新規のフィルタは追加されていない。 - [輝度の段差を減らして容量を減らす試み](https://nico-lab.net/decimate_luminance_with_ffmpeg/) - ffmpeg のフィルタで容量を減らすと言えばたいていの場合デノイズしてのっぺりさせてきたが、今回はデノイズではなくてYチャンネル(輝度)のステップを間引いて容量を減らしてみた。 - [360°動画を個別の視点に展開する transform](https://nico-lab.net/transform_with_ffmpeg/) - [公式ニコ生のHTML5配信(β)の録画方法について](https://nico-lab.net/official_nicolive_html5_hls_streaming_beta_and_record_video/) - 2017年1月16日から Flash なしの HTML5 で観られるようになった、HTML5対応のニコニコ生放送視聴ページについて。現在は平日19時からの ニコラジ で HTML5対応のニコニコ生放送が観られる。 - [ffmpeg で差分動画を作る](https://nico-lab.net/ffmpeg_overlay_two_videos_subtract/) - Avisynth で言うところの Subtract を ffmpeg を使って差分を表示して overlay して比較動画を作る方法。 - [NVIDIA の GPU エンコーダー NVENC の現状と今後について #GTC15](https://nico-lab.net/nvidia_gpu_encoder/) - 公開されている PDF から GPU エンコーディングの活用方法を考える。 - [アドレス入力でニコ生のコメントを表示する](https://nico-lab.net/http_nicolive_comments_get/) - アドレス入力だけでニコ生のコメントを表示する方法とその応用について。 - [透過部分だけに色を付ける](https://nico-lab.net/replace_transparent_pixels_with_another_color_in_ffmpeg/) - 透過情報のある画像、または映像に透過部分を別の色に変えて透過情報を消すコマンド。 - [ニコ生旧配信TSの録画まとめ](https://nico-lab.net/old-nicolive_record/) - 2018年12月11日の昼過ぎの仕様変更により普通の方法では従来の Flash Player を使った配信が見られなくなった。しかし現在のところ Flash Player で見るのは完全にはふさがれていないので見る方法と保存方法、コメントとの同期についてのまとめ。 - [2入力する映像のフィルタを詳しく設定する](https://nico-lab.net/setting_multi_inputs_filter/) - 2つ以上の映像を入力してフィルタを当てるときにそれらの読み込み開始時間は等しくなる。これを -ss オプションや trim フィルタを使って読み込み開始時間をずらす方法。 - [ニコ生新配信、TSのビットレートと解像度が改善される](https://nico-lab.net/improve_new_nicolive_stream_quality/) - 2017年7月13日のメンテナンスで ニコ生の新配信(β)と録画方法について で当初言及していたタイムシフトが一般会員と同じ低画質になる問題は改善され、映像と音声の合計平均ビットレートが 1Mbps 程度になり、配信解像度は生放送と同じ 800×450 になった。 - [2色だけ、3色だけに減色する映像効果](https://nico-lab.net/two_or_three_tone_colors_effect/) - 2色のグラデーションにするには normalize フィルタを使えばよいが、2色だけ、3色だけにするには lutyuv, lutrgb フィルタを使いこなすことで作ることが出来る。イメージとしては「ブラタモリ」のオープニングで見られる効果に似ている。 - [複数ファイルの映像のピクセル中央値を返す xmedian](https://nico-lab.net/xmedian_with_ffmpeg/) - 複数画像や映像の異なるフレームのピクセル中央値を返すことで長時間露光したような動く部分だけが消えて背景だけの映像が作れる。入力するファイル数や参照フレームを多くしたり、解像度やフレームレートが高いとそれだけ負荷も高くなる。 - [Youtube Live の HTML5 で 60fps 視聴が可能に](https://nico-lab.net/60fps_live_streaming_on_youtube_in_html5/) - [cURL で getpublishstatus と getplayerstatus を取得する](https://nico-lab.net/get_getpublishstatus_and_getplayerstatus_via_curl/) - [映像の2カ所を入れ替える swaprect](https://nico-lab.net/swaprect_with_ffmpeg/) - 指定した座標から四角い範囲を入れ替える swaprect の使い方。数値に n、t、pos が使えるので時間の経過で座標を変えることができる。 - [自炊マンガの色補正](https://nico-lab.net/correct_manga_color_with_ffmpeg/) - 白くなるところが真っ白になってなかったり、黒になるところが真っ黒のになってないところを ffmpeg で補正する。方法はコントラストを上げて白はより白く、黒はより黒くする。 - [情熱のある番組の配信形式が変わる](https://nico-lab.net/jounetsu_changes_brightcove_to_boltdns/) - 今週の放送分から brightcove から boltdns に代わり master.m3u8 だと低ビットレートの 1080p になるのでこれを 720p に変更する。ダウンローダは youtube-dl と ffmpeg を使い2つとも同じフォルダに置いておく。 - [映像の前後にフレームを挿入する tpad](https://nico-lab.net/tpad_with_ffmpeg/) - 映像を挿入して動画時間を伸ばすことができる tpad フィルタの使い方。映像のフレームレートに合わせるのでフレーム数、時間の指定だけでよい。映像時間が伸びるので音声時間と合わなくなるときは -shortest をつけると短い方でカットされる。 - [映像を上下左右にスクロールする scroll](https://nico-lab.net/scroll_with_ffmpeg/) - 今までは stack フィルタで映像を並べて overlay フィルタで映像を動かしていたのが、scroll フィルタだけでスクロールできるようになった。出力フォーマットは GBRP なので適宜 format フィルタで出力形式に合わせて変換する。 - [白と黒を使ったフェード効果](https://nico-lab.net/fade_to_black_or_white_effect/) - 白や黒にフェードインする効果と、白や黒から入力した映像にフェードアウトする効果の解説。入力した映像が YUV、または RGB で処理が異なる。効果は2秒から4秒に掛けての2秒間で行う。適宜効果の時間は設定を変える。 - [新配信で4:3映像に余白をつけて800x450配信にする](https://nico-lab.net/streaming_nicolive_beta_with_scale_pad/) - 元映像が4:3なら丁度よい解像度にリサイズし余白をつけて推奨解像度の800×450にする。 - [4:3を16:9に、16:9を4:3に余白と透過をつける](https://nico-lab.net/padding_and_transparent_auto_aspect_ratio/) - 前回記事は余白だけをつけたが今回はその余白の部分だけ透過させる。映像の部分的に透過させるには geq フィルタを使う。 - [簡易的なフレーム補間をする framerate](https://nico-lab.net/framerate_with_ffmpeg/) - 本格的なフレーム補間は minterpolate フィルタがあるが、framerate は前後フレームを平均化してフレーム補間を行う。 - [非局所平均のデノイザ nlmeans](https://nico-lab.net/nlmeans_with_ffmpeg/) - ffmpeg のフィルタの中でかなり処理が重たい部類に入るエッジ保護のデノイザ nlmeans フィルタの使い方。 - [静止画放送かどうかを ffmpeg で調べる](https://nico-lab.net/cheking_static_background_video_with_ffmpeg/) - ffmpeg には blend フィルタの difference128 オプションを使うことで特定シーン同士を比較して映像の差分を調べることができる。今回はニコ生の雑談放送でよく見られる静止画1枚を映しながら放送しているタイプの動画を調べるコマンドである。 - [指定した色の色彩を残してそれ以外をグレーに変える colorhold](https://nico-lab.net/colorhold_with_ffmpeg/) - 出力フォーマットは BGRA。アルファチャンネルは透過しない。 - [てんかん患者に配慮したシーンチェンジブラー photosensitivity](https://nico-lab.net/photosensitivity_with_ffmpeg/) - 急激な輝度変化で明るくなるシーンチェンジにフレーム平均ブラーを掛けて輝度変化を緩やかにする photosensitivity(いわゆる光過敏性発作対策)フィルタの使い方。 - [RGB を伸張させる normalize](https://nico-lab.net/normalize_with_ffmpeg/) - 指定色でのモノトーンを作ったり、レンジを広げて見栄えをよくするnormalize フィルタの使い方。 - [ウェーブレットデノイザ owdenoise](https://nico-lab.net/owdenoise_with_ffmpeg/) - 過完備のウェーブレットデノイズフィルタ owdenoise(Overcomplete Wavelet denoiser)フィルタの使い方。比較的負荷の大きいデノイズフィルタである。 - [矩形部分の YUV, RGB の値を表示する pixscope](https://nico-lab.net/pixscope_with_ffmpeg/) - 矩形部分の YUV, RGB の平均値と最小値、最大値、RMS と矩形の拡大も表示される pixscope フィルタの使い方。 - [ピクセル数はそのままに映像を回転させる transpose](https://nico-lab.net/transpose_with_ffmpeg/) - ピクセル数はそのままなので、1280X720 だと、90度回転すると 720X1280 になる。似たフィルタに rotate, hflip, vflip フィルタがある。 - [上下左右を入れ換える vflip, hflip](https://nico-lab.net/vflip_hflip_with_ffmpeg/) - 解像度はそのままに上下左右を入れ換える vflip, hflip フィルタの使い方。似たフィルタに rotate, transpose フィルタがある。 - [RGB の色味を手軽に調整できる vibrance](https://nico-lab.net/vibrance_with_ffmpeg/) - [エッジ部分に調整のあるポストプロセッシングフィルタ pp7](https://nico-lab.net/pp7_with_ffmpeg/) - [一定間隔で映像に線を引く drawgrid](https://nico-lab.net/drawgrid_with_ffmpeg/) - 映像に縦線や横線、または格子状に直線を引く drawgrid フィルタの使い方。 - [音声のダイナミックレンジを広げる crystalizer](https://nico-lab.net/crystalizer_with_ffmpeg/) - 単純なアルゴリズムで音声のダイナミックレンジを広げる crystalizer フィルタの使い方。 - [映像の場所を入れ換えて暗号化する](https://nico-lab.net/encrypt_video_using_swaprect_filter/) - ネット上で漫画を読めるサービスで画像のリンクを開いてみると、本来の映像の位置からバラバラに配置した画像が見られる。これを ffmpeg の swaprect フィルタを使って映像をバラバラに配置して同じ効果を求めてみる。 - [音量を脈打つように上げ下げできる apulsator](https://nico-lab.net/apulsator_with_ffmpeg/) - apulsator はオートパンやトレモロの中間的なフィルタである。 - [フィルタのベンチマークを調べることができる bench, abench](https://nico-lab.net/bench_abench_with_ffmpeg/) - 平均負荷と最大負荷、最小負荷を調べることができる。 - [plane を入れ替え、コピーする shuffleplanes](https://nico-lab.net/shuffleplanes_with_ffmpeg/) - plane(YUV や RGB の個別チャンネル)を入れ替えたり、コピーしたりできる shuffleplanes の使い方。 - [アルファチャンネルをグレーで出力する alphaextract](https://nico-lab.net/alphaextract_with_ffmpeg/) - 映像にアルファチャンネルがあるときに alphaextract を使えばグレースケールで取り出すことができる。 - [ffmpeg でエッジマスク](https://nico-lab.net/edgemask_with_ffmpeg/) - [映像の黒枠の座標を検出する bbox](https://nico-lab.net/bbox_with_ffmpeg/) - 映像フレームの輝度チャンネルから黒枠を検出して黒枠以外の座標をコンソール上に表示する。crop と drawbox のコマンドも表示する。 - [強力な2次元デノイザ sab](https://nico-lab.net/sab_with_ffmpeg/) - 輝度と彩度の変化を元に範囲を指定してぼかす sab(Shape Adaptive Blur)フィルタの使い方。 - [こもった音や割れた音に変える aemphasis](https://nico-lab.net/aemphasis_with_ffmpeg/) - LPレコードやCDなどのフィルタカーブで強調された素材を作成または復元する aemphasis の使い方。音割れさせたりこもった音に変えたりできる。 - [ffplay の基本起動オプション](https://nico-lab.net/ffplay-main-options/) - ffplay で起動時にオプションを指定することで解像度や表示位置、音量などを調整できる。 - [ニコ生を外部ツールで見ながら録画する](https://nico-lab.net/keep-watcing-streaming_and_record_nicolive/) - 配信形式が RTMP から HLS に変わり同じアカウントで録画しながら配信を見ると片方が止まることがあるのでそれを回避する方法。今回はTSではなくライブ配信を対象とする。使用するツールは ffmpeg と ffplay で録画しながら tee プロトコルで UDP に配信している。 - [2チャンネルの値を2次元で表示する vectorscope](https://nico-lab.net/display_vectorscope_with_ffmpeg/) - histogram に含まれていた color が個別のフィルタになり、vectorscope として独立した。現在 histogram の color は非推奨になっている。 - [vmaf スコアをインターレース解除とデノイズのフィルタを使って調べてみた](https://nico-lab.net/vmaf_score_using_deinterlace-denoise_filters/) - 比較したデインターレースフィルタは yadif, bwdif, fieldmatch, linipoldeint, cubicipoldeint, mediandeint, ffmpegdeint。比較したデノイズフィルタは hqdn3d, pp, sab, nlmeans, deblock, fftdnoiz。 - [映像、音声情報を映像に表示する graphmonitor, agraphmonitor](https://nico-lab.net/graphmonitor_agraphmonitor_with_ffmpeg/) - ffmpeg 4.1 から使えるフィルタ。フィルタ間のフレーム数、時間、解像度、フォーマット、フレームレートを映像に表示する graphmonitor, agraphmonitor フィルタの使い方。文字の描写に drawtext フィルタを使わないので、fontconfig 関係のライブラリが不要。 - [4:3を16:9に、16:9を4:3に余白をつける](https://nico-lab.net/padding_auto_aspect_ratio/) - ffmpeg に pad フィルタがあるのでこれを使って4:3を16:9に、16:9を4:3に余白をつける。コマンド例は黒映像に余白は白を足している。 - [分割画面の効果を作る](https://nico-lab.net/split_screen_effect/) - ffmpeg の geq フィルタとタイムライン編集を使って複数の分割画面の効果を作る。 - [RGB, CMYK を個別に調整できる selectivecolor](https://nico-lab.net/selectivecolor_with_ffmpeg/) - RGB を個別に明るくしたり暗くしたりできるフィルタに colorbalance があるが、この selectivecolor フィルタは RGB だけではなく CMYK にも対して明るくしたり、暗くしたり、他の色を混ぜたり出来る。ただし RGB を CMYK 形式に変換しての保存はできない。 - [ffmpeg 2.8.5 リリース](https://nico-lab.net/released_ffmpeg_2-8-5/) - [ffmpeg でモーションブラーを掛ける](https://nico-lab.net/motion_blur_with_ffmpeg/) - ffmpeg の blend フィルタを使ってモーションブラーを掛ける方法。 - [ffmpeg で後ろから読み込みが可能に](https://nico-lab.net/read_eof_with_ffmpeg/) - [ニコ生で使うデノイズフィルタの例](https://nico-lab.net/using_denoise_filter_with_ffmpeg_at_nicovile/) - 一般的に配信用途でのデノイズには hqdn3d だけが使われているが、個別のコンシューマゲームとして一番配信されている Splatoon を ffmpeg で配信するときに 384kbps の時間帯ではどうしても画質が維持できない。そこでもう一つデノイズフィルタを加えることで全体の画質を向上させてみた。 - [2020年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202004/) - 取得放送数は 522,431。 - [VLC 3.0 がリリースし ARIB 字幕や AV1 デコードに対応](https://nico-lab.net/vlc_3_0_released/) - Support output renderers, like ChromeCast, BluRay module can open ISO over network and has full BD-J support, Support for experimental AV1 video, Support for ARIB STD-B24 subtitles - [2020年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202003/) - 取得放送数は 471,250。 - [2020年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202002/) - 取得放送数は 422,419。 - [2020年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_202001/) - 取得放送数は 442,335。 - [レナ (画像データ)をffmpegで使いやすいように加工する](https://nico-lab.net/lenna_with_ffmpeg/) - 汎用サイズと胸を含めたサイズに出力。 - [2019年12月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201912/) - 取得放送数は 432,939。 - [2019年11月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201911/) - 取得放送数は 428,649。 - [PHP でニコ生アラートコメントサーバに接続する](https://nico-lab.net/php_nicolive_alerts/) - みゆっき氏の gist からサーバの接続先をアラートサーバに変更しただけ。 - [2019年10月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201910/) - 取得放送数は 437,310。 - [無人応答ファイルの設定を適用できませんでした。](https://nico-lab.net/reinstall_windows7/) - 検索して調べたところ、OSをインストールするパーティションを100GBほどに小さくするとエラーがなくなるとあるのでその通りにするとインストールできた。 - [2019年9月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201909/) - 取得放送数は 444,880。 - [2019年8月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201908/) - 取得放送数は 432,072。 - [2019年7月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201907/) - 取得放送数は 417,627。 - [2019年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201906/) - 取得放送数は 435,495。 - [ffmpeg 4.1 リリース](https://nico-lab.net/ffmpeg_4_1_released/) - 2018年11月6日に ffmpeg 4.1 al-Khwarizmi がリリースされた。今回は AV1 パーサ、AV1 のビットストリームフィルタ、libaomenc による AV1 エンコーダの tile サポート、libxavs2 による AVS2 エンコーダなどが追加されている。 - [2019年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201905/) - 取得放送数は 478,000。 - [2019年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201904/) - 取得放送数は 478,971。 - [2019年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201903/) - 取得放送数は 506,287。 - [メンテナンスのお知らせ](https://nico-lab.net/maintenance-201903/) - 明日2019年3月31日の朝10時頃からメンテナンスを行います。表示が崩れたり表示できなかったりします。終了時刻は未定です。 - [メンテナンスの顛末](https://nico-lab.net/maintenance-201904/) - 当初はスターサーバーの無料サーバーを使っていて、これをスタードメイン無料特典の無料サーバーに切り替えて、常時httpsに変更するメンテナンスを行った。サーバーが変わり容量も10GBから3GBに変更され、すべてのファイルも入れ替えとなった。 - [2019年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201902/) - 取得放送数は 454,640。 - [2019年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201901/) - 取得放送数は 497,676。 - [2018年12月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201812/) - 取得放送数は 500,219。 - [2018年11月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201811/) - 取得放送数は 493,840。 - [2018年10月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201810/) - 取得放送数は 546,305。 - [2018年9月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201809/) - 取得放送数は 549,455。 - [2018年8月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201808/) - 取得放送数は 557,871。 - [2018年7月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201807/) - 取得放送数は 568,037。 - [2018年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201806/) - 取得放送数は 572,265。 - [2018年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201805/) - 取得放送数は 639,809。 - [2018年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201804/) - 取得放送数は 624,711。 - [2018年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201803/) - 取得放送数は 699,849。 - [2018年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201802/) - 取得放送数は 639,105。 - [2018年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201801/) - 取得放送数は 601,135。 - [バンダイチャンネルの字幕を ass に変換する PHP](https://nico-lab.net/b-ch_caption_to_ass_srt/) - バンダイチャンネルの日本語字幕付き動画に表示されている字幕を普通の動画プレイヤーで見られる ass, srt と字幕だけの txt に変換する PHP。ファイル名を動画タイトルにするのが出来ていない。 - [2017年12月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201712/) - 取得放送数は 675,030。 - [2017年11月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201711/) - 取得放送数は 794,003。 - [2017年10月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201710/) - 取得放送数は 1,013,786。 - [2017年9月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201709/) - 取得放送数は 1,193,336。 - [ニコ生の非低遅延モードについて](https://nico-lab.net/nicolive_supports_not_low_latency_mode/) - 具体的には各セグメント時間が通常の新配信では0.5秒になっているのが、非低遅延モードでは1.0秒になっている。マニフェストに記載してあるセグメント数はどちらも3つなので最低でも普通の新配信は0.5*3の1.5秒。非低遅延モードの新配信は1.0*3の3秒は遅延することになる。 - [2017年8月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201708/) - 取得放送数は 1,804,802。 - [2017年7月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201707/) - 取得放送数は 2,011,626。 - [2017年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201706/) - 取得放送数は 2,071,206。 - [タイムシフトから新配信かどうかを調べる](https://nico-lab.net/check_new_nicolive_stream/) - 新配信かどうかを API などから情報を得ることが出来ず、生放送中なら視聴ページにアクセスすると live2.nicovideo.jp ドメインにリダイレクトされる。またタイムシフト期間なら放送を見て画質の悪さか,タイトル、タグからでしか新配信と判断できなかったがリダイレクトの仕様が通常配信と異なるのでこれを利用する。 - [2017年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201705/) - 取得放送数は 2,342,188。 - [2017年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201704/) - 取得放送数は 2,259,618。 - [2017年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201703/) - 取得放送数は 2,542,659。 - [2017年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201702/) - 取得放送数は 2,437,280。 - [2017年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201701/) - 取得放送数は 2,662,490。 - [2016年12月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201612/) - 取得放送数は 2,771,050。 - [新着コミュニティ一覧、レベル10以上だけ表示に](https://nico-lab.net/comu_new_list_displays_high_10_levels/) - [2016年11月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201611/) - 取得放送数は 2,827,543。 - [2016年10月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201610/) - 取得放送数は 2,970,280。 - [2016年9月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201609/) - 取得放送数は 2,843,570。 - [2016年8月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201608/) - 取得放送数は 3,089,075。 - [2016年7月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201607/) - 取得放送数は 3,054,254。 - [2016年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201606/) - 取得放送数は 3,076,002。 - [ffmpeg で Twitter で JPG に劣化させない PNG に変換する](https://nico-lab.net/convert_transparent_png_with_ffmpeg/) - 普通の PNG で投稿しても画質の悪い JPEG に変換されるのでこれを透過PNG で投稿することで PNG のまま投稿できる。 - [2016年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201605/) - 取得放送数は 3,483,579。 - [2016年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201604/) - 取得放送数は 3,267,819。 - [abemaTV の番組表 json](https://nico-lab.net/json_with_abematv_tv-program/) - [2016年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201603/) - 取得放送数は 3,509,781。 - [2016年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201602/) - 取得放送数は 3,315,756。 - [2016年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201601/) - 取得放送数は 3,453,134。 - [2015年12月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201512/) - [ニコニコチャンネルのデータ](https://nico-lab.net/nico_ch_data/) - 2015年12月30日時点の公開チャンネルのデータ - [2015年11月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201511/) - [2015年10月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201510/) - [ffmpeg 2.8.2 リリース](https://nico-lab.net/released_ffmpeg_2-8-2/) - [2015年9月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201509/) - 集計期間は週間のニコ生統計の9月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。 - [ツイキャスの高画質配信の録画方法](https://nico-lab.net/recording_hq_streaming_at_twitcasting/) - [2015年8月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201508/) - [2015年7月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201507/) - [2015年6月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201506/) - [2015年5月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201505/) - [2015年4月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201504/) - [ニコ生の公式とチャンネルのコメントサーバの仕様について](https://nico-lab.net/official_and_channel_nicolive_comments_specification/) - 2015年3月頃にニコ生のコメントサーバの仕様が変更されたのでその仕様について。新仕様ではアドレス番号とポート番号が増えて、別座席への法則が以前より複雑になり今後もアドレス番号とポート番号が増える可能性がある。 - [2015年3月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201503/) - 集計期間は週間のニコ生統計の3月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。 - [ffmpeg の -i 指定忘れで上書きされないようになる](https://nico-lab.net/do_not_overwrite_output_if_there_is_no_input/) - ffmpeg で入力ファイルの指定で -i を宣言して入力ファイルのパスを指定するが、これを忘れて指定すると今までは入力データのタイトルそのままに 0 byte の空デーに強制的に上書きされていた。これが3月29日から上書きされないように変更された。 - [2015年2月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201502/) - 集計期間は週間のニコ生統計の2月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。 - [2015年1月のニコ生統計](https://nico-lab.net/monthly_statistics_of_nicolive_201501/) - [DiXiM BD Burner 2013 で 0x80304005 エラーが出る](https://nico-lab.net/0x80304005_error/) - Logitec の USB3.0 接続の BD ドライブ LBD-PMF6U3HBKW でテレビ番組をネット経由で BD にダビングできなくなった話とその解決方法。 ## 固定ページ - [ffmpeg](https://nico-lab.net/about-ffmpeg/) - ffmpeg の基本的な使い方。 - [プロフィール](https://nico-lab.net/profile/) - [おすすめ記事](https://nico-lab.net/blog/) - [niconico](https://nico-lab.net/niconico/) - ニコニコ生放送の統計、ニコニコ生放送の録画とコメント関係、プレミアム会員のデータなど ## カテゴリー - [未分類](https://nico-lab.net/category/未分類/) - [FFmpeg](https://nico-lab.net/category/ffmpeg/) - [niconico](https://nico-lab.net/category/niconico/) - [others](https://nico-lab.net/category/others/) - [tools](https://nico-lab.net/category/tools/) - [ニコニコ動画](https://nico-lab.net/category/niconico/nicovideo/) - [ニコニコ生放送](https://nico-lab.net/category/niconico/nicolive/) - [技術書典](https://nico-lab.net/category/技術書典/) ## タグ - [alpha_channel](https://nico-lab.net/tag/alpha_channel/) - [Audio_Filters](https://nico-lab.net/tag/audio_filters/) - [demuxers](https://nico-lab.net/tag/demuxers/) - [effects](https://nico-lab.net/tag/effects/) - [encode](https://nico-lab.net/tag/encode/) - [Expression_Evaluation](https://nico-lab.net/tag/expression_evaluation/) - [Interlace](https://nico-lab.net/tag/interlace/) - [meta](https://nico-lab.net/tag/meta/) - [Multimedia_Filters](https://nico-lab.net/tag/multimedia_filters/) - [muxer](https://nico-lab.net/tag/muxer/) - [protocols](https://nico-lab.net/tag/protocols/) - [Video_Filters](https://nico-lab.net/tag/video_filters/) - [bsf_Filters](https://nico-lab.net/tag/bsf_filters/)