概要
VapourSynth 用の映像読み込みプラグイン。
ffmpeg の libavformat 等のライブラリを使って、余分な処理はせず、シンプルにフレームを読み込みます。
ffms2 (ver 2.40 時点) で、WebM (VP9) の映像が正しく読み込めなかったので作りました。
ffmpeg が読み込める動画は大体読み込めますが、フォーマット変換などの処理はしないので、ffms2 でうまく読み込めない動画で、プログレッシブかつ YUV フォーマットの場合のみ使ってください。
MP4 (H.264)、MKV (H.264)、WebM (VP9) で問題ないのを確認済み。
ffmpeg の libavformat 等のライブラリを使って、余分な処理はせず、シンプルにフレームを読み込みます。
ffms2 (ver 2.40 時点) で、WebM (VP9) の映像が正しく読み込めなかったので作りました。
ffmpeg が読み込める動画は大体読み込めますが、フォーマット変換などの処理はしないので、ffms2 でうまく読み込めない動画で、プログレッシブかつ YUV フォーマットの場合のみ使ってください。
- 入力から読み込んだイメージをそのまま渡します。
- YUV フォーマットのみ対応 (RGB は読み込めません)。
- 可変フレームレート等は考慮しません。
MP4 (H.264)、MKV (H.264)、WebM (VP9) で問題ないのを確認済み。
ソースコード
>> https://gitlab.com/azelpg/savfsource
コンパイル方法などについては、ReadMe ファイルをご覧ください。
言語 | C |
---|---|
ライセンス | MIT |
動作環境 | - Linux ほか Unix 系 OS - VapourSynth R56 以降 |
コンパイル方法などについては、ReadMe ファイルをご覧ください。
使い方
デフォルトで、/usr/local/lib/vapoursynth にインストールされます。
この場合、プラグインは自動で読み込まれないので、スクリプト内で手動で読み込んでください。
読み込み時にフォーマット変換はできないので、読み込んだ後にフォーマットを変換したい場合は、リサイズ関数を使ってください。
この場合、プラグインは自動で読み込まれないので、スクリプト内で手動で読み込んでください。
読み込み時にフォーマット変換はできないので、読み込んだ後にフォーマットを変換したい場合は、リサイズ関数を使ってください。
import vapoursynth as vs core = vs.core core.std.LoadPlugin("/usr/local/lib/vapoursynth/libsavfsource.so") # 最初の映像トラックを読み込む clip = core.savf.Source("src.mp4") # 2番目の映像トラックを読み込む #clip = core.savf.Source("src.mp4", track=2) # フォーマットを変換する #clip = core.resize.Point(clip,format=vs.YUV444P8) clip.set_output()