mp4, mp3 にカバーアートを付ける

カバーアートを付けるとエクスプローラにサムネイルが表示、変更できる。

H.264 だとサムネイルが表示されるが、H.265 だと表示されないのがこれで表示できる。サムネイルは PNG でも可能。
ffmpeg -i movie.mp4 -i thumb.jpg -disposition:v:1 attached_pic -map 0 -map 1 -c copy movie-with-cover.mp4

MP3 の場合。
ffmpeg -i audio.mp3 -i thumb.jpg -disposition:v:1 attached_pic -map 0 -map 1 -c copy -id3v2_version 3 -metadata:s:v title="Album cover" -metadata:s:v comment="Cover (front)" audio-with-cover.mp3

ffmpeg でメタデータを加える | ニコラボ
albumart – How to add album art with ffmpeg? – Stack Overflow

disposition の設定
音声が2つ以上あるときに再生したとき最初に流れる音声を代えられる。ただし MKV コンテナに限る。

2番目の音声を最初に再生するコマンド例。
ffmpeg -i movie.mp4 -map 0:v -map 0:a -c copy -disposition:a:0 0 -disposition:a:1 default output.mkv

ffmpeg Documentation
-disposition[:stream_specifier] value (output,per-stream)
具体的にそれぞれにどのような効果があるのか分からない。

  • default
  • dub
  • original
  • comment
  • lyrics
  • karaoke
  • forced
  • hearing_impaired
  • visual_impaired
  • clean_effects
  • attached_pic
  • captions
  • descriptions
  • dependent
  • metadata

2019年2月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

2018年9月25日から2018年10月1日までの間、ログイン不要で生放送が見られるようになっているのでいつも以上に来場者数が多くなっている。

【10/1更新】【ニコニコ生放送】来場者数集計方法変更のお知らせ|ニコニコインフォ

Continue reading “2019年2月のニコ生統計”

リサイズする scale

標準で使える scale フィルタの使い方。外部ライブラリに zscale フィルタがありこちらは HDR、高品質リサイズ向けで処理速度は scale フィルタより速くない。

Zライブラリを使ったリサイズフィルタ zscale

Continue reading “リサイズする scale”

映像の上に映像をのせる overlay

映像を重ねてワイプを作ったり、重ねた映像を動かしたりできる overlay フィルタの使い方。重ねる映像は動画と画像どちらもできる。重ねる映像の解像度が背景となる映像よりも小さくなければならない。

Continue reading “映像の上に映像をのせる overlay”

RGB の色味を手軽に調整できる vibrance

RGB それぞれの色を強く、弱く、反転できる vibrance フィルタの使い方。他にも似たフィルタがあるが、輝度係数の指定があるのが特徴。

基本コマンド

intensity を上げて RGB を同じようにコントラストを上げる
ffmpeg -i input -vf vibrance=intensity=0.5:rbal=1:gbal=1:bbal=1 output
ffplay -i input -vf vibrance=0.5:1:1:1

公式ドキュメント:FFmpeg Filters Documentation : vibrance

Continue reading “RGB の色味を手軽に調整できる vibrance”

異なる fps を連結して VFR の動画にする

今まで ffmpeg は異なるフレームレートの動画を1つに出力するのはできないと思っていたが、あらかじめ異なるフレームレートにエンコードしておいて、その後に連結すれば VFR の動画になる。

方法は以前書いた demuxer の concat を使えば楽に VFR の動画になる。注意点は映像音声ともに同じコーデックで同じエンコード設定、音声は同じサンプリング数であること。ただし動画によっては「Non-monotonous DTS in output stream 0:0」のエラーが出るが再生して問題なかったら気にしない。

concat を使い分ける
【ffmpeg】動画・音声を連結する concat の使い方 其の3
再エンコードせずに fps を変更する
ffmpeg で使える映像のテストソース

ffmpeg -f concat -safe 0 -i 24-30.txt -c copy vfr.mp4

24-30.txt

file 24p.mp4
file 30p.mp4
file 24p.mp4

Continue reading “異なる fps を連結して VFR の動画にする”

ffmpeg でダウンロード速度を制限する

よく使われるのがリアルタイムの re であるが、それだと1倍速にしかならないので音声の PTS を加工して速度を調整する。

本来のダウンロード速度は制限前より高速であることが前提である。倍速の逆数に asetpts フィルタで変更し arealtime フィルタでリアルタイム処理にする。

1.1倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=10*PTS/11,arealtime -vn -f null -

1.5倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=2*PTS/3,arealtime -vn -f null -

2倍速の例
ffmpeg -i "https://example.com/hls/playlist.m3u8" -c copy output.ts -af asetpts=PTS/2,arealtime -vn -f null -

映像を任意の角度に回転させる rotate

任意の角度に回転でき、時間経過で回転させたり止めたりできる rotate フィルタの使い方。似たフィルタに transpose, hflip, vflip フィルタがある。

上下左右を入れ換える vflip, hflip
ピクセル数はそのままに映像を回転させる transpose

Continue reading “映像を任意の角度に回転させる rotate”

上下左右を入れ換える vflip, hflip

解像度はそのままに上下左右を入れ換える vflip, hflip フィルタの使い方。似たフィルタに rotate, transpose フィルタがある。

映像を任意の角度に回転させる rotate
ピクセル数はそのままに映像を回転させる transpose

Continue reading “上下左右を入れ換える vflip, hflip”

ピクセル数はそのままに映像を回転させる transpose

ピクセル数はそのままなので、1280X720 だと、90度回転すると 720X1280 になる。似たフィルタに rotate, hflip, vflip フィルタがある。

映像を任意の角度に回転させる rotate
上下左右を入れ換える vflip, hflip

Continue reading “ピクセル数はそのままに映像を回転させる transpose”