ニコニコ動画やニコニコ生放送のコメントを映像の上にオーバーレイ表示するプラグイン。アンケートの表示は対応予定。ue shita big smallなどのコマンドは未対応。ffmpeg は--enable-avisynthで avisynth に対応し、--enable-vapoursynthで vapoursynth に対応している。avisynth は多くの配布バイナリで対応しているが、vapoursynth の対応バイナリはおそらく配布していない。

hetima/AviSynthNicoComment: ニコ生のコメントを表示する AviSynth プラグインです。

AviUtl にもコメントを流すプラグインがある。
【AviUtl】ニコ生のコメントを読み込ませるプラグイン:人生プレイ裏話「今回でクリアします!」 – ブロマガ : archive.org
ニコニココメント読込.zip ダウンロードページ – FC2 WIKI(ウィキ) 無料WIKIレンタル

avisynth の利用環境をそろえる

AviSynthPlus 本体のダウンロード。Assets から、インストーラーか、filesonlyを使う。
Releases · AviSynth/AviSynthPlus

filesonly を使うなら「2019 用 Visual C++ 再頒布可能パッケージ」をインストールして再起動する。通常は「x64: vc_redist.x64.exe」をダウンロード。
最新のサポートされる Visual C++ のダウンロード

入力プラグイン L-SMASH-Works をダウンロード。
https://github.com/HolyWu/L-SMASH-Works/releases:レポジトリが消滅

開発が止まっているので続いているの。
Forks · VFR-maniac/L-SMASH-Works · GitHub
GitHub – AkarinVS/L-SMASH-Works
GitHub – Mr-Ojii/L-SMASH-Works

コメント表示して再生する

ffmpeg.exe、AviSynth.dll、LSMASHSource.dll、movie.mp4、comment.xml を同じ場所において、input.avs を例に以下のように記述する。

LoadPlugin("LSMASHSource.dll")
LoadPlugin("AviSynthNicoComment.dll")
videoPath = "movie.mp4"
commentPath = "comment.xml"
src = LSMASHVideoSource(videoPath)
video = AudioDub(src, LSMASHAudioSource(videoPath))
comment = NicoComment(video, file=commentPath, row=48, shift=0)
Overlay(video, comment, mask=comment.ShowAlpha("rgb"))

ファイルは H.264/AAC の MP4 を入力する。ニコニコ生放送のデータは TS ファイルなので MP4 に入れ替える。
ffmpeg -i input.ts -c copy movie.mp4

再生コマンド。
ffplay -i input.avs

ffmpeg のフィルタで倍速再生する。
ffplay -i input.avs -vf setpts=(PTS-STARTPTS)/2 -af atempo=2

倍速再生するなら。setpts、atempoフィルタなどを使う。
映像と音声の pts を扱う setpts, asetpts

映像だけ AviSynth で読み込み、音声はコピーして映像を libx264 でエンコードする。

LoadPlugin("LSMASHSource.dll")
LoadPlugin("AviSynthNicoComment.dll")
videoPath = "movie.mp4"
commentPath = "comment.xml"
video = LSMASHVideoSource(videoPath)
comment = NicoComment(video, file=commentPath, row=48, shift=0)
Overlay(video, comment, mask=comment.ShowAlpha("rgb"))

ffmpeg -i input.avs -i movie.mp4 -map 0:v -map 1:a -c:v libx264 -c:a copy output.mp4

普通に映像と音声を読み込む。

LoadPlugin("LSMASHSource.dll")
videoPath = "movie.mp4"
src = LSMASHVideoSource(videoPath)
AudioDub(src, LSMASHAudioSource(videoPath))

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)